; Generated by ; CAT Version 0.2, C compiler for AT-Robots, (c) Hendrix, Dunaszegi ; ; Tamas Dunaszegi, dunasz@mail.datanet.hu JMP !main #config scanner=5 #config weapon=1 #config armor=0 #config engine=5 #config heatsinks=1 !main MOV @0130,64 MOV @0128,5 MOV @0131,2 MOV ax,1 INT 3 MOV ax,1 INT 4 OPO 11,100 CALL !start MOV @510,2 SAL @510,@0128 OPO 17,@510 !2 IPO 7,@510 MOV @0129,@510 !3 CMP @0129,5000 JLE !4 CMP @0128,5 JGE !5 ADD @0128,1 JMP !6 !5 OPO 12,128 JMP !7 !6 CALL !edge CMP [13],768 JGE !8 CALL !away !8 MOV @510,2 SAL @510,@0128 OPO 17,@510 IPO 7,@510 MOV @0129,@510 JMP !3 !4 !9 CMP @0129,5000 JGE !10 CMP [3],0 JEQ !11 MOV @510,[3] SAL @510,@0128 OPO 12,@510 !11 CMP @0128,1 JLE !12 SUB @0128,1 JMP !13 !12 CALL !fire JMP !7 !13 CALL !edge CMP [13],768 JGE !14 CALL !away !14 MOV @510,2 SAL @510,@0128 OPO 17,@510 IPO 7,@510 MOV @0129,@510 JMP !9 !10 !7 CALL !move JMP !2 RET !edge INT 2 JMP [1] JMP !18 :0 CMP fx,300 JLE !19 RET !19 CMP ex,500 JGE !20 MOV @0130,64 JMP !21 !20 MOV @0130,-64 !21 JMP !22 :64 CMP ex,700 JGE !23 RET !23 CMP fx,500 JGE !24 MOV @0130,64 JMP !25 !24 MOV @0130,-64 !25 JMP !22 :128 CMP fx,700 JGE !26 RET !26 CMP ex,500 JGE !27 MOV @0130,-64 JMP !28 !27 MOV @0130,64 !28 JMP !22 :192 CMP ex,300 JLE !29 RET !29 CMP fx,500 JGE !30 MOV @0130,-64 JMP !31 !30 MOV @0130,64 !31 JMP !22 !18 !17 RET !22 CMP @0131,0 JLE !32 OPO 22,10 SUB @0131,1 !32 OPO 14,@0130 RET !away IPO 1,@510 CMP @510,10 JGE !34 RET !34 IPO 3,@510 CMP @510,[1] JEQ !35 RET !35 CMP @0129,900 JGE !37 CMP [2],216 JGR !38 CMP [2],40 JGE !37 !38 JMP !40 !37 JMP !36 !40 MOV @510,[1] ADD @510,12288 JMP @510 JMP !43 :12288 CMP fx,700 JLE !44 CMP @0130,0 JGE !46 CMP ex,300 JLS !47 !46 JMP !45 !47 NEG @0130 !45 !44 JMP !42 :12352 CMP ex,300 JGE !48 CMP @0130,0 JGE !50 CMP fx,300 JLS !51 !50 JMP !49 !51 NEG @0130 !49 !48 JMP !42 :12416 CMP fx,300 JGE !52 CMP @0130,0 JGE !54 CMP ex,700 JGR !55 !54 JMP !53 !55 NEG @0130 !53 !52 JMP !42 :12480 CMP ex,700 JLE !56 CMP @0130,0 JGE !58 CMP fx,700 JGR !59 !58 JMP !57 !59 NEG @0130 !57 !56 !43 !42 OPO 14,@0130 OPO 14,@0130 NEG @0130 !36 RET !move IPO 3,@510 CMP @510,[1] JEQ !61 RET !61 CALL !edge !62 IPO 1,@510 CMP @510,1 JGE !63 !64 IPO 3,@510 CMP @510,[1] JEQ !65 JMP !64 !65 CALL !edge !66 IPO 3,@510 CMP @510,[1] JEQ !67 JMP !66 !67 MOV ax,1 INT 4 OPO 11,100 !63 CALL !away RET !start INT 2 IPO 3,@510 NEG @510 OPO 12,@510 OPO 17,32 IPO 7,@510 CMP @510,5000 JGE !69 CMP ex,500 JLE !70 IPO 3,@510 NEG @510 SUB @510,64 OPO 14,@510 CMP fx,500 JGE !71 MOV @0130,-64 !71 JMP !72 !70 IPO 3,@510 NEG @510 ADD @510,64 OPO 14,@510 CMP fx,500 JLE !73 MOV @0130,-64 !73 !72 JMP !74 !69 OPO 12,128 IPO 7,@510 CMP @510,5000 JGE !75 CMP ex,500 JLE !76 IPO 3,@510 NEG @510 SUB @510,64 OPO 14,@510 CMP fx,500 JGE !77 MOV @0130,-64 !77 JMP !78 !76 IPO 3,@510 NEG @510 ADD @510,64 OPO 14,@510 CMP fx,500 JLE !79 MOV @0130,-64 !79 !78 JMP !80 !75 CMP fx,500 JGE !81 IPO 3,@510 MOV @509,@510 MOV @510,128 SUB @510,@509 OPO 14,@510 CMP ex,500 JGE !82 MOV @0130,-64 !82 JMP !83 !81 IPO 3,@510 NEG @510 OPO 14,@510 CMP ex,500 JLE !84 MOV @0130,-64 !84 !83 !80 !74 RET !aim MOV @509,@0510 ADD @509,4096 JMP @509 JMP !88 :4168 ADD @0133,25 JMP !87 :4296 ADD @0133,-25 JMP !87 :4152 :4184 ADD @0133,24 JMP !87 :4280 :4312 ADD @0133,-24 JMP !87 :4167 ADD @0133,22 JMP !87 :4295 ADD @0133,-22 JMP !87 :4151 :4183 ADD @0133,20 JMP !87 :4279 :4311 ADD @0133,-20 JMP !87 :4136 :4166 :4200 ADD @0133,18 JMP !87 :4264 :4294 :4328 ADD @0133,-18 JMP !87 :4150 :4182 ADD @0133,17 JMP !87 :4278 :4310 ADD @0133,-17 JMP !87 :4135 :4165 :4199 ADD @0133,15 JMP !87 :4263 :4293 :4327 ADD @0133,-15 JMP !87 :4149 :4181 ADD @0133,14 JMP !87 :4277 :4309 ADD @0133,-14 JMP !87 :4134 :4164 :4198 ADD @0133,12 JMP !87 :4262 :4292 :4326 ADD @0133,-12 JMP !87 :4148 :4180 ADD @0133,11 JMP !87 :4276 :4308 ADD @0133,-11 JMP !87 :4133 :4197 ADD @0133,10 JMP !87 :4261 :4325 ADD @0133,-10 JMP !87 :4120 :4216 ADD @0133,9 JMP !87 :4248 :4344 ADD @0133,-9 JMP !87 :4132 :4163 :4196 ADD @0133,8 JMP !87 :4260 :4291 :4324 ADD @0133,-8 JMP !87 :4119 :4147 :4179 :4215 ADD @0133,7 JMP !87 :4247 :4275 :4307 :4343 ADD @0133,-7 JMP !87 :4118 :4131 :4195 :4214 ADD @0133,6 JMP !87 :4246 :4259 :4323 :4342 ADD @0133,-6 JMP !87 :4117 :4146 :4162 :4178 :4213 ADD @0133,5 JMP !87 :4245 :4274 :4290 :4306 :4341 ADD @0133,-5 JMP !87 :4116 :4212 ADD @0133,4 JMP !87 :4244 :4340 ADD @0133,-4 JMP !87 :4130 :4194 ADD @0133,3 JMP !87 :4258 :4322 ADD @0133,-3 JMP !87 :4115 :4145 :4161 :4177 :4211 ADD @0133,2 JMP !87 :4243 :4273 :4289 :4305 :4339 ADD @0133,-2 JMP !87 :4114 :4129 :4193 :4210 ADD @0133,1 JMP !87 :4242 :4257 :4321 :4338 ADD @0133,-1 JMP !87 :4096 :4097 :4098 :4099 :4100 :4101 :4102 :4103 :4104 :4112 :4113 :4128 :4144 :4160 :4176 :4192 :4208 :4209 :4224 :4225 :4226 :4227 :4228 :4229 :4230 :4231 :4232 :4240 :4241 :4256 :4272 :4288 :4304 :4320 :4336 :4337 JMP !87 !88 MOV @509,@0510 ERR @509 !87 RET !fire IPO 2,@510 CMP @510,50 JLE !90 RET !90 MOV @0133,0 MOV @510,[2] AND @510,240 MOV @509,[0] SAR @509,5 ADD @510,@509 CALL !aim MOV @510,[6] AND @510,240 MOV @509,[13] SAR @509,7 ADD @510,@509 CALL !aim OPO 12,@0133 CMP @0129,400 JGE !91 OPO 15,4 OPO 15,-4 OPO 15,3 OPO 15,-3 OPO 15,2 OPO 15,-2 OPO 15,1 OPO 15,-1 OPO 15,0 JMP !92 !91 CMP [13],592 JGE !93 OPO 15,1 OPO 15,0 OPO 15,-1 JMP !94 !93 OPO 15,4 OPO 15,2 OPO 15,0 OPO 15,-2 OPO 15,-4 !94 !92 RET