.text
.global main
.align 16
main:
_main:
call map_registers
# load up the sad message in case this doesn't work...
leaq old(%rip), %rsi
xor %ecx, %ecx
movq $1, 56 # set the write fd to 1 (stdout)
leaq new(%rip), %rsp
mov %rsp, 48 # set the message pointer in rsi
movq $32, 16 # set the message length in rdx
movq $1, 0 # set `write` as the syscall number
syscall
movq $60, 0 # syscall = NR_exit
movq $0, 56 # err = 0
syscall
.data
old:
.ascii "it didn't work :( \n"
new:
.ascii "memory-mapped registers work!\n"