| |
| ;; Print "pass\n" and 'exit 0' |
| .macro pass |
| .data |
| mpass: |
| .string "pass\n" |
| .text |
| _pass: |
| mov %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 |