| /* 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 |