LibAsm/driver/alloca_driver.S
2025-01-24 18:55:26 +00:00

39 lines
858 B
ArmAsm

.include "lib/alloca.S"
.text
.globl _start
_start:
# Could just use push, but this also works.
alloca 16
mov byte ptr [rsp+15], 10
mov byte ptr [rsp+14], 33
mov byte ptr [rsp+13], 100
mov byte ptr [rsp+12], 108
mov byte ptr [rsp+11], 114
mov byte ptr [rsp+10], 111
mov byte ptr [rsp+9], 119
mov byte ptr [rsp+8], 32
mov byte ptr [rsp+7], 44
mov byte ptr [rsp+6], 111
mov byte ptr [rsp+5], 108
mov byte ptr [rsp+4], 108
mov byte ptr [rsp+3], 101
mov byte ptr [rsp+2], 72
# Can't move imm64 to memory directly, so have to copy to register first!
# mov rax, 729975031549884192
# mov qword ptr [rsp+8], rax
# mov rax, 48857072035144
# mov qword ptr [rsp], rax
mov rax, 1
mov rdi, 1
lea rsi, [rsp]
mov rdx, 15
syscall
mov rax, 60
mov rdi, 0
syscall