mirror of
https://github.com/pkivolowitz/asm_book.git
synced 2026-06-21 02:06:48 +08:00
18 lines
529 B
ArmAsm
18 lines
529 B
ArmAsm
.global _main
|
|
|
|
_main:
|
|
stp x21, x30, [sp, -16]! // push onto stack
|
|
mov x21, x1 // argc -> x0, argv -> x1
|
|
|
|
top:
|
|
ldr x0, [x21], 8 // argv++, old value in x0
|
|
cbz x0, bottom // if *argv == NULL goto bottom
|
|
bl _puts // puts(*argv)
|
|
b top // goto top
|
|
|
|
bottom:
|
|
ldp x21, x30, [sp], 16 // pop from stack
|
|
mov x0, xzr // return 0
|
|
ret
|
|
|
|
.end
|