/* Print "pass\n" and 'exit 0'  */
    .macro      pass
    .data
mpass:
    .string "pass\n"
    .text
_pass:
    lddw        %r1, mpass      /* point to "pass\n" string */
    mov         %r2, 5          /* strlen mpass */
    call        7               /* printk */
    mov         %r0, 0
    exit                        /* exit 0 */
    .endm

/* MACRO fail
   Exit with status 1 */
    .macro fail
    mov %r0, 1
    exit
    .endm

/* MACRO fail_ne32
   Exit with status 1 if \reg32 != \val */
    .macro      fail_ne32 reg val
    jeq32       \reg, \val, 2
    mov         %r0, 1
    exit
    .endm

/* MACRO fail_ne
   Exit with status1 if \reg ne \val */
    .macro      fail_ne reg val
    lddw        %r0, \val
    jeq         \reg, %r0, 2
    mov         %r0, 1
    exit
    .endm