opo 11, 100 mov ax, 1 int 3 !Scan !ScanFlip opo 12, 128 !Scan64 call !move opo 17, 64 ipo 7, ax cmp ax, 2000 jgr !ScanFlip mov bx, @3 shl bx, 5 opo 12, bx !Scan16 call !move opo 17, 16 ipo 7, ax cmp ax, 2000 jgr !Scan64 mov bx, @3 shl bx, 3 opo 12, bx call !HeatCheckBig !Scan4 call !move opo 17, 4 ipo 7, ax cmp ax, 2000 jgr !Scan16 mov bx, @3 shl bx, 1 opo 12, bx call !HeatCheckBig cmp ax, 100 jls !CloseFire4 !Scan2 call !move opo 17, 2 ipo 7, ax cmp ax, 2000 jgr !Scan4 opo 12, @3 call !HeatCheckSmall cmp ax, 100 jls !CloseFire2 !Scan2End je !Scan2 jne !Scan2 !HeatCheckBig err 100 ipo 2, dx cmp dx, 275 jgr !HeatEnd cmp @7, 10 jls !SlowMoverKill opo 15, 0 !HeatEnd ret !HeatCheckSmall err 200 ipo 2, dx cmp dx, 275 jgr !HeatEnd ipo 7, ax cmp @7, 10 jls !SlowMoverKill opo 15, @3 opo 12, @3 ret !CloseFire4 err 300 cmp dx, 250 jgr !Scan2 opo 18, 1 opo 15, 1 opo 15, 0 opo 15, -1 opo 18, 0 je !Scan2 jne !Scan2 !CloseFire2 err 300 cmp dx, 250 jgr !Scan2End opo 18, 1 opo 15, 1 opo 15, 0 opo 15, -1 opo 18, 0 je !Scan2End jne !Scan2End !SlowMoverKill err 400 opo 11, 10 ipo 1, bx cmp bx, 10 jgr !SlowMoverEnd opo 18, 1 opo 15, 0 opo 15, 0 opo 15, 0 opo 18, 0 opo 11, 100 !SlowMoverEnd ret !move ;opo 11, 100 int 2 cmp ex, 100 jls !mleft cmp ex, 900 jgr !mright cmp fx, 100 jls !mup cmp fx, 900 jgr !mdown je !mclear jne !mclear !mleft ipo 3, ax mov bx, 64 sub bx, ax opo 14, bx ret !mright ipo 3, ax mov bx, 192 sub bx, ax opo 14, bx opo 11, 100 ret !mdown ipo 3, ax mov bx, 0 sub bx, ax opo 14, bx opo 11, 100 ret !mup ipo 3, ax mov bx, 128 sub bx, ax opo 14, bx opo 11, 100 ret !mclear mov ax, @2 add ax, 16 opo 14, ax ret