1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
        .machine ppc
        .globl _main

_main:
        lis     r4, ha16(msg)
        addi    r4, r4, lo16(msg)
        li      r3, 1           ; stdout                                          
        lis     r5, ha16(msg_len)
        addi    r5, r5, lo16(msg_len)
        li      r0, 4           ; sys_write                                       
        sc                      ; system call                                     

        li      r3, 0
        li      r0, 1           ; sys_exit                                        
        sc

        .data
        .align  2

msg:
        .asciz  "Hello, world!\n"
        msg_len = . - msg - 1