Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Pong.ic
- // This is an interpreted translation of the supplied Pong from project 11. It includes the supplied OS as well.
- module "Array"
- function "Array.new" 0
- d_load arg 0
- jumpif_d gt -> Array.new$IF_FALSE0
- push_c 2
- call "Sys.error" 1
- -- (Array.new$IF_FALSE0)
- d_load arg 0
- push_d
- call "Memory.alloc" 1
- return
- function "Array.dispose" 0
- d_load arg 0
- copy_d ptr 0
- push_d
- call "Memory.deAlloc" 1
- return
- module "Ball"
- function "Ball.new" 0
- push_c 15
- call "Memory.alloc" 1
- d_load ret
- copy_d ptr 0
- d_load arg 0
- copy_d this 0
- d_load arg 1
- copy_d this 1
- d_load arg 2
- copy_d this 10
- d_load arg 3 [+65530]
- copy_d this 11
- d_load arg 4
- copy_d this 12
- d_load arg 5 [+65530]
- copy_d this 13
- copy_c 0, this 14
- d_load ptr 0
- push_d
- call "Ball.show" 1
- d_load ptr 0
- copy_d ret
- return
- function "Ball.dispose" 0
- d_load arg 0
- copy_d ptr 0
- push_d
- call "Memory.deAlloc" 1
- return
- function "Ball.show" 0
- d_load arg 0
- copy_d ptr 0
- push_c 65535
- call "Screen.setColor" 1
- d_load ptr 0
- push_d
- call "Ball.draw" 1
- return
- function "Ball.hide" 0
- d_load arg 0
- copy_d ptr 0
- push_c 0
- call "Screen.setColor" 1
- d_load ptr 0
- push_d
- call "Ball.draw" 1
- return
- function "Ball.draw" 0
- d_load arg 0
- copy_d ptr 0
- d_load this 0
- push_d
- d_load this 1
- push_d
- d_load this 0 [+5]
- push_d
- d_load this 1 [+5]
- push_d
- call "Screen.drawRectangle" 4
- return
- function "Ball.getLeft" 0
- d_load arg 0
- copy_d ptr 0
- d_load this 0
- copy_d ret
- return
- function "Ball.getRight" 0
- d_load arg 0
- copy_d ptr 0
- d_load this 0 [+5]
- copy_d ret
- return
- function "Ball.setDestination" 3
- d_load arg 0
- copy_d ptr 0
- d_load arg 1
- d_sub this 0
- copy_d this 2
- d_load arg 2
- d_sub this 1
- copy_d this 3
- d_load this 2
- push_d
- call "Math.abs" 1
- d_load ret
- copy_d lcl 0
- d_load this 3
- push_d
- call "Math.abs" 1
- d_load ret
- copy_d lcl 1
- d_load lcl 0
- d_sub lcl 1
- d_comp lt
- copy_d this 7
- jumpif_d eq -> Ball.setDestination$IF_FALSE0
- d_load lcl 0
- copy_d lcl 2
- d_load lcl 1
- copy_d lcl 0
- d_load lcl 2
- copy_d lcl 1
- d_load this 1
- d_sub arg 2
- d_comp lt
- copy_d this 8
- d_load this 0
- d_sub arg 1
- d_comp lt
- copy_d this 9
- jump -> Ball.setDestination$IF_END0
- -- (Ball.setDestination$IF_FALSE0)
- d_load this 0
- d_sub arg 1
- d_comp lt
- copy_d this 8
- d_load this 1
- d_sub arg 2
- d_comp lt
- copy_d this 9
- -- (Ball.setDestination$IF_END0)
- push_c 2
- d_load lcl 1
- push_d
- call "Math.multiply" 2
- d_load ret
- d_sub lcl 0
- copy_d this 4
- push_c 2
- d_load lcl 1
- push_d
- call "Math.multiply" 2
- d_load ret
- copy_d this 5
- push_c 2
- d_load lcl 1
- d_sub lcl 0
- push_d
- call "Math.multiply" 2
- d_load ret
- copy_d this 6
- return
- function "Ball.move" 0
- d_load arg 0
- copy_d ptr 0
- push_d
- call "Ball.hide" 1
- d_load this 4
- jumpif_d ge -> Ball.move$IF_FALSE0
- d_load this 5
- m_add this 4
- jump -> Ball.move$IF_END0
- -- (Ball.move$IF_FALSE0)
- d_load this 6
- m_add this 4
- d_load this 9
- jumpif_d eq -> Ball.move$IF_FALSE1
- d_load this 7
- jumpif_d eq -> Ball.move$IF_FALSE2
- m_op this 0 [+4]
- jump -> Ball.move$IF_END2
- -- (Ball.move$IF_FALSE2)
- m_op this 1 [+4]
- -- (Ball.move$IF_END2)
- jump -> Ball.move$IF_END1
- -- (Ball.move$IF_FALSE1)
- d_load this 7
- jumpif_d eq -> Ball.move$IF_FALSE3
- m_op this 0 [+65532]
- jump -> Ball.move$IF_END3
- -- (Ball.move$IF_FALSE3)
- m_op this 1 [+65532]
- -- (Ball.move$IF_END3)
- -- (Ball.move$IF_END1)
- -- (Ball.move$IF_END0)
- d_load this 8
- jumpif_d eq -> Ball.move$IF_FALSE4
- d_load this 7
- jumpif_d eq -> Ball.move$IF_FALSE5
- m_op this 1 [+4]
- jump -> Ball.move$IF_END5
- -- (Ball.move$IF_FALSE5)
- m_op this 0 [+4]
- -- (Ball.move$IF_END5)
- jump -> Ball.move$IF_END4
- -- (Ball.move$IF_FALSE4)
- d_load this 7
- jumpif_d eq -> Ball.move$IF_FALSE6
- m_op this 1 [+65532]
- jump -> Ball.move$IF_END6
- -- (Ball.move$IF_FALSE6)
- m_op this 0 [+65532]
- -- (Ball.move$IF_END6)
- -- (Ball.move$IF_END4)
- d_load this 0
- d_sub this 10
- jumpif_d gt -> Ball.move$IF_FALSE7
- copy_c 1, this 14
- d_load this 10
- copy_d this 0
- -- (Ball.move$IF_FALSE7)
- d_load this 0
- d_sub this 11
- jumpif_d lt -> Ball.move$IF_FALSE8
- copy_c 2, this 14
- d_load this 11
- copy_d this 0
- -- (Ball.move$IF_FALSE8)
- d_load this 1
- d_sub this 12
- jumpif_d gt -> Ball.move$IF_FALSE9
- copy_c 3, this 14
- d_load this 12
- copy_d this 1
- -- (Ball.move$IF_FALSE9)
- d_load this 1
- d_sub this 13
- jumpif_d lt -> Ball.move$IF_FALSE10
- copy_c 4, this 14
- d_load this 13
- copy_d this 1
- -- (Ball.move$IF_FALSE10)
- d_load ptr 0
- push_d
- call "Ball.show" 1
- d_load this 14
- copy_d ret
- return
- function "Ball.bounce" 5
- d_load arg 0
- copy_d ptr 0
- d_load this 2
- push_d
- push_c 10
- call "Math.divide" 2
- d_load ret
- copy_d lcl 2
- d_load this 3
- push_d
- push_c 10
- call "Math.divide" 2
- d_load ret
- copy_d lcl 3
- d_load arg 1
- jumpif_d ne -> Ball.bounce$IF_FALSE0
- copy_c 10, lcl 4
- jump -> Ball.bounce$IF_END0
- -- (Ball.bounce$IF_FALSE0)
- d_load this 2
- d_comp ge
- push_d
- d_load arg 1 [+65535]
- d_comp eq
- d_and pop
- push_d
- d_load this 2
- d_comp lt
- push_d
- d_load arg 1 [+1]
- d_comp eq
- d_and pop
- d_or pop
- jumpif_d eq -> Ball.bounce$IF_FALSE1
- copy_c 20, lcl 4
- jump -> Ball.bounce$IF_END1
- -- (Ball.bounce$IF_FALSE1)
- copy_c 5, lcl 4
- -- (Ball.bounce$IF_END1)
- -- (Ball.bounce$IF_END0)
- d_load this 14 [+65535]
- jumpif_d ne -> Ball.bounce$IF_FALSE2
- copy_c 506, lcl 0
- d_load lcl 3
- push_d
- push_c 65486
- call "Math.multiply" 2
- d_load ret
- push_d
- d_load lcl 2
- push_d
- call "Math.divide" 2
- d_load ret
- copy_d lcl 1
- d_load this 1
- push_d
- d_load lcl 1
- push_d
- d_load lcl 4
- push_d
- call "Math.multiply" 2
- d_load ret
- d_add pop
- copy_d lcl 1
- jump -> Ball.bounce$IF_END2
- -- (Ball.bounce$IF_FALSE2)
- d_load this 14 [+65534]
- jumpif_d ne -> Ball.bounce$IF_FALSE3
- copy_c 0, lcl 0
- d_load lcl 3
- push_d
- push_c 50
- call "Math.multiply" 2
- d_load ret
- push_d
- d_load lcl 2
- push_d
- call "Math.divide" 2
- d_load ret
- copy_d lcl 1
- d_load this 1
- push_d
- d_load lcl 1
- push_d
- d_load lcl 4
- push_d
- call "Math.multiply" 2
- d_load ret
- d_add pop
- copy_d lcl 1
- jump -> Ball.bounce$IF_END3
- -- (Ball.bounce$IF_FALSE3)
- d_load this 14 [+65533]
- jumpif_d ne -> Ball.bounce$IF_FALSE4
- copy_c 250, lcl 1
- d_load lcl 2
- push_d
- push_c 65511
- call "Math.multiply" 2
- d_load ret
- push_d
- d_load lcl 3
- push_d
- call "Math.divide" 2
- d_load ret
- copy_d lcl 0
- d_load this 0
- push_d
- d_load lcl 0
- push_d
- d_load lcl 4
- push_d
- call "Math.multiply" 2
- d_load ret
- d_add pop
- copy_d lcl 0
- jump -> Ball.bounce$IF_END4
- -- (Ball.bounce$IF_FALSE4)
- copy_c 0, lcl 1
- d_load lcl 2
- push_d
- push_c 25
- call "Math.multiply" 2
- d_load ret
- push_d
- d_load lcl 3
- push_d
- call "Math.divide" 2
- d_load ret
- copy_d lcl 0
- d_load this 0
- push_d
- d_load lcl 0
- push_d
- d_load lcl 4
- push_d
- call "Math.multiply" 2
- d_load ret
- d_add pop
- copy_d lcl 0
- -- (Ball.bounce$IF_END4)
- -- (Ball.bounce$IF_END3)
- -- (Ball.bounce$IF_END2)
- d_load ptr 0
- push_d
- d_load lcl 0
- push_d
- d_load lcl 1
- push_d
- call "Ball.setDestination" 3
- return
- module "Bat"
- function "Bat.new" 0
- push_c 5
- call "Memory.alloc" 1
- d_load ret
- copy_d ptr 0
- d_load arg 0
- copy_d this 0
- d_load arg 1
- copy_d this 1
- d_load arg 2
- copy_d this 2
- d_load arg 3
- copy_d this 3
- copy_c 2, this 4
- d_load ptr 0
- push_d
- call "Bat.show" 1
- d_load ptr 0
- copy_d ret
- return
- function "Bat.dispose" 0
- d_load arg 0
- copy_d ptr 0
- push_d
- call "Memory.deAlloc" 1
- return
- function "Bat.show" 0
- d_load arg 0
- copy_d ptr 0
- push_c 65535
- call "Screen.setColor" 1
- d_load ptr 0
- push_d
- call "Bat.draw" 1
- return
- function "Bat.hide" 0
- d_load arg 0
- copy_d ptr 0
- push_c 0
- call "Screen.setColor" 1
- d_load ptr 0
- push_d
- call "Bat.draw" 1
- return
- function "Bat.draw" 0
- d_load arg 0
- copy_d ptr 0
- d_load this 0
- push_d
- d_load this 1
- push_d
- d_load this 0
- d_add this 2
- push_d
- d_load this 1
- d_add this 3
- push_d
- call "Screen.drawRectangle" 4
- return
- function "Bat.setDirection" 0
- d_load arg 0
- copy_d ptr 0
- d_load arg 1
- copy_d this 4
- return
- function "Bat.getLeft" 0
- d_load arg 0
- copy_d ptr 0
- d_load this 0
- copy_d ret
- return
- function "Bat.getRight" 0
- d_load arg 0
- copy_d ptr 0
- d_load this 0
- d_add this 2
- copy_d ret
- return
- function "Bat.setWidth" 0
- d_load arg 0
- copy_d ptr 0
- push_d
- call "Bat.hide" 1
- d_load arg 1
- copy_d this 2
- d_load ptr 0
- push_d
- call "Bat.show" 1
- return
- function "Bat.move" 0
- d_load arg 0
- copy_d ptr 0
- d_load this 4 [+65535]
- jumpif_d ne -> Bat.move$IF_FALSE0
- m_op this 0 [+65532]
- d_pop
- jumpif_d ge -> Bat.move$IF_FALSE1
- copy_c 0, this 0
- -- (Bat.move$IF_FALSE1)
- push_c 0
- call "Screen.setColor" 1
- d_load this 0
- d_add this 2 [+1]
- push_d
- d_load this 1
- push_d
- d_load this 0
- d_add this 2 [+4]
- push_d
- d_load this 1
- d_add this 3
- push_d
- call "Screen.drawRectangle" 4
- push_c 65535
- call "Screen.setColor" 1
- d_load this 0
- push_d
- d_load this 1
- push_d
- d_load this 0 [+3]
- push_d
- d_load this 1
- d_add this 3
- push_d
- call "Screen.drawRectangle" 4
- jump -> Bat.move$IF_END0
- -- (Bat.move$IF_FALSE0)
- m_op this 0 [+4]
- d_pop
- d_add this 2 [+65025]
- jumpif_d le -> Bat.move$IF_FALSE2
- d_load this 2 [+65025]
- copy_d this 0
- -- (Bat.move$IF_FALSE2)
- push_c 0
- call "Screen.setColor" 1
- d_load this 0 [+65532]
- push_d
- d_load this 1
- push_d
- d_load this 0 [+65535]
- push_d
- d_load this 1
- d_add this 3
- push_d
- call "Screen.drawRectangle" 4
- push_c 65535
- call "Screen.setColor" 1
- d_load this 0
- d_add this 2 [+65533]
- push_d
- d_load this 1
- push_d
- d_load this 0
- d_add this 2
- push_d
- d_load this 1
- d_add this 3
- push_d
- call "Screen.drawRectangle" 4
- -- (Bat.move$IF_END0)
- return
- module "Keyboard"
- function "Keyboard.init" 0
- return
- function "Keyboard.keyPressed" 0
- push_c 24576
- call "Memory.peek" 1
- return
- module "Main"
- function "Main.main" 1
- call "PongGame.newInstance" 0
- call "PongGame.getInstance" 0
- d_load ret
- copy_d lcl 0
- push_d
- call "PongGame.run" 1
- d_load lcl 0
- push_d
- call "PongGame.dispose" 1
- return
- module "Math"
- function "Math.init" 1
- push_c 16
- call "Array.new" 1
- d_load ret
- copy_d stc 1
- push_c 16
- call "Array.new" 1
- d_load ret
- copy_d stc 0
- d_load stc 0 [+0]
- push_d
- copy_c 1, tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- -- (Math.init$WHILE_EXP0)
- d_load lcl 0 [+65521]
- jumpif_d ge -> Math.init$WHILE_END0
- m_op lcl 0 [+1]
- d_pop
- d_add stc 0
- push_d
- d_load lcl 0 [+65535]
- d_add stc 0
- copy_d ptr 1
- d_load that 0
- push_d
- d_load lcl 0 [+65535]
- d_add stc 0
- copy_d ptr 1
- d_pop
- d_add that 0
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- jump -> Math.init$WHILE_EXP0
- -- (Math.init$WHILE_END0)
- return
- function "Math.abs" 0
- d_load arg 0
- jumpif_d ge -> Math.abs$IF_FALSE0
- m_op arg 0 [0-]
- -- (Math.abs$IF_FALSE0)
- d_load arg 0
- copy_d ret
- return
- function "Math.multiply" 5
- d_load arg 0
- d_comp lt
- push_d
- d_load arg 1
- d_comp gt
- d_and pop
- push_d
- d_load arg 0
- d_comp gt
- push_d
- d_load arg 1
- d_comp lt
- d_and pop
- d_or pop
- copy_d lcl 4
- d_load arg 0
- push_d
- call "Math.abs" 1
- d_load ret
- copy_d arg 0
- d_load arg 1
- push_d
- call "Math.abs" 1
- d_load ret
- copy_d arg 1
- d_load arg 0
- d_sub arg 1
- jumpif_d ge -> Math.multiply$IF_FALSE0
- d_load arg 0
- copy_d lcl 1
- d_load arg 1
- copy_d arg 0
- d_load lcl 1
- copy_d arg 1
- -- (Math.multiply$IF_FALSE0)
- -- (Math.multiply$WHILE_EXP0)
- d_load lcl 2 [+65535]
- d_sub arg 1 [+65535]
- jumpif_d ge -> Math.multiply$WHILE_END0
- d_load lcl 3
- d_add stc 0
- copy_d ptr 1
- d_load that 0
- d_and arg 1
- jumpif_d eq -> Math.multiply$IF_FALSE1
- d_load arg 0
- m_add lcl 0
- d_load lcl 2
- push_d
- d_load lcl 3
- d_add stc 0
- copy_d ptr 1
- d_pop
- d_add that 0
- copy_d lcl 2
- -- (Math.multiply$IF_FALSE1)
- d_load arg 0
- m_add arg 0
- m_op lcl 3 [+1]
- jump -> Math.multiply$WHILE_EXP0
- -- (Math.multiply$WHILE_END0)
- d_load lcl 4
- jumpif_d eq -> Math.multiply$IF_FALSE2
- m_op lcl 0 [0-]
- -- (Math.multiply$IF_FALSE2)
- d_load lcl 0
- copy_d ret
- return
- function "Math.divide" 4
- d_load arg 1
- jumpif_d ne -> Math.divide$IF_FALSE0
- push_c 3
- call "Sys.error" 1
- -- (Math.divide$IF_FALSE0)
- d_load arg 0
- d_comp lt
- push_d
- d_load arg 1
- d_comp gt
- d_and pop
- push_d
- d_load arg 0
- d_comp gt
- push_d
- d_load arg 1
- d_comp lt
- d_and pop
- d_or pop
- copy_d lcl 2
- d_load stc 1 [+0]
- push_d
- d_load arg 1
- push_d
- call "Math.abs" 1
- d_load ret
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- d_load arg 0
- push_d
- call "Math.abs" 1
- d_load ret
- copy_d arg 0
- -- (Math.divide$WHILE_EXP0)
- d_load lcl 0 [+65521]
- d_comp ge
- d_or lcl 3 [+0]
- jumpif_d ne -> Math.divide$WHILE_END0
- push_c 32767
- d_load lcl 0
- d_add stc 1
- copy_d ptr 1
- d_pop
- d_sub that 0 [+65535]
- push_d
- d_load lcl 0
- d_add stc 1
- copy_d ptr 1
- d_pop
- d_sub that 0 [+65535]
- d_comp lt
- copy_d lcl 3
- jumpif_d ne -> Math.divide$IF_FALSE1
- d_load lcl 0 [+1]
- d_add stc 1
- push_d
- d_load lcl 0
- d_add stc 1
- copy_d ptr 1
- d_load that 0
- push_d
- d_load lcl 0
- d_add stc 1
- copy_d ptr 1
- d_pop
- d_add that 0
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- d_load lcl 0 [+1]
- d_add stc 1
- copy_d ptr 1
- d_load that 0 [+65535]
- d_sub arg 0 [+65535]
- d_comp gt
- copy_d lcl 3
- jumpif_d ne -> Math.divide$IF_FALSE2
- m_op lcl 0 [+1]
- -- (Math.divide$IF_FALSE2)
- -- (Math.divide$IF_FALSE1)
- jump -> Math.divide$WHILE_EXP0
- -- (Math.divide$WHILE_END0)
- -- (Math.divide$WHILE_EXP1)
- d_load lcl 0 [+1]
- jumpif_d le -> Math.divide$WHILE_END1
- d_load lcl 0
- d_add stc 1
- copy_d ptr 1
- d_load that 0 [+65535]
- d_sub arg 0 [+65535]
- jumpif_d gt -> Math.divide$IF_FALSE3
- d_load lcl 1
- push_d
- d_load lcl 0
- d_add stc 0
- copy_d ptr 1
- d_pop
- d_add that 0
- copy_d lcl 1
- d_load arg 0
- push_d
- d_load lcl 0
- d_add stc 1
- copy_d ptr 1
- d_pop
- d_sub that 0
- copy_d arg 0
- -- (Math.divide$IF_FALSE3)
- m_op lcl 0 [+65535]
- jump -> Math.divide$WHILE_EXP1
- -- (Math.divide$WHILE_END1)
- d_load lcl 2
- jumpif_d eq -> Math.divide$IF_FALSE4
- m_op lcl 1 [0-]
- -- (Math.divide$IF_FALSE4)
- d_load lcl 1
- copy_d ret
- return
- module "Memory"
- function "Memory.init" 0
- copy_c 0, stc 0
- d_load stc 0 [+2048]
- push_d
- copy_c 14334, tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- d_load stc 0 [+2049]
- push_d
- copy_c 2050, tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- return
- function "Memory.peek" 0
- d_load arg 0
- d_add stc 0
- copy_d ptr 1
- d_load that 0
- copy_d ret
- return
- function "Memory.alloc" 1
- d_load arg 0 [+65535]
- jumpif_d ge -> Memory.alloc$IF_FALSE0
- push_c 5
- call "Sys.error" 1
- -- (Memory.alloc$IF_FALSE0)
- copy_c 2048, lcl 0
- -- (Memory.alloc$WHILE_EXP0)
- d_load lcl 0 [+0]
- copy_d ptr 1
- d_load that 0
- d_sub arg 0
- jumpif_d ge -> Memory.alloc$WHILE_END0
- d_load lcl 0 [+1]
- copy_d ptr 1
- d_load that 0
- copy_d lcl 0
- jump -> Memory.alloc$WHILE_EXP0
- -- (Memory.alloc$WHILE_END0)
- d_load lcl 0
- d_add arg 0 [+49157]
- jumpif_d le -> Memory.alloc$IF_FALSE1
- push_c 6
- call "Sys.error" 1
- -- (Memory.alloc$IF_FALSE1)
- d_load lcl 0 [+0]
- copy_d ptr 1
- d_load that 0
- d_sub arg 0 [+2]
- jumpif_d le -> Memory.alloc$IF_FALSE2
- d_load arg 0 [+2]
- d_add lcl 0
- push_d
- d_load lcl 0 [+0]
- copy_d ptr 1
- d_load that 0
- d_sub arg 0 [+65534]
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- d_load lcl 0 [+1]
- copy_d ptr 1
- d_load that 0
- d_sub lcl 0 [+2]
- jumpif_d ne -> Memory.alloc$IF_FALSE3
- d_load arg 0 [+3]
- d_add lcl 0
- push_d
- d_load lcl 0
- d_add arg 0 [+4]
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- jump -> Memory.alloc$IF_END3
- -- (Memory.alloc$IF_FALSE3)
- d_load arg 0 [+3]
- d_add lcl 0
- push_d
- d_load lcl 0 [+1]
- copy_d ptr 1
- d_load that 0
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- -- (Memory.alloc$IF_END3)
- d_load lcl 0 [+1]
- push_d
- d_op [+65535]
- d_add arg 0 [+2]
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- -- (Memory.alloc$IF_FALSE2)
- d_load lcl 0 [+0]
- push_d
- copy_c 0, tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- d_load lcl 0 [+2]
- copy_d ret
- return
- function "Memory.deAlloc" 2
- d_load arg 0 [+65534]
- copy_d lcl 0
- d_load lcl 0 [+1]
- copy_d ptr 1
- d_load that 0
- copy_d lcl 1
- d_load lcl 1 [+0]
- copy_d ptr 1
- d_load that 0
- jumpif_d ne -> Memory.deAlloc$IF_FALSE0
- d_load lcl 0 [+0]
- push_d
- d_op [+1]
- copy_d ptr 1
- d_load that 0
- d_sub lcl 0 [+65534]
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- jump -> Memory.deAlloc$IF_END0
- -- (Memory.deAlloc$IF_FALSE0)
- d_load lcl 0 [+0]
- push_d
- d_op [+1]
- copy_d ptr 1
- d_load that 0
- d_sub lcl 0
- push_d
- d_load lcl 1 [+0]
- copy_d ptr 1
- d_pop
- d_add that 0
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- d_load lcl 1 [+1]
- copy_d ptr 1
- d_load that 0
- d_sub lcl 1 [+2]
- jumpif_d ne -> Memory.deAlloc$IF_FALSE1
- d_load lcl 0 [+1]
- push_d
- d_op [+1]
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- jump -> Memory.deAlloc$IF_END1
- -- (Memory.deAlloc$IF_FALSE1)
- d_load lcl 0 [+1]
- push_d
- d_load lcl 1 [+1]
- copy_d ptr 1
- d_load that 0
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- -- (Memory.deAlloc$IF_END1)
- -- (Memory.deAlloc$IF_END0)
- return
- module "Output"
- function "Output.init" 0
- copy_c 16384, stc 4
- copy_c 65535, stc 2
- copy_c 32, stc 1
- copy_c 0, stc 0
- push_c 6
- call "String.new" 1
- d_load ret
- copy_d stc 3
- call "Output.initMap" 0
- call "Output.createShiftedMap" 0
- return
- function "Output.initMap" 0
- push_c 127
- call "Array.new" 1
- d_load ret
- copy_d stc 5
- push_c 0
- push_c 63
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- push_c 0
- push_d
- call "Output.create" 12
- push_c 32
- push_c 0
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- call "Output.create" 12
- push_c 33
- push_c 12
- push_c 30
- push_d
- push_d
- push_c 12
- push_d
- push_c 0
- push_c 12
- push_d
- push_c 0
- push_d
- call "Output.create" 12
- push_c 34
- push_c 54
- push_d
- push_c 20
- push_c 0
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- call "Output.create" 12
- push_c 35
- push_c 0
- push_c 18
- push_d
- push_c 63
- push_c 18
- push_d
- push_c 63
- push_c 18
- push_d
- push_c 0
- push_d
- call "Output.create" 12
- push_c 36
- push_c 12
- push_c 30
- push_c 51
- push_c 3
- push_c 30
- push_c 48
- push_c 51
- push_c 30
- push_c 12
- push_d
- push_c 0
- call "Output.create" 12
- push_c 37
- push_c 0
- push_d
- push_c 35
- push_c 51
- push_c 24
- push_c 12
- push_c 6
- push_c 51
- push_c 49
- push_c 0
- push_d
- call "Output.create" 12
- push_c 38
- push_c 12
- push_c 30
- push_d
- push_c 12
- push_c 54
- push_c 27
- push_d
- push_d
- push_c 54
- push_c 0
- push_d
- call "Output.create" 12
- push_c 39
- push_c 12
- push_d
- push_c 6
- push_c 0
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- call "Output.create" 12
- push_c 40
- push_c 24
- push_c 12
- push_c 6
- push_d
- push_d
- push_d
- push_d
- push_c 12
- push_c 24
- push_c 0
- push_d
- call "Output.create" 12
- push_c 41
- push_c 6
- push_c 12
- push_c 24
- push_d
- push_d
- push_d
- push_d
- push_c 12
- push_c 6
- push_c 0
- push_d
- call "Output.create" 12
- push_c 42
- push_c 0
- push_d
- push_d
- push_c 51
- push_c 30
- push_c 63
- push_c 30
- push_c 51
- push_c 0
- push_d
- push_d
- call "Output.create" 12
- push_c 43
- push_c 0
- push_d
- push_d
- push_c 12
- push_d
- push_c 63
- push_c 12
- push_d
- push_c 0
- push_d
- push_d
- call "Output.create" 12
- push_c 44
- push_c 0
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- push_c 12
- push_d
- push_c 6
- push_c 0
- call "Output.create" 12
- push_c 45
- push_c 0
- push_d
- push_d
- push_d
- push_d
- push_c 63
- push_c 0
- push_d
- push_d
- push_d
- push_d
- call "Output.create" 12
- push_c 46
- push_c 0
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- push_c 12
- push_d
- push_c 0
- push_d
- call "Output.create" 12
- push_c 47
- push_c 0
- push_d
- push_c 32
- push_c 48
- push_c 24
- push_c 12
- push_c 6
- push_c 3
- push_c 1
- push_c 0
- push_d
- call "Output.create" 12
- push_c 48
- push_c 12
- push_c 30
- push_c 51
- push_d
- push_d
- push_d
- push_d
- push_c 30
- push_c 12
- push_c 0
- push_d
- call "Output.create" 12
- push_c 49
- push_c 12
- push_c 14
- push_c 15
- push_c 12
- push_d
- push_d
- push_d
- push_d
- push_c 63
- push_c 0
- push_d
- call "Output.create" 12
- push_c 50
- push_c 30
- push_c 51
- push_c 48
- push_c 24
- push_c 12
- push_c 6
- push_c 3
- push_c 51
- push_c 63
- push_c 0
- push_d
- call "Output.create" 12
- push_c 51
- push_c 30
- push_c 51
- push_c 48
- push_d
- push_c 28
- push_c 48
- push_d
- push_c 51
- push_c 30
- push_c 0
- push_d
- call "Output.create" 12
- push_c 52
- push_c 16
- push_c 24
- push_c 28
- push_c 26
- push_c 25
- push_c 63
- push_c 24
- push_d
- push_c 60
- push_c 0
- push_d
- call "Output.create" 12
- push_c 53
- push_c 63
- push_c 3
- push_d
- push_c 31
- push_c 48
- push_d
- push_d
- push_c 51
- push_c 30
- push_c 0
- push_d
- call "Output.create" 12
- push_c 54
- push_c 28
- push_c 6
- push_c 3
- push_d
- push_c 31
- push_c 51
- push_d
- push_d
- push_c 30
- push_c 0
- push_d
- call "Output.create" 12
- push_c 55
- push_c 63
- push_c 49
- push_c 48
- push_d
- push_c 24
- push_c 12
- push_d
- push_d
- push_d
- push_c 0
- push_d
- call "Output.create" 12
- push_c 56
- push_c 30
- push_c 51
- push_d
- push_d
- push_c 30
- push_c 51
- push_d
- push_d
- push_c 30
- push_c 0
- push_d
- call "Output.create" 12
- push_c 57
- push_c 30
- push_c 51
- push_d
- push_d
- push_c 62
- push_c 48
- push_d
- push_c 24
- push_c 14
- push_c 0
- push_d
- call "Output.create" 12
- push_c 58
- push_c 0
- push_d
- push_c 12
- push_d
- push_c 0
- push_d
- push_c 12
- push_d
- push_c 0
- push_d
- push_d
- call "Output.create" 12
- push_c 59
- push_c 0
- push_d
- push_c 12
- push_d
- push_c 0
- push_d
- push_c 12
- push_d
- push_c 6
- push_c 0
- push_d
- call "Output.create" 12
- push_c 60
- push_c 0
- push_d
- push_c 24
- push_c 12
- push_c 6
- push_c 3
- push_c 6
- push_c 12
- push_c 24
- push_c 0
- push_d
- call "Output.create" 12
- push_c 61
- push_c 0
- push_d
- push_d
- push_c 63
- push_c 0
- push_d
- push_c 63
- push_c 0
- push_d
- push_d
- push_d
- call "Output.create" 12
- push_c 62
- push_c 0
- push_d
- push_c 3
- push_c 6
- push_c 12
- push_c 24
- push_c 12
- push_c 6
- push_c 3
- push_c 0
- push_d
- call "Output.create" 12
- push_c 64
- push_c 30
- push_c 51
- push_d
- push_c 59
- push_d
- push_d
- push_c 27
- push_c 3
- push_c 30
- push_c 0
- push_d
- call "Output.create" 12
- push_c 63
- push_c 30
- push_c 51
- push_d
- push_c 24
- push_c 12
- push_d
- push_c 0
- push_c 12
- push_d
- push_c 0
- push_d
- call "Output.create" 12
- push_c 65
- push_c 12
- push_c 30
- push_c 51
- push_d
- push_c 63
- push_c 51
- push_d
- push_d
- push_d
- push_c 0
- push_d
- call "Output.create" 12
- push_c 66
- push_c 31
- push_c 51
- push_d
- push_d
- push_c 31
- push_c 51
- push_d
- push_d
- push_c 31
- push_c 0
- push_d
- call "Output.create" 12
- push_c 67
- push_c 28
- push_c 54
- push_c 35
- push_c 3
- push_d
- push_d
- push_c 35
- push_c 54
- push_c 28
- push_c 0
- push_d
- call "Output.create" 12
- push_c 68
- push_c 15
- push_c 27
- push_c 51
- push_d
- push_d
- push_d
- push_d
- push_c 27
- push_c 15
- push_c 0
- push_d
- call "Output.create" 12
- push_c 69
- push_c 63
- push_c 51
- push_c 35
- push_c 11
- push_c 15
- push_c 11
- push_c 35
- push_c 51
- push_c 63
- push_c 0
- push_d
- call "Output.create" 12
- push_c 70
- push_c 63
- push_c 51
- push_c 35
- push_c 11
- push_c 15
- push_c 11
- push_c 3
- push_d
- push_d
- push_c 0
- push_d
- call "Output.create" 12
- push_c 71
- push_c 28
- push_c 54
- push_c 35
- push_c 3
- push_c 59
- push_c 51
- push_d
- push_c 54
- push_c 44
- push_c 0
- push_d
- call "Output.create" 12
- push_c 72
- push_c 51
- push_d
- push_d
- push_d
- push_c 63
- push_c 51
- push_d
- push_d
- push_d
- push_c 0
- push_d
- call "Output.create" 12
- push_c 73
- push_c 30
- push_c 12
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- push_c 30
- push_c 0
- push_d
- call "Output.create" 12
- push_c 74
- push_c 60
- push_c 24
- push_d
- push_d
- push_d
- push_d
- push_c 27
- push_d
- push_c 14
- push_c 0
- push_d
- call "Output.create" 12
- push_c 75
- push_c 51
- push_d
- push_d
- push_c 27
- push_c 15
- push_c 27
- push_c 51
- push_d
- push_d
- push_c 0
- push_d
- call "Output.create" 12
- push_c 76
- push_c 3
- push_d
- push_d
- push_d
- push_d
- push_d
- push_c 35
- push_c 51
- push_c 63
- push_c 0
- push_d
- call "Output.create" 12
- push_c 77
- push_c 33
- push_c 51
- push_c 63
- push_d
- push_c 51
- push_d
- push_d
- push_d
- push_d
- push_c 0
- push_d
- call "Output.create" 12
- push_c 78
- push_c 51
- push_d
- push_c 55
- push_d
- push_c 63
- push_c 59
- push_d
- push_c 51
- push_d
- push_c 0
- push_d
- call "Output.create" 12
- push_c 79
- push_c 30
- push_c 51
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- push_c 30
- push_c 0
- push_d
- call "Output.create" 12
- push_c 80
- push_c 31
- push_c 51
- push_d
- push_d
- push_c 31
- push_c 3
- push_d
- push_d
- push_d
- push_c 0
- push_d
- call "Output.create" 12
- push_c 81
- push_c 30
- push_c 51
- push_d
- push_d
- push_d
- push_d
- push_c 63
- push_c 59
- push_c 30
- push_c 48
- push_c 0
- call "Output.create" 12
- push_c 82
- push_c 31
- push_c 51
- push_d
- push_d
- push_c 31
- push_c 27
- push_c 51
- push_d
- push_d
- push_c 0
- push_d
- call "Output.create" 12
- push_c 83
- push_c 30
- push_c 51
- push_d
- push_c 6
- push_c 28
- push_c 48
- push_c 51
- push_d
- push_c 30
- push_c 0
- push_d
- call "Output.create" 12
- push_c 84
- push_c 63
- push_d
- push_c 45
- push_c 12
- push_d
- push_d
- push_d
- push_d
- push_c 30
- push_c 0
- push_d
- call "Output.create" 12
- push_c 85
- push_c 51
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- push_c 30
- push_c 0
- push_d
- call "Output.create" 12
- push_c 86
- push_c 51
- push_d
- push_d
- push_d
- push_d
- push_c 30
- push_d
- push_c 12
- push_d
- push_c 0
- push_d
- call "Output.create" 12
- push_c 87
- push_c 51
- push_d
- push_d
- push_d
- push_d
- push_c 63
- push_d
- push_d
- push_c 18
- push_c 0
- push_d
- call "Output.create" 12
- push_c 88
- push_c 51
- push_d
- push_c 30
- push_d
- push_c 12
- push_c 30
- push_d
- push_c 51
- push_d
- push_c 0
- push_d
- call "Output.create" 12
- push_c 89
- push_c 51
- push_d
- push_d
- push_d
- push_c 30
- push_c 12
- push_d
- push_d
- push_c 30
- push_c 0
- push_d
- call "Output.create" 12
- push_c 90
- push_c 63
- push_c 51
- push_c 49
- push_c 24
- push_c 12
- push_c 6
- push_c 35
- push_c 51
- push_c 63
- push_c 0
- push_d
- call "Output.create" 12
- push_c 91
- push_c 30
- push_c 6
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- push_c 30
- push_c 0
- push_d
- call "Output.create" 12
- push_c 92
- push_c 0
- push_d
- push_c 1
- push_c 3
- push_c 6
- push_c 12
- push_c 24
- push_c 48
- push_c 32
- push_c 0
- push_d
- call "Output.create" 12
- push_c 93
- push_c 30
- push_c 24
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- push_c 30
- push_c 0
- push_d
- call "Output.create" 12
- push_c 94
- push_c 8
- push_c 28
- push_c 54
- push_c 0
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- call "Output.create" 12
- push_c 95
- push_c 0
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- push_c 63
- push_c 0
- call "Output.create" 12
- push_c 96
- push_c 6
- push_c 12
- push_c 24
- push_c 0
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- call "Output.create" 12
- push_c 97
- push_c 0
- push_d
- push_d
- push_c 14
- push_c 24
- push_c 30
- push_c 27
- push_d
- push_c 54
- push_c 0
- push_d
- call "Output.create" 12
- push_c 98
- push_c 3
- push_d
- push_d
- push_c 15
- push_c 27
- push_c 51
- push_d
- push_d
- push_c 30
- push_c 0
- push_d
- call "Output.create" 12
- push_c 99
- push_c 0
- push_d
- push_d
- push_c 30
- push_c 51
- push_c 3
- push_d
- push_c 51
- push_c 30
- push_c 0
- push_d
- call "Output.create" 12
- push_c 100
- push_c 48
- push_d
- push_d
- push_c 60
- push_c 54
- push_c 51
- push_d
- push_d
- push_c 30
- push_c 0
- push_d
- call "Output.create" 12
- push_c 101
- push_c 0
- push_d
- push_d
- push_c 30
- push_c 51
- push_c 63
- push_c 3
- push_c 51
- push_c 30
- push_c 0
- push_d
- call "Output.create" 12
- push_c 102
- push_c 28
- push_c 54
- push_c 38
- push_c 6
- push_c 15
- push_c 6
- push_d
- push_d
- push_c 15
- push_c 0
- push_d
- call "Output.create" 12
- push_c 103
- push_c 0
- push_d
- push_c 30
- push_c 51
- push_d
- push_d
- push_c 62
- push_c 48
- push_c 51
- push_c 30
- push_c 0
- call "Output.create" 12
- push_c 104
- push_c 3
- push_d
- push_d
- push_c 27
- push_c 55
- push_c 51
- push_d
- push_d
- push_d
- push_c 0
- push_d
- call "Output.create" 12
- push_c 105
- push_c 12
- push_d
- push_c 0
- push_c 14
- push_c 12
- push_d
- push_d
- push_d
- push_c 30
- push_c 0
- push_d
- call "Output.create" 12
- push_c 106
- push_c 48
- push_d
- push_c 0
- push_c 56
- push_c 48
- push_d
- push_d
- push_d
- push_c 51
- push_c 30
- push_c 0
- call "Output.create" 12
- push_c 107
- push_c 3
- push_d
- push_d
- push_c 51
- push_c 27
- push_c 15
- push_d
- push_c 27
- push_c 51
- push_c 0
- push_d
- call "Output.create" 12
- push_c 108
- push_c 14
- push_c 12
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- push_c 30
- push_c 0
- push_d
- call "Output.create" 12
- push_c 109
- push_c 0
- push_d
- push_d
- push_c 29
- push_c 63
- push_c 43
- push_d
- push_d
- push_d
- push_c 0
- push_d
- call "Output.create" 12
- push_c 110
- push_c 0
- push_d
- push_d
- push_c 29
- push_c 51
- push_d
- push_d
- push_d
- push_d
- push_c 0
- push_d
- call "Output.create" 12
- push_c 111
- push_c 0
- push_d
- push_d
- push_c 30
- push_c 51
- push_d
- push_d
- push_d
- push_c 30
- push_c 0
- push_d
- call "Output.create" 12
- push_c 112
- push_c 0
- push_d
- push_d
- push_c 30
- push_c 51
- push_d
- push_d
- push_c 31
- push_c 3
- push_d
- push_c 0
- call "Output.create" 12
- push_c 113
- push_c 0
- push_d
- push_d
- push_c 30
- push_c 51
- push_d
- push_d
- push_c 62
- push_c 48
- push_d
- push_c 0
- call "Output.create" 12
- push_c 114
- push_c 0
- push_d
- push_d
- push_c 29
- push_c 55
- push_c 51
- push_c 3
- push_d
- push_c 7
- push_c 0
- push_d
- call "Output.create" 12
- push_c 115
- push_c 0
- push_d
- push_d
- push_c 30
- push_c 51
- push_c 6
- push_c 24
- push_c 51
- push_c 30
- push_c 0
- push_d
- call "Output.create" 12
- push_c 116
- push_c 4
- push_c 6
- push_d
- push_c 15
- push_c 6
- push_d
- push_d
- push_c 54
- push_c 28
- push_c 0
- push_d
- call "Output.create" 12
- push_c 117
- push_c 0
- push_d
- push_d
- push_c 27
- push_d
- push_d
- push_d
- push_d
- push_c 54
- push_c 0
- push_d
- call "Output.create" 12
- push_c 118
- push_c 0
- push_d
- push_d
- push_c 51
- push_d
- push_d
- push_d
- push_c 30
- push_c 12
- push_c 0
- push_d
- call "Output.create" 12
- push_c 119
- push_c 0
- push_d
- push_d
- push_c 51
- push_d
- push_d
- push_c 63
- push_d
- push_c 18
- push_c 0
- push_d
- call "Output.create" 12
- push_c 120
- push_c 0
- push_d
- push_d
- push_c 51
- push_c 30
- push_c 12
- push_d
- push_c 30
- push_c 51
- push_c 0
- push_d
- call "Output.create" 12
- push_c 121
- push_c 0
- push_d
- push_d
- push_c 51
- push_d
- push_d
- push_c 62
- push_c 48
- push_c 24
- push_c 15
- push_c 0
- call "Output.create" 12
- push_c 122
- push_c 0
- push_d
- push_d
- push_c 63
- push_c 27
- push_c 12
- push_c 6
- push_c 51
- push_c 63
- push_c 0
- push_d
- call "Output.create" 12
- push_c 123
- push_c 56
- push_c 12
- push_d
- push_d
- push_c 7
- push_c 12
- push_d
- push_d
- push_c 56
- push_c 0
- push_d
- call "Output.create" 12
- push_c 124
- push_c 12
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- push_c 0
- push_d
- call "Output.create" 12
- push_c 125
- push_c 7
- push_c 12
- push_d
- push_d
- push_c 56
- push_c 12
- push_d
- push_d
- push_c 7
- push_c 0
- push_d
- call "Output.create" 12
- push_c 126
- push_c 38
- push_c 45
- push_c 25
- push_c 0
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- push_d
- call "Output.create" 12
- return
- function "Output.create" 1
- push_c 11
- call "Array.new" 1
- d_load ret
- copy_d lcl 0
- d_load arg 0
- d_add stc 5
- push_d
- d_load lcl 0
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- d_load lcl 0 [+0]
- push_d
- d_load arg 1
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- d_load lcl 0 [+1]
- push_d
- d_load arg 2
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- d_load lcl 0 [+2]
- push_d
- d_load arg 3
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- d_load lcl 0 [+3]
- push_d
- d_load arg 4
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- d_load lcl 0 [+4]
- push_d
- d_load arg 5
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- d_load lcl 0 [+5]
- push_d
- d_load arg 6
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- d_load lcl 0 [+6]
- push_d
- d_load arg 7
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- d_load lcl 0 [+7]
- push_d
- d_load arg 8
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- d_load lcl 0 [+8]
- push_d
- d_load arg 9
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- d_load lcl 0 [+9]
- push_d
- d_load arg 10
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- d_load lcl 0 [+10]
- push_d
- d_load arg 11
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- return
- function "Output.createShiftedMap" 4
- push_c 127
- call "Array.new" 1
- d_load ret
- copy_d stc 6
- copy_c 0, lcl 2
- -- (Output.createShiftedMap$WHILE_EXP0)
- d_load lcl 2 [+65409]
- jumpif_d ge -> Output.createShiftedMap$WHILE_END0
- d_load lcl 2
- d_add stc 5
- copy_d ptr 1
- d_load that 0
- copy_d lcl 0
- push_c 11
- call "Array.new" 1
- d_load ret
- copy_d lcl 1
- d_load lcl 2
- d_add stc 6
- push_d
- d_load lcl 1
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- copy_c 0, lcl 3
- -- (Output.createShiftedMap$WHILE_EXP1)
- d_load lcl 3 [+65525]
- jumpif_d ge -> Output.createShiftedMap$WHILE_END1
- d_load lcl 3
- d_add lcl 1
- push_d
- d_load lcl 3
- d_add lcl 0
- copy_d ptr 1
- d_load that 0
- push_d
- push_c 256
- call "Math.multiply" 2
- d_load ret
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- m_op lcl 3 [+1]
- jump -> Output.createShiftedMap$WHILE_EXP1
- -- (Output.createShiftedMap$WHILE_END1)
- d_load lcl 2
- jumpif_d ne -> Output.createShiftedMap$IF_FALSE0
- copy_c 32, lcl 2
- jump -> Output.createShiftedMap$IF_END0
- -- (Output.createShiftedMap$IF_FALSE0)
- m_op lcl 2 [+1]
- -- (Output.createShiftedMap$IF_END0)
- jump -> Output.createShiftedMap$WHILE_EXP0
- -- (Output.createShiftedMap$WHILE_END0)
- return
- function "Output.getMap" 1
- d_load arg 0 [+65504]
- d_comp lt
- push_d
- d_load arg 0 [+65410]
- d_comp gt
- d_or pop
- jumpif_d eq -> Output.getMap$IF_FALSE0
- copy_c 0, arg 0
- -- (Output.getMap$IF_FALSE0)
- d_load stc 2
- jumpif_d eq -> Output.getMap$IF_FALSE1
- d_load arg 0
- d_add stc 5
- copy_d ptr 1
- d_load that 0
- copy_d lcl 0
- jump -> Output.getMap$IF_END1
- -- (Output.getMap$IF_FALSE1)
- d_load arg 0
- d_add stc 6
- copy_d ptr 1
- d_load that 0
- copy_d lcl 0
- -- (Output.getMap$IF_END1)
- d_load lcl 0
- copy_d ret
- return
- function "Output.drawChar" 4
- d_load arg 0
- push_d
- call "Output.getMap" 1
- d_load ret
- copy_d lcl 2
- d_load stc 1
- copy_d lcl 0
- -- (Output.drawChar$WHILE_EXP0)
- d_load lcl 1 [+65525]
- jumpif_d ge -> Output.drawChar$WHILE_END0
- d_load stc 2
- jumpif_d eq -> Output.drawChar$IF_FALSE0
- d_load lcl 0
- d_add stc 4
- copy_d ptr 1
- d_load that 0
- d_and cte 65280
- copy_d lcl 3
- jump -> Output.drawChar$IF_END0
- -- (Output.drawChar$IF_FALSE0)
- d_load lcl 0
- d_add stc 4
- copy_d ptr 1
- d_load that 0
- d_and cte 255
- copy_d lcl 3
- -- (Output.drawChar$IF_END0)
- d_load lcl 0
- d_add stc 4
- push_d
- d_load lcl 1
- d_add lcl 2
- copy_d ptr 1
- d_load that 0
- d_or lcl 3
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- m_op lcl 0 [+32]
- m_op lcl 1 [+1]
- jump -> Output.drawChar$WHILE_EXP0
- -- (Output.drawChar$WHILE_END0)
- return
- function "Output.moveCursor" 0
- d_load arg 0
- d_comp lt
- push_d
- d_load arg 0 [+65514]
- d_comp gt
- d_or pop
- push_d
- d_load arg 1
- d_comp lt
- d_or pop
- push_d
- d_load arg 1 [+65473]
- d_comp gt
- d_or pop
- jumpif_d eq -> Output.moveCursor$IF_FALSE0
- push_c 20
- call "Sys.error" 1
- -- (Output.moveCursor$IF_FALSE0)
- d_load arg 1
- push_d
- push_c 2
- call "Math.divide" 2
- d_load ret
- copy_d stc 0
- push_c 32
- d_load arg 0
- push_d
- push_c 352
- call "Math.multiply" 2
- d_load ret
- d_add pop
- d_add stc 0
- copy_d stc 1
- d_load arg 1
- push_d
- d_load stc 0
- push_d
- push_c 2
- call "Math.multiply" 2
- d_load ret
- d_sub pop
- d_comp eq
- copy_d stc 2
- push_c 32
- call "Output.drawChar" 1
- return
- function "Output.printChar" 0
- d_load arg 0
- push_d
- call "String.newLine" 0
- d_load ret
- d_sub pop
- jumpif_d ne -> Output.printChar$IF_FALSE0
- call "Output.println" 0
- jump -> Output.printChar$IF_END0
- -- (Output.printChar$IF_FALSE0)
- d_load arg 0
- push_d
- call "String.backSpace" 0
- d_load ret
- d_sub pop
- jumpif_d ne -> Output.printChar$IF_FALSE1
- call "Output.backSpace" 0
- jump -> Output.printChar$IF_END1
- -- (Output.printChar$IF_FALSE1)
- d_load arg 0
- push_d
- call "Output.drawChar" 1
- d_load stc 2 [65535-]
- jumpif_d eq -> Output.printChar$IF_FALSE2
- m_op stc 0 [+1]
- m_op stc 1 [+1]
- -- (Output.printChar$IF_FALSE2)
- d_load stc 0 [+65504]
- jumpif_d ne -> Output.printChar$IF_FALSE3
- call "Output.println" 0
- jump -> Output.printChar$IF_END3
- -- (Output.printChar$IF_FALSE3)
- m_op stc 2 [65535-]
- -- (Output.printChar$IF_END3)
- -- (Output.printChar$IF_END1)
- -- (Output.printChar$IF_END0)
- return
- function "Output.printString" 2
- d_load arg 0
- push_d
- call "String.length" 1
- d_load ret
- copy_d lcl 1
- -- (Output.printString$WHILE_EXP0)
- d_load lcl 0
- d_sub lcl 1
- jumpif_d ge -> Output.printString$WHILE_END0
- d_load arg 0
- push_d
- d_load lcl 0
- push_d
- call "String.charAt" 2
- d_load ret
- push_d
- call "Output.printChar" 1
- m_op lcl 0 [+1]
- jump -> Output.printString$WHILE_EXP0
- -- (Output.printString$WHILE_END0)
- return
- function "Output.printInt" 0
- d_load stc 3
- push_d
- d_load arg 0
- push_d
- call "String.setInt" 2
- d_load stc 3
- push_d
- call "Output.printString" 1
- return
- function "Output.println" 0
- d_load stc 0 [0-]
- m_sub stc 1 [65184-]
- copy_c 0, stc 0
- copy_c 65535, stc 2
- d_load stc 1 [+57408]
- jumpif_d ne -> Output.println$IF_FALSE0
- copy_c 32, stc 1
- -- (Output.println$IF_FALSE0)
- return
- function "Output.backSpace" 0
- d_load stc 2
- jumpif_d eq -> Output.backSpace$IF_FALSE0
- d_load stc 0
- jumpif_d le -> Output.backSpace$IF_FALSE1
- m_op stc 0 [+65535]
- m_op stc 1 [+65535]
- jump -> Output.backSpace$IF_END1
- -- (Output.backSpace$IF_FALSE1)
- copy_c 31, stc 0
- d_load stc 1 [+65504]
- jumpif_d ne -> Output.backSpace$IF_FALSE2
- copy_c 8128, stc 1
- -- (Output.backSpace$IF_FALSE2)
- m_op stc 1 [+65215]
- -- (Output.backSpace$IF_END1)
- copy_c 0, stc 2
- jump -> Output.backSpace$IF_END0
- -- (Output.backSpace$IF_FALSE0)
- copy_c 65535, stc 2
- -- (Output.backSpace$IF_END0)
- push_c 32
- call "Output.drawChar" 1
- return
- module "PongGame"
- function "PongGame.new" 0
- push_c 7
- call "Memory.alloc" 1
- d_load ret
- copy_d ptr 0
- call "Screen.clearScreen" 0
- copy_c 50, this 6
- push_c 230
- push_c 229
- d_load this 6
- push_d
- push_c 7
- call "Bat.new" 4
- d_load ret
- copy_d this 0
- push_c 253
- push_c 222
- push_c 0
- push_c 511
- push_c 0
- push_c 229
- call "Ball.new" 6
- d_load ret
- copy_d this 1
- push_d
- push_c 400
- push_c 0
- call "Ball.setDestination" 3
- push_c 0
- push_c 238
- push_c 511
- push_c 240
- call "Screen.drawRectangle" 4
- push_c 22
- push_c 0
- call "Output.moveCursor" 2
- push_c 8
- call "String.new" 1
- d_load ret
- push_d
- push_c 83
- call "String.appendChar" 2
- d_load ret
- push_d
- push_c 99
- call "String.appendChar" 2
- d_load ret
- push_d
- push_c 111
- call "String.appendChar" 2
- d_load ret
- push_d
- push_c 114
- call "String.appendChar" 2
- d_load ret
- push_d
- push_c 101
- call "String.appendChar" 2
- d_load ret
- push_d
- push_c 58
- call "String.appendChar" 2
- d_load ret
- push_d
- push_c 32
- call "String.appendChar" 2
- d_load ret
- push_d
- push_c 48
- call "String.appendChar" 2
- d_load ret
- push_d
- call "Output.printString" 1
- copy_c 0, this 3
- copy_c 0, this 4
- copy_c 0, this 2
- copy_c 0, this 5
- d_load ptr 0
- copy_d ret
- return
- function "PongGame.dispose" 0
- d_load arg 0
- copy_d ptr 0
- d_load this 0
- push_d
- call "Bat.dispose" 1
- d_load this 1
- push_d
- call "Ball.dispose" 1
- d_load ptr 0
- push_d
- call "Memory.deAlloc" 1
- return
- function "PongGame.newInstance" 0
- call "PongGame.new" 0
- d_load ret
- copy_d stc 0
- return
- function "PongGame.getInstance" 0
- d_load stc 0
- copy_d ret
- return
- function "PongGame.run" 1
- d_load arg 0
- copy_d ptr 0
- -- (PongGame.run$WHILE_EXP0)
- d_load this 3 [+0]
- jumpif_d ne -> PongGame.run$WHILE_END0
- -- (PongGame.run$WHILE_EXP1)
- d_load lcl 0
- d_comp ne
- d_or this 3 [+0]
- jumpif_d ne -> PongGame.run$WHILE_END1
- call "Keyboard.keyPressed" 0
- d_load ret
- copy_d lcl 0
- d_load this 0
- push_d
- call "Bat.move" 1
- d_load ptr 0
- push_d
- call "PongGame.moveBall" 1
- push_c 50
- call "Sys.wait" 1
- jump -> PongGame.run$WHILE_EXP1
- -- (PongGame.run$WHILE_END1)
- d_load lcl 0 [+65406]
- jumpif_d ne -> PongGame.run$IF_FALSE0
- d_load this 0
- push_d
- push_c 1
- call "Bat.setDirection" 2
- jump -> PongGame.run$IF_END0
- -- (PongGame.run$IF_FALSE0)
- d_load lcl 0 [+65404]
- jumpif_d ne -> PongGame.run$IF_FALSE1
- d_load this 0
- push_d
- push_c 2
- call "Bat.setDirection" 2
- jump -> PongGame.run$IF_END1
- -- (PongGame.run$IF_FALSE1)
- d_load lcl 0 [+65396]
- jumpif_d ne -> PongGame.run$IF_FALSE2
- copy_c 65535, this 3
- -- (PongGame.run$IF_FALSE2)
- -- (PongGame.run$IF_END1)
- -- (PongGame.run$IF_END0)
- -- (PongGame.run$WHILE_EXP2)
- d_load lcl 0
- d_comp eq
- d_or this 3 [+0]
- jumpif_d ne -> PongGame.run$WHILE_END2
- call "Keyboard.keyPressed" 0
- d_load ret
- copy_d lcl 0
- d_load this 0
- push_d
- call "Bat.move" 1
- d_load ptr 0
- push_d
- call "PongGame.moveBall" 1
- push_c 50
- call "Sys.wait" 1
- jump -> PongGame.run$WHILE_EXP2
- -- (PongGame.run$WHILE_END2)
- jump -> PongGame.run$WHILE_EXP0
- -- (PongGame.run$WHILE_END0)
- d_load this 3
- jumpif_d eq -> PongGame.run$IF_FALSE3
- push_c 10
- push_c 27
- call "Output.moveCursor" 2
- push_c 9
- call "String.new" 1
- d_load ret
- push_d
- push_c 71
- call "String.appendChar" 2
- d_load ret
- push_d
- push_c 97
- call "String.appendChar" 2
- d_load ret
- push_d
- push_c 109
- call "String.appendChar" 2
- d_load ret
- push_d
- push_c 101
- call "String.appendChar" 2
- d_load ret
- push_d
- push_c 32
- call "String.appendChar" 2
- d_load ret
- push_d
- push_c 79
- call "String.appendChar" 2
- d_load ret
- push_d
- push_c 118
- call "String.appendChar" 2
- d_load ret
- push_d
- push_c 101
- call "String.appendChar" 2
- d_load ret
- push_d
- push_c 114
- call "String.appendChar" 2
- d_load ret
- push_d
- call "Output.printString" 1
- -- (PongGame.run$IF_FALSE3)
- return
- function "PongGame.moveBall" 5
- d_load arg 0
- copy_d ptr 0
- d_load this 1
- push_d
- call "Ball.move" 1
- d_load ret
- copy_d this 2
- d_comp gt
- push_d
- d_load this 2
- d_sub this 5
- d_comp ne
- d_and pop
- jumpif_d eq -> PongGame.moveBall$IF_FALSE0
- d_load this 2
- copy_d this 5
- copy_c 0, lcl 0
- d_load this 0
- push_d
- call "Bat.getLeft" 1
- d_load ret
- copy_d lcl 1
- d_load this 0
- push_d
- call "Bat.getRight" 1
- d_load ret
- copy_d lcl 2
- d_load this 1
- push_d
- call "Ball.getLeft" 1
- d_load ret
- copy_d lcl 3
- d_load this 1
- push_d
- call "Ball.getRight" 1
- d_load ret
- copy_d lcl 4
- d_load this 2 [+65532]
- jumpif_d ne -> PongGame.moveBall$IF_FALSE1
- d_load lcl 1
- d_sub lcl 4
- d_comp gt
- push_d
- d_load lcl 2
- d_sub lcl 3
- d_comp lt
- d_or pop
- copy_d this 3
- jumpif_d ne -> PongGame.moveBall$IF_FALSE2
- d_load lcl 4
- d_sub lcl 1 [+10]
- jumpif_d ge -> PongGame.moveBall$IF_FALSE3
- copy_c 65535, lcl 0
- jump -> PongGame.moveBall$IF_END3
- -- (PongGame.moveBall$IF_FALSE3)
- d_load lcl 3
- d_sub lcl 2 [+65526]
- jumpif_d le -> PongGame.moveBall$IF_FALSE4
- copy_c 1, lcl 0
- -- (PongGame.moveBall$IF_FALSE4)
- -- (PongGame.moveBall$IF_END3)
- m_op this 6 [+65534]
- d_load this 0
- push_d
- d_load this 6
- push_d
- call "Bat.setWidth" 2
- m_op this 4 [+1]
- push_c 22
- push_c 7
- call "Output.moveCursor" 2
- d_load this 4
- push_d
- call "Output.printInt" 1
- -- (PongGame.moveBall$IF_FALSE2)
- -- (PongGame.moveBall$IF_FALSE1)
- d_load this 1
- push_d
- d_load lcl 0
- push_d
- call "Ball.bounce" 2
- -- (PongGame.moveBall$IF_FALSE0)
- return
- module "Screen"
- function "Screen.init" 1
- copy_c 16384, stc 1
- copy_c 65535, stc 2
- push_c 17
- call "Array.new" 1
- d_load ret
- copy_d stc 0
- d_load stc 0 [+0]
- push_d
- copy_c 1, tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- -- (Screen.init$WHILE_EXP0)
- d_load lcl 0 [+65520]
- jumpif_d ge -> Screen.init$WHILE_END0
- m_op lcl 0 [+1]
- d_pop
- d_add stc 0
- push_d
- d_load lcl 0 [+65535]
- d_add stc 0
- copy_d ptr 1
- d_load that 0
- push_d
- d_load lcl 0 [+65535]
- d_add stc 0
- copy_d ptr 1
- d_pop
- d_add that 0
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- jump -> Screen.init$WHILE_EXP0
- -- (Screen.init$WHILE_END0)
- return
- function "Screen.clearScreen" 1
- -- (Screen.clearScreen$WHILE_EXP0)
- d_load lcl 0 [+57344]
- jumpif_d ge -> Screen.clearScreen$WHILE_END0
- d_load lcl 0
- d_add stc 1
- push_d
- copy_c 0, tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- m_op lcl 0 [+1]
- jump -> Screen.clearScreen$WHILE_EXP0
- -- (Screen.clearScreen$WHILE_END0)
- return
- function "Screen.updateLocation" 0
- d_load stc 2
- jumpif_d eq -> Screen.updateLocation$IF_FALSE0
- d_load arg 0
- d_add stc 1
- push_d
- d_load arg 0
- d_add stc 1
- copy_d ptr 1
- d_load that 0
- d_or arg 1
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- jump -> Screen.updateLocation$IF_END0
- -- (Screen.updateLocation$IF_FALSE0)
- d_load arg 0
- d_add stc 1
- push_d
- d_load arg 0
- d_add stc 1
- copy_d ptr 1
- d_load that 0 [65535-]
- d_nor arg 1 [+0]
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- -- (Screen.updateLocation$IF_END0)
- return
- function "Screen.setColor" 0
- d_load arg 0
- copy_d stc 2
- return
- function "Screen.drawRectangle" 9
- d_load arg 0
- d_sub arg 2
- d_comp gt
- push_d
- d_load arg 1
- d_sub arg 3
- d_comp gt
- d_or pop
- push_d
- d_load arg 0
- d_comp lt
- d_or pop
- push_d
- d_load arg 2 [+65025]
- d_comp gt
- d_or pop
- push_d
- d_load arg 1
- d_comp lt
- d_or pop
- push_d
- d_load arg 3 [+65281]
- d_comp gt
- d_or pop
- jumpif_d eq -> Screen.drawRectangle$IF_FALSE0
- push_c 9
- call "Sys.error" 1
- -- (Screen.drawRectangle$IF_FALSE0)
- d_load arg 0
- push_d
- push_c 16
- call "Math.divide" 2
- d_load ret
- copy_d lcl 3
- d_load arg 0
- push_d
- d_load lcl 3
- push_d
- push_c 16
- call "Math.multiply" 2
- d_load ret
- d_sub pop
- copy_d lcl 7
- d_load arg 2
- push_d
- push_c 16
- call "Math.divide" 2
- d_load ret
- copy_d lcl 4
- d_load arg 2
- push_d
- d_load lcl 4
- push_d
- push_c 16
- call "Math.multiply" 2
- d_load ret
- d_sub pop
- copy_d lcl 8
- d_load lcl 7
- d_add stc 0
- copy_d ptr 1
- d_load that 0 [65535-]
- copy_d lcl 6
- d_load lcl 8 [+1]
- d_add stc 0
- copy_d ptr 1
- d_load that 0 [+65535]
- copy_d lcl 5
- d_load arg 1
- push_d
- push_c 32
- call "Math.multiply" 2
- d_load ret
- d_add lcl 3
- copy_d lcl 0
- d_load lcl 4
- d_sub lcl 3
- copy_d lcl 2
- -- (Screen.drawRectangle$WHILE_EXP0)
- d_load arg 1
- d_sub arg 3
- jumpif_d gt -> Screen.drawRectangle$WHILE_END0
- d_load lcl 0
- d_add lcl 2
- copy_d lcl 1
- d_load lcl 2
- jumpif_d ne -> Screen.drawRectangle$IF_FALSE1
- d_load lcl 0
- push_d
- d_load lcl 5
- d_and lcl 6
- push_d
- call "Screen.updateLocation" 2
- jump -> Screen.drawRectangle$IF_END1
- -- (Screen.drawRectangle$IF_FALSE1)
- d_load lcl 0
- push_d
- d_load lcl 6
- push_d
- call "Screen.updateLocation" 2
- m_op lcl 0 [+1]
- -- (Screen.drawRectangle$WHILE_EXP1)
- d_load lcl 0
- d_sub lcl 1
- jumpif_d ge -> Screen.drawRectangle$WHILE_END1
- d_load lcl 0
- push_d
- push_c 65535
- call "Screen.updateLocation" 2
- m_op lcl 0 [+1]
- jump -> Screen.drawRectangle$WHILE_EXP1
- -- (Screen.drawRectangle$WHILE_END1)
- d_load lcl 1
- push_d
- d_load lcl 5
- push_d
- call "Screen.updateLocation" 2
- -- (Screen.drawRectangle$IF_END1)
- m_op arg 1 [+1]
- d_load lcl 1 [+32]
- d_sub lcl 2
- copy_d lcl 0
- jump -> Screen.drawRectangle$WHILE_EXP0
- -- (Screen.drawRectangle$WHILE_END0)
- return
- module "String"
- function "String.new" 0
- push_c 3
- call "Memory.alloc" 1
- d_load ret
- copy_d ptr 0
- d_load arg 0
- jumpif_d ge -> String.new$IF_FALSE0
- push_c 14
- call "Sys.error" 1
- -- (String.new$IF_FALSE0)
- d_load arg 0
- jumpif_d le -> String.new$IF_FALSE1
- d_load arg 0
- push_d
- call "Array.new" 1
- d_load ret
- copy_d this 1
- -- (String.new$IF_FALSE1)
- d_load arg 0
- copy_d this 0
- copy_c 0, this 2
- d_load ptr 0
- copy_d ret
- return
- function "String.length" 0
- d_load arg 0
- copy_d ptr 0
- d_load this 2
- copy_d ret
- return
- function "String.charAt" 0
- d_load arg 0
- copy_d ptr 0
- d_load arg 1
- d_comp lt
- push_d
- d_load arg 1
- d_sub this 2
- d_comp gt
- d_or pop
- push_d
- d_load arg 1
- d_sub this 2
- d_comp eq
- d_or pop
- jumpif_d eq -> String.charAt$IF_FALSE0
- push_c 15
- call "Sys.error" 1
- -- (String.charAt$IF_FALSE0)
- d_load arg 1
- d_add this 1
- copy_d ptr 1
- d_load that 0
- copy_d ret
- return
- function "String.appendChar" 0
- d_load arg 0
- copy_d ptr 0
- d_load this 2
- d_sub this 0
- jumpif_d ne -> String.appendChar$IF_FALSE0
- push_c 17
- call "Sys.error" 1
- -- (String.appendChar$IF_FALSE0)
- d_load this 2
- d_add this 1
- push_d
- d_load arg 1
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- m_op this 2 [+1]
- d_load ptr 0
- copy_d ret
- return
- function "String.setInt" 4
- d_load arg 0
- copy_d ptr 0
- d_load this 0
- jumpif_d ne -> String.setInt$IF_FALSE0
- push_c 19
- call "Sys.error" 1
- -- (String.setInt$IF_FALSE0)
- push_c 6
- call "Array.new" 1
- d_load ret
- copy_d lcl 2
- d_load arg 1
- jumpif_d ge -> String.setInt$IF_FALSE1
- copy_c 65535, lcl 3
- m_op arg 1 [0-]
- -- (String.setInt$IF_FALSE1)
- d_load arg 1
- copy_d lcl 1
- -- (String.setInt$WHILE_EXP0)
- d_load lcl 1
- jumpif_d le -> String.setInt$WHILE_END0
- d_load arg 1
- push_d
- push_c 10
- call "Math.divide" 2
- d_load ret
- copy_d lcl 1
- d_load lcl 0
- d_add lcl 2
- push_d
- push_c 48
- d_load arg 1
- push_d
- d_load lcl 1
- push_d
- push_c 10
- call "Math.multiply" 2
- d_load ret
- d_sub pop
- d_add pop
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- m_op lcl 0 [+1]
- d_load lcl 1
- copy_d arg 1
- jump -> String.setInt$WHILE_EXP0
- -- (String.setInt$WHILE_END0)
- d_load lcl 3
- jumpif_d eq -> String.setInt$IF_FALSE2
- d_load lcl 0
- d_add lcl 2
- push_d
- copy_c 45, tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- m_op lcl 0 [+1]
- -- (String.setInt$IF_FALSE2)
- d_load this 0
- d_sub lcl 0
- jumpif_d ge -> String.setInt$IF_FALSE3
- push_c 19
- call "Sys.error" 1
- -- (String.setInt$IF_FALSE3)
- d_load lcl 0
- jumpif_d ne -> String.setInt$IF_FALSE4
- d_load this 1 [+0]
- push_d
- copy_c 48, tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- copy_c 1, this 2
- jump -> String.setInt$IF_END4
- -- (String.setInt$IF_FALSE4)
- copy_c 0, this 2
- -- (String.setInt$WHILE_EXP1)
- d_load this 2
- d_sub lcl 0
- jumpif_d ge -> String.setInt$WHILE_END1
- d_load this 2
- d_add this 1
- push_d
- d_load lcl 0
- d_sub this 2 [+1]
- d_add lcl 2
- copy_d ptr 1
- d_load that 0
- copy_d tmp 0
- d_pop
- copy_d ptr 1
- d_load tmp 0
- copy_d that 0
- m_op this 2 [+1]
- jump -> String.setInt$WHILE_EXP1
- -- (String.setInt$WHILE_END1)
- -- (String.setInt$IF_END4)
- d_load lcl 2
- push_d
- call "Array.dispose" 1
- return
- function "String.newLine" 0
- copy_c 128, ret
- return
- function "String.backSpace" 0
- copy_c 129, ret
- return
- module "Sys"
- function "Sys.init" 0
- call "Memory.init" 0
- call "Math.init" 0
- call "Screen.init" 0
- call "Output.init" 0
- call "Keyboard.init" 0
- call "Main.main" 0
- call "Sys.halt" 0
- return
- function "Sys.halt" 0
- -- (Sys.halt$WHILE_EXP0)
- jump -> Sys.halt$WHILE_EXP0
- -- (Sys.halt$WHILE_END0)
- return
- function "Sys.wait" 1
- d_load arg 0
- jumpif_d ge -> Sys.wait$IF_FALSE0
- push_c 1
- call "Sys.error" 1
- -- (Sys.wait$IF_FALSE0)
- -- (Sys.wait$WHILE_EXP0)
- d_load arg 0
- jumpif_d le -> Sys.wait$WHILE_END0
- copy_c 50, lcl 0
- -- (Sys.wait$WHILE_EXP1)
- d_load lcl 0
- jumpif_d le -> Sys.wait$WHILE_END1
- m_op lcl 0 [+65535]
- jump -> Sys.wait$WHILE_EXP1
- -- (Sys.wait$WHILE_END1)
- m_op arg 0 [+65535]
- jump -> Sys.wait$WHILE_EXP0
- -- (Sys.wait$WHILE_END0)
- return
- function "Sys.error" 0
- push_c 3
- call "String.new" 1
- d_load ret
- push_d
- push_c 69
- call "String.appendChar" 2
- d_load ret
- push_d
- push_c 82
- call "String.appendChar" 2
- d_load ret
- push_d
- push_c 82
- call "String.appendChar" 2
- d_load ret
- push_d
- call "Output.printString" 1
- d_load arg 0
- push_d
- call "Output.printInt" 1
- call "Sys.halt" 0
- return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement