# MACRO: outc # Write byte to stdout .macro outc ch ldi r16, \ch out 0x32, r16 .endm # MACRO: exit .macro exit nr ldi r16, \nr out 0x2f, r16 .endm # MACRO: pass # Write 'pass' to stdout and quit .macro pass outc 'p' outc 'a' outc 's' outc 's' outc '\n' exit 0 .endm # MACRO: fail # Write 'fail' to stdout and quit .macro fail outc 'f' outc 'a' outc 'i' outc 'l' outc '\n' exit 1 .endm # MACRO: start # All assembler tests should start with a call to "start" .macro start .text .global _start _start: .endm