# MACRO: exit .macro exit nr ldd # \nr # The debug insn class. .byte 0xcd # The exit utility function. .byte 0x03 .endm # MACRO: pass # Write 'pass' to stdout and quit .macro pass # Point to the string. # NB: See comment above _pass below. ldx #0x8000 # Number of bytes to write. ldd #5 # The debug insn class. .byte 0xcd # The write utility function. .byte 0x01 exit 0 .endm # MACRO: ffail # Write 'ffail' to stdout and quit # Normally this would be 'fail', but m68k has a pseudo "fail" op. .macro ffail # Point to the string. ldx #0x8006 # Number of bytes to write. ldd #5 # The debug insn class. .byte 0xcd # The write utility function. .byte 0x01 exit 0 .endm # MACRO: start # All assembler tests should start with a call to "start" .macro start .text # These need to be at the start of text as it's the only stable address. # The sim will load all sections starting at the .text address and ignore # the addresses for the other sections. _pass: .asciz "pass\n" _fail: .asciz "fail\n" .global _start _start: .endm