;####### 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 #msg i'm good #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 int 3 ;Sets keepshift, AX 0=off 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 ;Sets throttle mov speed, 100 ;Sets V = N :64 call !m1 ;Calls Subroutine at lable #N (PUSHES ip) 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 ;Calls Subroutine at lable #N (PUSHES ip) 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 je 4 ;Jumps to label N if last compare was = jne 4 ;Jumps to label #N if last compare was <> :4 call !m1 ;Calls Subroutine at lable #N (PUSHES ip) 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 16 ;Jumps to label #N if last compare was > cmp @7, 0 ;Compares 2 numbers, results in flags reg. jeq !FIRE ;Jumps to label N if last compare was = call !heat2 ;Calls Subroutine at lable #N (PUSHES ip) opo 15, @3 ;Fires weapon w/angle adjustment opo 15, @3 ;Fires weapon w/angle adjustment mov ax, @3 ;Sets V = N shl ax, 1 ;Bit-Shifts V left N bit Positions opo 12, ax ;Offsets turret (cumlative) opo 18, 0 ;Sets/returns overburn status je 4 ;Jumps to label N if last compare was = jne 4 ;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 je 4 ;Jumps to label N if last compare was = jne 4 ;Jumps to label #N if last compare was <> !heat call !m1 ;Calls Subroutine at lable #N (PUSHES ip) 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 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 <>