Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,3 @@
|
|||
sp+0 = argc
|
||||
sp+8 = argv[0]
|
||||
sp+16 = argv[1] ...
|
||||
44
Task/Program-name/AArch64-Assembly/program-name-2.aarch64
Normal file
44
Task/Program-name/AArch64-Assembly/program-name-2.aarch64
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
.equ STDOUT, 1
|
||||
.equ SVC_WRITE, 64
|
||||
.equ SVC_EXIT, 93
|
||||
|
||||
.text
|
||||
.global _start
|
||||
|
||||
_start:
|
||||
stp x29, x30, [sp, -16]!
|
||||
mov x29, sp
|
||||
ldr x0, [sp, 24] // argv[0]
|
||||
bl _strlen // strlen(argv[0])
|
||||
mov x2, x0
|
||||
mov x0, #STDOUT
|
||||
ldr x1, [sp, 24]
|
||||
bl _write // write(stdout, argv[0], strlen(argv[0]))
|
||||
ldp x29, x30, [sp], 16
|
||||
mov x0, #0
|
||||
b _exit // exit(0);
|
||||
|
||||
// ssize_t _strlen(const char *str)
|
||||
_strlen:
|
||||
mov x1, x0
|
||||
mov x0, #-1
|
||||
1: add x0, x0, #1
|
||||
ldrb w2, [x1, x0]
|
||||
cbnz x2, 1b
|
||||
ret
|
||||
|
||||
.text
|
||||
//////////////// system call wrappers
|
||||
// ssize_t _write(int fd, void *buf, size_t count)
|
||||
_write:
|
||||
stp x29, x30, [sp, -16]!
|
||||
mov x8, #SVC_WRITE
|
||||
mov x29, sp
|
||||
svc #0
|
||||
ldp x29, x30, [sp], 16
|
||||
ret
|
||||
|
||||
// void _exit(int retval)
|
||||
_exit:
|
||||
mov x8, #SVC_EXIT
|
||||
svc #0
|
||||
Loading…
Add table
Add a link
Reference in a new issue