opo 11, 100 opo 17, 64 opo 22, 12 opo 22, 12 #def speed #def arc #def heat ;########## moving ##########; !m1 ipo 1, ax cmp ax, 0 jeq !m2 opo 14, 4 jmp !s1 !m2 cmp speed, -74 jeq !m4 mov speed, -74 !m5 opo 11, speed jmp !s1 !m4 mov speed, 100 jmp !m5 ;########## scanning ##########; !s1 ipo 17, arc ipo 7, ax cmp ax, 1500 jgr !s2 cmp arc, 4 jeq !f1 ipo 17, arc shr arc, 1 opo 17, arc mpy arc, @3 opo 12, arc opo 15 jmp !m1 !s2 cmp arc, 64 jls !s3 opo 12, 128 jmp !m1 !s3 shl arc, 1 opo 17, arc jmp !m1 ;########## shooting ##########; !f1 opo 17, 64 ipo 2, heat cmp @7, 0 jeq !f2 ipo 2, heat cmp heat, 200 jgr !m1 cmp heat, 75 jls !f3 !f4 opo 15, @3 opo 15, @3 opo 18, 0 jmp !m1 !f2 cmp heat, 75 jls !f5 !f6 opo 15, @3 opo 15, @3 opo 15, @3 opo 15, @3 opo 15, @3 opo 15, @3 opo 15, @3 opo 18, 0 jmp !m1 !f5 opo 18, 1 jmp !f6 !f3 opo 18, 1 jmp !f4