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