.globl fibo # C-signatur:int fibo ()
fibo: # Standard
# %r10 = R0, %r11 = R1, etc.
mov $3, %r12 # 1 -> 1, 2 -> 5, 3 -> 13 ... mov $1, %r10 # 1 -> r10, første fibonacci-tall mov $1, %r11 # 1 -> r11, siste tall så langt i fibonacci-rekken mov $0, %r13 # 0 -> r13, teller
# løkke start: # label add %r11, %r10 # r10 = r10 + r11, r10 er nå siste tall i rekken add %r10, %r11 # r11 er nå igjen siste tall i rekken og vi kan hoppe inc %r13 cmp %r12, %r13 # compare, er r13 lik max? jne start # Jump Not Equal til start: mov %r10,%rax # Skriver ut r10, slik at det blir 13 (21 for stort....) ret # Verdien i rax returneres
|