Files
eth-summaries/semester3/spca/code-examples/01_asm/01_sum.s
2026-01-10 17:29:22 +01:00

13 lines
737 B
ArmAsm

sum: // Label
endbr64 // Indirect Branch target (No effect on code's logic)
pushq %rbp // Preserve caller stack frame
movq %rsp, %rbp // Set up new stack frame
movl %edi, -20(%rbp) // Arg1 register -> stack
movl %esi, -24(%rbp) // Arg2 register -> stack
movl -20(%rbp), %edx // stack[Arg1] -> gp register
movl -24(%rbp), %eax // stack[Arg2] -> gp register
addl %edx, %eax // Add Arg1 + Arg2 -> gp register
movl %eax, -4(%rbp) // result -> stack
movl -4(%rbp), %eax // stack[result] -> return register
popq %rbp // Restore caller stack frame
ret // jump back to caller