.data ; section declaration - variables only msg: .ascii "Hello, world!\n\0" len = . - msg ; length of our dear string .text ; section declaration - begin code .globl _main _main: # write our string to stdout li r0, 4 ; syscall number (sys_write) li r3, 1 ; first argument: file descriptor (stdout) ; second argument: pointer to message to write lis r4, ha16(msg); load top 16 bits of &msg addi r4, r4,lo16(msg) ; load bottom 16 bits li r5, len ; third argument: message length sc ; call kernel # and exit li r0, 1 ; syscall number (sys_exit) li r3, 1 ; first argument: exit code sc ; call kernel