;####### Phat ######## ;this is a crap bot that i hope has won ;if it has yand you want to know why then email me ; cheese321@hotmail.com ;you all will dies #config armor=2 ; consumes 2 points #config scanner=3 ; gives us 5 points #config engine=3 ; gives us 2 points #config heatsinks=1 ; gives us 1 point #config mines=0 ; consumes 5 points #config weapon=3 ; gives us 2 points #config shield=0 ; consumes 3 points #msg i'm good opo 22, 12 ;Sets/returns Lays mines or returns mines remaining opo 22, 12 ;Sets/returns Lays mines or returns mines remaining #def speed opo 11, 100 mov speed, 100 ;Sets V = N :64 call !m1 opo 17, 64 ;Sets/returns scan-arc width ipo 7, ax ;Returns range to nearest target in scan arc cmp ax, 2000 ;Compares 2 numbers, results in flags reg. jgr !64-2big ;Jumps to label #N if last compare was > mov ax, @3 ;Sets V = N shl ax, 5 ;Bit-Shifts V left N bit Positions opo 12, ax ;Offsets turret (cumlative) opo 15 ;Fires weapon w/angle adjustment je 16 ;Jumps to label N if last compare was = jne 16 ;Jumps to label #N if last compare was <> !64-2big opo 12, 128 ;Offsets turret (cumlative) je 64 ;Jumps to label N if last compare was = jne 64 ;Jumps to label #N if last compare was <> :16 call !m1 opo 17, 16 ;Sets/returns scan-arc width ipo 7, ax ;Returns range to nearest target in scan arc cmp ax, 1500 ;Compares 2 numbers, results in flags reg. jgr 64 ;Jumps to label #N if last compare was > mov ax, @3 ;Sets V = N shl ax, 3 ;Bit-Shifts V left N bit Positions opo 12, ax ;Offsets turret (cumlative) opo 15 ;Fires weapon w/angle adjustment :8 call !m1 opo 17, 8 ipo 7, fx cmp fx, 2000 jgr 16 mov fx, @3 mov ax, fx shl ax, 1 opo 15, ax shl fx, 2 opo 12, fx :4 opo 17, 4 ;Sets/returns scan-arc width call !heat ;Calls Subroutine at lable #N (PUSHES ip) ipo 7, ax ;Returns range to nearest target in scan arc cmp ax 2000 ;Compares 2 numbers, results in flags reg. jgr 8 ;Jumps to label #N if last compare was > call !heat2 ;Calls Subroutine at lable #N (PUSHES ip) mov fx, @3 shl fx, 2 opo 15, fx ;Fires weapon w/angle adjustment opo 15, fx ;Fires weapon w/angle adjustment opo 12, fx ;Offsets turret (cumlative) opo 18, 0 ;Sets/returns overburn status je 2 ;Jumps to label N if last compare was = jne 2 ;Jumps to label #N if last compare was <> !FIRE opo 15, @3 ;Fires weapon w/angle adjustment opo 15, @3 ;Fires weapon w/angle adjustment opo 15, @3 ;Fires weapon w/angle adjustment opo 15, @3 ;Fires weapon w/angle adjustment opo 15, @3 ;Fires weapon w/angle adjustment opo 15, @3 ;Fires weapon w/angle adjustment opo 15, @3 ;Fires weapon w/angle adjustment :2 opo 17, 2 call !heat ipo 7, fx cmp fx, 2000 jgr 4 cmp @7, 0 jeq !FIRE call !heat2 opo 15, @3 opo 15, @3 opo 12, @3 opo 18, 0 je 2 jne 2 !heat call !m1 opo 18, 0 ;Sets/returns overburn status ipo 2, ax cmp ax, 200 ;Compares 2 numbers, results in flags reg. jgr !heat ;Jumps to label #N if last compare was > ret ;Returns From Subroutine (POPS the ip) !heat2 ipo 2, ax cmp ax, 150 ;Compares 2 numbers, results in flags reg. jgr !heat-2big ;Jumps to label #N if last compare was > opo 18, 1 ;Sets/returns overburn status !heat-2big ret ;Returns From Subroutine (POPS the ip) !m1 ipo 1, ax cmp ax, 0 ;Compares 2 numbers, results in flags reg. jeq !m2 ;Jumps to label N if last compare was = opo 14, 4 ;Turn specified number of degrees opo 12, -4 ret ;Returns From Subroutine (POPS the ip) !m2 cmp speed, -74 ;Compares 2 numbers, results in flags reg. jeq !m4 ;Jumps to label N if last compare was = mov speed, -74 ;Sets V = N !m5 opo 11, speed ;Sets throttle ret ;Returns From Subroutine (POPS the ip) !m4 mov speed, 100 ;Sets V = N je !m5 ;Jumps to label N if last compare was = jne !m5 ;Jumps to label #N if last compare was <>