lab3: dopisane sufiksy w wersji rejestrowej (dla formalności)
This commit is contained in:
+13
-13
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user