Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .globl sum
- # C-signatur:int sum ()
- # 64 bit assembly
- # b = byte (8 bit)
- # w = word (16 bit, 2 bytes)
- # l = long (32 bit, 4 bytes)
- # q = quad (64 bit, 8 bytes)
- # Opprinnelige 16bits registere: ax, bx, cx, dx
- # ah, al 8 bit
- # ax 16 bit
- # eax 32 bit
- # rax 64 bit
- sum: # Standard
- mov $2, %rcx # 3 -> rcx, maks i løkke
- mov $1, %rdx # 1 -> rdx, tallet i økes med for hver runde
- mov $0, %rbx # 0 -> rbx, variabelen i lagres i rbx
- mov $0, %rax # 0 -> rax, summen = S
- mov $2, %rdi
- # løkke
- start: # label
- add %rdx, %rbx # rbx = rbx + rdx (i++)
- add %rdi, %rax # rax = rax + rdi (S = S + 2)
- cmp %rcx, %rbx # compare, er i = 3?
- jne start # Jump Not Equal til start:
- ret # Verdien i rax returneres
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement