1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-09-29 03:56:15 +00:00
kickc/src/test/ref/clobber-a-problem.cfg
2020-05-02 11:38:51 +02:00

41 lines
1.3 KiB
INI

@begin: scope:[] from
[0] phi()
to:@1
@1: scope:[] from @begin
[1] (volatile byte) irq_raster_next ← (byte) 0
to:@2
@2: scope:[] from @1
[2] phi()
[3] call main
to:@end
@end: scope:[] from @2
[4] phi()
(void()) main()
main: scope:[main] from @2
[5] *((const nomodify void()**) KERNEL_IRQ) ← &interrupt(HARDWARE_CLOBBER)(void()) irq()
to:main::@return
main::@return: scope:[main] from main
[6] return
to:@return
interrupt(HARDWARE_CLOBBER)(void()) irq()
irq: scope:[irq] from
[7] *((const byte*) BORDER_COLOR) ← (const byte) DARK_GREY
[8] (volatile byte) irq_raster_next ← (volatile byte) irq_raster_next + (byte) $15
[9] (byte) irq::raster_next#0 ← (volatile byte) irq_raster_next
[10] (byte~) irq::$0 ← (byte) irq::raster_next#0 & (byte) 7
[11] if((byte~) irq::$0!=(byte) 0) goto irq::@1
to:irq::@2
irq::@2: scope:[irq] from irq
[12] (byte) irq::raster_next#1 ← (byte) irq::raster_next#0 - (byte) 1
to:irq::@1
irq::@1: scope:[irq] from irq irq::@2
[13] (byte) irq::raster_next#2 ← phi( irq/(byte) irq::raster_next#0 irq::@2/(byte) irq::raster_next#1 )
[14] *((const byte*) RASTER) ← (byte) irq::raster_next#2
[15] *((const byte*) BORDER_COLOR) ← (const byte) BLACK
to:irq::@return
irq::@return: scope:[irq] from irq::@1
[16] return
to:@return