lab3: dopisane sufiksy w wersji rejestrowej (dla formalności)

This commit is contained in:
Jan Potocki
2019-06-01 20:17:10 +02:00
parent 23a56e4fb5
commit db8fe61fc3
+13 -13
View File
@@ -60,27 +60,27 @@ popq %rdi # Przywrocenie wartosci rejestru rdi
movq $2, %rcx # Mnozenie 2. wyrazu przez 2
mulq %rcx
sub %rax, %rbx # Obliczenie roznicy
subq %rax, %rbx # Obliczenie roznicy
# Zwrocenie wyniku obliczen (przez rejestr rax, zgodnie z konwencja) i wyjscie
mov %rbx, %rax
movq %rbx, %rax
jmp fun_end
# Zwrocenie wynikow dla poczatkowych wyrazow (przez rejestr rax)
x0:
mov $2, %rax
movq $2, %rax
jmp fun_end
x1:
mov $1, %rax
movq $1, %rax
jmp fun_end
x2:
mov $3, %rax
movq $3, %rax
fun_end:
pop %rbx # Przywrocenie wartosci rejestru rbx
pop %rbp # Wyjscie z funkcji
popq %rbx # Przywrocenie wartosci rejestru rbx
popq %rbp # Wyjscie z funkcji
ret
main:
@@ -89,13 +89,13 @@ call fun # Wywolanie funkcji rekurencyjnej
movq %rax, num # Zapisanie w pamieci wyniku zwroconego przez rax
# Wypisanie wyniku
mov $SYSWRITE, %rax
mov $STDOUT, %rdi
mov $num, %rsi
mov $n_size, %rdx
movq $SYSWRITE, %rax
movq $STDOUT, %rdi
movq $num, %rsi
movq $n_size, %rdx
syscall
# Koniec programu
mov $SYSEXIT, %rax
mov $0, %rdi
movq $SYSEXIT, %rax
movq $0, %rdi
syscall