nuclear@0: | vi:filetype=gas68k: nuclear@0: .text nuclear@0: nuclear@0: .equ REG_COL0, 0xdff180 nuclear@0: nuclear@0: .global start nuclear@0: .global halt_cpu nuclear@0: nuclear@0: start: nuclear@0: | zero the .bss section nuclear@0: move.l #_bss_start, %a0 nuclear@0: move.l #_bss_end, %a1 nuclear@0: cmp.l %a0, %a1 nuclear@0: beq.s 1f | skip zeroing if the section is empty nuclear@0: 0: clr.l (%a0)+ nuclear@0: cmp.l %a0, %a1 nuclear@0: bne.s 0b nuclear@0: 1: nuclear@0: | setup the stack nuclear@0: move.l #_stacktop, %sp nuclear@0: nuclear@0: | test output nuclear@0: move.w #0xf0f, REG_COL0 nuclear@0: 0: bra.b 0b | infloop nuclear@0: nuclear@0: halt_cpu: nuclear@0: stop #0x2700