1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-06-03 07:29:37 +00:00
kickc/src/test/ref/irq-hardware-clobber-jsr.cfg
2024-01-02 19:21:16 +01:00

36 lines
867 B
INI

__interrupt(hardware_clobber) void irq()
irq: scope:[irq] from
[0] phi()
[1] call do_irq
to:irq::@return
irq::@return: scope:[irq] from irq
[2] return
to:@return
void main()
main: scope:[main] from
asm { sei }
[4] *PROCPORT_DDR = PROCPORT_DDR_MEMORY_MASK
[5] *PROCPORT = PROCPORT_RAM_IO
[6] *((char *)CIA1+OFFSET_STRUCT_MOS6526_CIA_INTERRUPT) = CIA_INTERRUPT_CLEAR_ALL
[7] *VICII_CONTROL1 = *VICII_CONTROL1 | $80
[8] *RASTER = 0
[9] *IRQ_ENABLE = IRQ_RASTER
[10] *HARDWARE_IRQ = &irq
asm { cli }
to:main::@1
main::@1: scope:[main] from main main::@1
[12] *BORDER_COLOR = ++ *BORDER_COLOR
to:main::@1
void do_irq()
do_irq: scope:[do_irq] from irq
[13] *BG_COLOR = WHITE
[14] *BG_COLOR = BLACK
[15] *IRQ_STATUS = IRQ_RASTER
to:do_irq::@return
do_irq::@return: scope:[do_irq] from do_irq
[16] return
to:@return