I vibecoded this. LLMs can write Assembly.
.global _main
.align 2
.text
_main:
// Standard macOS ARM64 stack frame
stp x29, x30, [sp, #-16]!
mov x29, sp
// print_char('A')
mov w0, #'A'
bl _print_char
// Return 0
mov w0, #0
// Restore frame
ldp x29, x30, [sp], #16
ret
// void print_char(char c)
// Character passed in w0
_print_char:
// Create stack frame
stp x29, x30, [sp, #-16]!
mov x29, sp
// Save the character to our stack buffer
strb w0, [sp, #-1]!
// write(1, sp, 1)
mov x0, #1 // file descriptor: stdout
mov x1, sp // buffer
mov x2, #1 // length
mov x16, #4 // write syscall
svc #0x80
// Restore stack
add sp, sp, #1
// Restore frame
ldp x29, x30, [sp], #16
ret