; Generated by ; CAT Version 0.23, C compiler for AT-Robots, (c) Hendrix, Dunaszegi ; ; Tamas Dunaszegi, dunasz@mail.datanet.hu #msg Catch me! #config scanner=4 #config weapon=1 #config armor=0 #config engine=5 #config heatsinks=2 !main MOV ax,1 INT 4 MOV ax,1 INT 3 OPO 11,100 CALL !scan MOV @510,[2] CMP [2],64 JLS !2 CMP [2],192 JLE !4 !2 ADD @510,-64 JZ !5 JNZ !5 !4 ADD @510,64 !5 OPO 14,@510 CMP @0129,400 JGE !6 MOV CX,30 !7 OPO 15,0 LOOP !7 !8 !6 !9 IPO 3,@510 CMP @510,[1] JEQ !10 JZ !9 JNZ !9 !10 MOV @0130,64 CALL !start MOV @0131,2 OPO 17,@0128 !11 IPO 7,@0129 !12 CMP @0129,5000 JLE !13 CMP @0128,64 JGE !14 SAL @0128,1 OPO 17,@0128 JZ !15 JNZ !15 !14 OPO 12,128 JZ !16 JNZ !16 !15 CALL !edge CMP @0129,500 JGE !17 CALL !away !17 IPO 7,@0129 JZ !12 JNZ !12 !13 !18 CMP @0129,5000 JGE !19 CMP [3],0 JEQ !20 MOV @510,[3] MPY @510,@0128 SAR @510,1 OPO 12,@510 JZ !21 JNZ !21 !20 SAR @0128,1 !21 SAR @0128,1 CMP @0128,1 JGE !22 MOV @0128,1 OPO 17,@0128 CALL !fire JZ !16 JNZ !16 !22 OPO 17,@0128 CALL !edge CMP @0129,500 JGE !23 CALL !away !23 IPO 7,@0129 JZ !18 JNZ !18 !19 !16 CALL !move JZ !11 JNZ !11 RET !edge INT 2 JZ [1] JNZ [1] JZ !27 JNZ !27 :0 CMP fx,200 JLE !28 RET !28 CMP ex,500 JGE !29 MOV @0130,64 JZ !30 JNZ !30 !29 MOV @0130,-64 !30 JZ !31 JNZ !31 :64 CMP ex,800 JGE !32 RET !32 CMP fx,500 JGE !33 MOV @0130,64 JZ !34 JNZ !34 !33 MOV @0130,-64 !34 JZ !31 JNZ !31 :128 CMP fx,800 JGE !35 RET !35 CMP ex,500 JGE !36 MOV @0130,-64 JZ !37 JNZ !37 !36 MOV @0130,64 !37 JZ !31 JNZ !31 :192 CMP ex,200 JLE !38 RET !38 CMP fx,500 JGE !39 MOV @0130,-64 JZ !40 JNZ !40 !39 MOV @0130,64 !40 JZ !31 JNZ !31 !27 !26 RET !31 CMP @0131,0 JLE !41 OPO 22,10 SUB @0131,1 !41 OPO 14,@0130 RET !away IPO 3,@510 CMP @510,[1] JEQ !43 RET !43 CMP @0129,900 JGE !45 CMP [2],216 JGR !46 CMP [2],40 JGE !45 !46 JZ !48 JNZ !48 !45 JZ !44 JNZ !44 !48 MOV @510,[1] ADD @510,12288 JZ @510 JNZ @510 JZ !51 JNZ !51 :12288 CMP fx,800 JLE !52 CMP @0130,0 JGE !54 CMP ex,200 JLS !55 !54 JZ !53 JNZ !53 !55 NEG @0130 !53 !52 JZ !50 JNZ !50 :12352 CMP ex,200 JGE !56 CMP @0130,0 JGE !58 CMP fx,200 JLS !59 !58 JZ !57 JNZ !57 !59 NEG @0130 !57 !56 JZ !50 JNZ !50 :12416 CMP fx,200 JGE !60 CMP @0130,0 JGE !62 CMP ex,800 JGR !63 !62 JZ !61 JNZ !61 !63 NEG @0130 !61 !60 JZ !50 JNZ !50 :12480 CMP ex,800 JLE !64 CMP @0130,0 JGE !66 CMP fx,800 JGR !67 !66 JZ !65 JNZ !65 !67 NEG @0130 !65 !64 !51 !50 MOV @510,@0130 SAL @510,1 OPO 14,@510 NEG @0130 !44 RET !move CALL !edge IPO 1,@510 CMP @510,1 JGE !69 CALL !edge MOV ax,1 INT 4 OPO 11,100 !69 CALL !away RET !start INT 2 IPO 3,@510 NEG @510 OPO 12,@510 OPO 17,32 IPO 7,@510 CMP @510,5000 JGE !71 CMP ex,500 JLE !72 IPO 3,@510 NEG @510 SUB @510,64 OPO 14,@510 CMP fx,500 JGE !73 MOV @0130,-64 !73 JZ !74 JNZ !74 !72 IPO 3,@510 NEG @510 ADD @510,64 OPO 14,@510 CMP fx,500 JLE !75 MOV @0130,-64 !75 !74 JZ !76 JNZ !76 !71 OPO 12,128 IPO 7,@510 CMP @510,5000 JGE !77 CMP ex,500 JLE !78 IPO 3,@510 NEG @510 SUB @510,64 OPO 14,@510 CMP fx,500 JGE !79 MOV @0130,-64 !79 JZ !80 JNZ !80 !78 IPO 3,@510 NEG @510 ADD @510,64 OPO 14,@510 CMP fx,500 JLE !81 MOV @0130,-64 !81 !80 JZ !82 JNZ !82 !77 CMP fx,500 JGE !83 IPO 3,@509 MOV @510,128 SUB @510,@509 OPO 14,@510 CMP ex,500 JGE !84 MOV @0130,-64 !84 JZ !85 JNZ !85 !83 IPO 3,@510 NEG @510 OPO 14,@510 CMP ex,500 JLE !86 MOV @0130,-64 !86 !85 !82 !76 RET !aim MOV @509,@0510 ADD @509,4096 JZ @509 JNZ @509 JZ !90 JNZ !90 :4168 ADD @0133,25 JZ !89 JNZ !89 :4296 ADD @0133,-25 JZ !89 JNZ !89 :4152 :4184 ADD @0133,24 JZ !89 JNZ !89 :4280 :4312 ADD @0133,-24 JZ !89 JNZ !89 :4167 ADD @0133,22 JZ !89 JNZ !89 :4295 ADD @0133,-22 JZ !89 JNZ !89 :4151 :4183 ADD @0133,20 JZ !89 JNZ !89 :4279 :4311 ADD @0133,-20 JZ !89 JNZ !89 :4136 :4166 :4200 ADD @0133,18 JZ !89 JNZ !89 :4264 :4294 :4328 ADD @0133,-18 JZ !89 JNZ !89 :4150 :4182 ADD @0133,17 JZ !89 JNZ !89 :4278 :4310 ADD @0133,-17 JZ !89 JNZ !89 :4135 :4165 :4199 ADD @0133,15 JZ !89 JNZ !89 :4263 :4293 :4327 ADD @0133,-15 JZ !89 JNZ !89 :4149 :4181 ADD @0133,14 JZ !89 JNZ !89 :4277 :4309 ADD @0133,-14 JZ !89 JNZ !89 :4134 :4164 :4198 ADD @0133,12 JZ !89 JNZ !89 :4262 :4292 :4326 ADD @0133,-12 JZ !89 JNZ !89 :4148 :4180 ADD @0133,11 JZ !89 JNZ !89 :4276 :4308 ADD @0133,-11 JZ !89 JNZ !89 :4133 :4197 ADD @0133,10 JZ !89 JNZ !89 :4261 :4325 ADD @0133,-10 JZ !89 JNZ !89 :4120 :4216 ADD @0133,9 JZ !89 JNZ !89 :4248 :4344 ADD @0133,-9 JZ !89 JNZ !89 :4132 :4163 :4196 ADD @0133,8 JZ !89 JNZ !89 :4260 :4291 :4324 ADD @0133,-8 JZ !89 JNZ !89 :4119 :4147 :4179 :4215 ADD @0133,7 JZ !89 JNZ !89 :4247 :4275 :4307 :4343 ADD @0133,-7 JZ !89 JNZ !89 :4118 :4131 :4195 :4214 ADD @0133,6 JZ !89 JNZ !89 :4246 :4259 :4323 :4342 ADD @0133,-6 JZ !89 JNZ !89 :4117 :4146 :4162 :4178 :4213 ADD @0133,5 JZ !89 JNZ !89 :4245 :4274 :4290 :4306 :4341 ADD @0133,-5 JZ !89 JNZ !89 :4116 :4212 ADD @0133,4 JZ !89 JNZ !89 :4244 :4340 ADD @0133,-4 JZ !89 JNZ !89 :4130 :4194 ADD @0133,3 JZ !89 JNZ !89 :4258 :4322 ADD @0133,-3 JZ !89 JNZ !89 :4115 :4145 :4161 :4177 :4211 ADD @0133,2 JZ !89 JNZ !89 :4243 :4273 :4289 :4305 :4339 ADD @0133,-2 JZ !89 JNZ !89 :4114 :4129 :4193 :4210 ADD @0133,1 JZ !89 JNZ !89 :4242 :4257 :4321 :4338 ADD @0133,-1 JZ !89 JNZ !89 :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 JZ !89 JNZ !89 !90 ERR @0510 !89 RET !fire IPO 2,@510 CMP @510,50 JLE !92 RET !92 CMP [13],10 JGE !93 OPO 17,2 IPO 7,@510 CMP @510,5000 JGE !94 OPO 12,[3] !95 IPO 2,@510 CMP @510,250 JGE !96 OPO 15,0 JZ !95 JNZ !95 !96 JZ !97 JNZ !97 !94 !98 IPO 2,@510 CMP @510,250 JGE !99 OPO 15,-1 OPO 15,0 OPO 15,1 JZ !98 JNZ !98 !99 !97 JZ !100 JNZ !100 !93 MOV @0133,0 MOV @510,[2] AND @510,240 MOV @509,[0] SAR @509,7 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 OPO 15,0 OPO 15,1 OPO 15,-1 OPO 15,2 OPO 15,-2 !100 OPO 11,100 RET !scan MOV @0128,64 OPO 17,@0128 IPO 7,@0129 CMP @0129,5000 JLE !102 OPO 12,128 IPO 7,@0129 !102 !103 CMP @0129,5000 JGE !104 CMP [3],0 JEQ !105 MOV @510,[3] MPY @510,@0128 SAR @510,1 OPO 12,@510 JZ !106 JNZ !106 !105 SAR @0128,1 !106 SAR @0128,1 CMP @0128,1 JGE !107 MOV @0128,1 RET !107 OPO 17,@0128 IPO 7,@0129 JZ !103 JNZ !103 !104 RET