; Compiled by CAT Version 0.1, a tiny C compiler for AT-Robots ; 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 @0128,5 MOV ax,1 INT 3 CALL !start !2 IPO 1,@510 CMP @510,5 JGE !3 OPO 11,100 MOV ax,1 INT 4 !3 MOV @510,2 SAL @510,@0128 ADD @510,2 OPO 17,@510 IPO 7,@510 MOV @0129,@510 CMP @0129,5000 JGE !4 MOV @510,[3] SAL @510,@0128 OPO 12,@510 CMP @0130,0 JEQ !5 CALL !fire !5 CMP @0128,2 JLE !6 SUB @0128,1 !6 CMP [3],0 JNE !8 CMP @0128,1 JGR !9 !8 JMP !7 !9 SUB @0128,1 !7 MOV @0130,1 JMP !10 !4 CMP @0128,5 JGE !11 ADD @0128,1 JMP !12 !11 OPO 12,128 !12 MOV @0130,0 !10 CALL !move JMP !2 MOV @512,@512 RET !move CMP @0129,900 JGE !15 CMP [2],216 JGR !16 CMP [2],40 JGE !15 !16 JMP !18 !15 JMP !14 !18 MOV @510,[1] ADD @510,128 AND @510,255 MOV @0133,@510 OPO 14,@0131 OPO 14,@0131 !19 IPO 3,@510 CMP @510,@0133 JEQ !20 JMP !19 !20 NEG @0131 !14 INT 2 CMP [1],0 JNE !21 CMP fx,280 JGE !22 JMP !23 !22 JMP !24 !21 CMP [1],64 JNE !25 CMP ex,720 JLE !26 JMP !23 !26 JMP !27 !25 CMP [1],128 JNE !28 CMP fx,720 JLE !29 JMP !23 !29 JMP !30 !28 CMP [1],192 JNE !31 CMP ex,280 JGE !32 JMP !23 !32 !31 !30 !27 !24 IPO 1,@510 CMP @510,5 JGE !33 OPO 14,@0131 !33 MOV @512,@512 RET !23 CMP @0132,0 JLE !34 OPO 22,10 SUB @0132,1 !34 MOV @510,[1] ADD @510,@0131 AND @510,255 MOV @0133,@510 OPO 14,@0131 !35 IPO 3,@510 CMP @510,@0133 JEQ !36 JMP !35 !36 CMP @0129,900 JGE !38 CMP [2],216 JGR !39 CMP [2],40 JGE !38 !39 JMP !41 !38 JMP !37 !41 MOV @510,[1] ADD @510,128 AND @510,255 MOV @0133,@510 OPO 14,@0131 OPO 14,@0131 !42 IPO 3,@510 CMP @510,@0133 JEQ !43 JMP !42 !43 NEG @0131 !37 MOV @512,@512 RET !fire CMP @0128,2 JGR !46 IPO 2,@510 CMP @510,100 JLS !47 !46 JMP !45 !47 MOV ax,0 INT 4 CMP @0129,1000 JLE !48 MOV @510,[13] SAR @510,2 MOV @0134,@510 JMP !49 !48 CMP @0129,500 JLE !50 MOV @510,[13] SAR @510,3 MOV @0134,@510 JMP !51 !50 MOV @510,[13] SAR @510,4 MOV @0134,@510 !51 !49 AND @0134,-16 MOV @510,[6] ADD @510,16 SAR @510,5 ADD @0134,@510 MOV @510,@0134 ERR @510 JMP @0134 JMP !54 !54 MOV @0135,0 JMP !53 :17 :19 MOV @0135,2 JMP !53 :18 MOV @0135,3 JMP !53 :21 :23 MOV @0135,-2 JMP !53 :22 MOV @0135,-3 JMP !53 :33 :35 MOV @0135,4 JMP !53 :34 MOV @0135,6 JMP !53 :37 :39 MOV @0135,-4 JMP !53 :38 MOV @0135,-6 JMP !53 :49 :51 MOV @0135,6 JMP !53 :50 MOV @0135,9 JMP !53 :53 :55 MOV @0135,-6 JMP !53 :54 MOV @0135,-9 JMP !53 JMP !53 :65 :67 MOV @0135,8 JMP !53 :66 MOV @0135,12 JMP !53 :69 :71 MOV @0135,-8 JMP !53 :70 MOV @0135,-12 JMP !53 JMP !53 :81 :83 MOV @0135,10 JMP !53 :82 MOV @0135,15 JMP !53 :85 :87 MOV @0135,-10 JMP !53 :86 MOV @0135,-15 JMP !53 !53 MOV @510,[2] ADD @510,16 SAR @510,5 ADD @510,256 JMP @510 JMP !57 :256 :260 :264 !57 JMP !56 :257 :259 ADD @0135,4 JMP !56 :261 :263 SUB @0135,4 JMP !56 :258 ADD @0135,5 JMP !56 :262 SUB @0135,5 JMP !56 !56 CMP @0135,0 JEQ !58 OPO 12,@0135 !58 CMP [13],512 JGE !59 OPO 15,1 OPO 15,-1 OPO 15,0 OPO 15,1 OPO 15,-1 OPO 15,0 JMP !60 !59 OPO 15,4 OPO 15,-4 OPO 15,2 OPO 15,-2 OPO 15,1 OPO 15,-1 OPO 15,0 !60 MOV ax,1 INT 4 !45 MOV @512,@512 RET !start MOV ax,1 INT 4 MOV @0131,64 MOV @0132,2 INT 2 OPO 11,100 IPO 3,@510 NEG @510 OPO 12,@510 OPO 17,32 IPO 7,@510 CMP @510,5000 JGE !62 CMP ex,500 JLE !63 IPO 3,@510 NEG @510 SUB @510,64 OPO 14,@510 CMP fx,500 JGE !64 MOV @0131,-64 !64 JMP !65 !63 IPO 3,@510 NEG @510 ADD @510,64 OPO 14,@510 CMP fx,500 JLE !66 MOV @0131,-64 !66 !65 JMP !67 !62 OPO 12,128 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 @0131,-64 !70 JMP !71 !69 IPO 3,@510 NEG @510 ADD @510,64 OPO 14,@510 CMP fx,500 JLE !72 MOV @0131,-64 !72 !71 JMP !73 !68 CMP fx,500 JGE !74 IPO 3,@510 MOV @509,@510 MOV @510,128 SUB @510,@509 OPO 14,@510 CMP ex,500 JGE !75 MOV @0131,-64 !75 JMP !76 !74 IPO 3,@510 NEG @510 OPO 14,@510 CMP ex,500 JLE !77 MOV @0131,-64 !77 !76 !73 !67 MOV @512,@512 RET