Mercurial > hg > Members > kono > os9 > sbc09
diff game09/disasm09.game @ 68:ec9ef70bf6e4
add game09
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 05 Aug 2018 10:34:37 +0900 |
parents | |
children | 6be44b5de445 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/game09/disasm09.game Sun Aug 05 10:34:37 2018 +0900 @@ -0,0 +1,242 @@ +100 "ADDRESS=" A=? +110 "TO =" D=? @ !=900 +120 @=(A>D) #=-1 +900 / ??=A .=20 E=A !=1000 +910 $=$D .=5 B=0,5 ;=E+B>=A .=3 #=930 +920 ?$=E:B) " " +930 @=B+1 .=30 B=0,5 ;=E+B>=A #=970 +950 ;=E:B)>" " $=E:B) #=970 +960 " " +970 @=B+1 +990 ] +1000 ;=(A:0)>$7F) #=1200 +1010 ;=(A:0)=$10) #=1400 +1020 ;=(A:0)=$11) #=1600 +1030 ;=(A:0)=$12) "NOP" #=1800 +1040 ;=(A:0)=$13) "SYNC" #=1800 +1050 ;=(A:0)=$16) "LBRA" #=2000 +1060 ;=(A:0)=$17) "LBSR" #=2000 +1070 ;=(A:0)=$19) "DAA" #=1800 +1080 ;=(A:0)=$1A) "ORCC" #=2200 +1090 ;=(A:0)=$1C) "ANDCC" #=2400 +1100 ;=(A:0)=$1D) "SEX" #=1800 +1110 ;=(A:0)=$1E) "EXG" #=2600 +1120 ;=(A:0)=$1F) "TFR" #=2600 +1130 ;=((A:0)/16)=1) #=3200 +1140 ;=((A:0)/16)=2) #=2800 +1150 ;=((A:0)/16)=3) #=3000 +1160 ;=(A:0)=$4E) #=3200 +1170 ;=(A:0)=$5E) #=3200 +1180 #=3400 +1200 ;=(A:0)=$8D) "BSR" #=3600 +1210 ;=(%(A:0)/16)=3) #=3800 +1220 ;=(%(A:0)/16)=7) #=4000 +1230 ;=(%(A:0)/16)=13) #=4000 +1240 ;=(%(A:0)/16)=15) #=4000 +1250 ;=(%(A:0)/16)>11) #=4200 +1260 B=%(A:0)/16) !=4400 +1270 ;=(A:0)>$BF) #=4600 +1275 "A" +1280 !=7200 +1290 ;=(B=0) #=7000 +1300 ;=(B=1) A=A+2 " $" ?$=A:-1) ] +1310 ;=(B=2) #=4800 +1320 " $" A=A+3 ??=A(-1) ] +1400 ;=(A:1)=$20) #=5000 +1410 ;=(A:1)=$3F) A=A+2 "SWI2" ] +1420 ;=((A:1)/16)=2 A=A+1 #=5200 +1430 ;=(A:1)=$8F) #=5000 +1440 ;=(A:1)=$CF) #=5000 +1450 ;=(A:1)>$BF) #=5400 +1455 ;=(A:1)<$80) #=5000 +1460 !=7400 +1470 A=A+1 +1480 ;=(B=3) "CMPD" #=1280 +1490 ;=(B=12) "CMPY" #=1280 +1500 ;=(B=14) "LDY" #=1280 +1510 ;=(B=15) "STY" #=1280 +1520 #=5000 +1600 ;=(A:1)=$3F) A=A+2 "SWI3" ] +1610 ;=(A:1)<$80) #=5000 +1620 ;=(A:1)>$BF) #=5000 +1630 A=A+1 !=7600 +1640 ;=(B=3) "CMPU" #=1280 +1650 ;=(B=12) "CMPS" #=1280 +1660 #=3200 +1800 A=A+1 ] +2000 A=A+1 C=A+2+A(0) +2010 " $" ??=C A=A+2 ] +2200 B=A:1) +2210 ;=(B>$7F) ",E" B=B-$80 +2220 ;=(B>$3F) ",F" B=B-$40 +2230 ;=(B>$1F) ",H" B=B-$20 +2240 ;=(B>$F) ",I" B=B-$10 +2250 ;=(B>7) ",N" B=B-8 +2260 ;=(B>3) ",Z" B=B-4 +2270 ;=(B>1) ",V" B=B-2 +2280 ;=(B>0) ",C" +2290 A=A+2 ] +2400 B=$FF-A:1) #=2210 +2600 .=1 B=A:1)/16 !=5600 +2610 "," !=7400 !=5600 +2620 A=A+2 ] +2800 !=5800 B=A:1) +2810 ;=(B>$7F) B=B+$FF00 +2820 B=B+A+2 " $" ??=B A=A+2 ] +3000 +3010 ;=A:0)=$3F "SYS" #=7030 +3020 ;=(A:0)=$3D) "MUL" #=1800 +3030 ;=(A:0)=$3C) "CWAI" #=2400 +3040 ;=(A:0)=$3B) "RTI" #=1800 +3050 ;=(A:0)=$3A) "ABX" #=1800 +3060 ;=(A:0)=$39) "RTS" #=1800 +3070 ;=(A:0)>$37) #=3200 +3080 ;=(A:0)<$34) #=6000 +3090 B=%(A:0)/2) +3100 ;=(B=0) "PSH" #=3120 +3110 "PUL" +3120 ;=(A:0)>$35) "U" #=3140 +3130 "S" +3140 #=6200 +3200 A=A+1 "UNDF" #=1800 +3400 !=7600 +3410 ;=(B=0) "NEG" #=6400 +3420 ;=(B=3) "COM" #=6400 +3430 ;=(B=4) "LSR" #=6400 +3440 ;=(B=6) "ROR" #=6400 +3450 ;=(B=7) "ASR" #=6400 +3460 ;=(B=8) "ASL" #=6400 +3470 ;=(B=9) "ROL" #=6400 +3480 ;=(B=10) "DEC" #=6400 +3490 ;=(B=12) "INC" #=6400 +3500 ;=(B=13) "TST" #=6400 +3510 ;=(B=14) "JMP" #=6400 +3520 ;=(B=15) "CLR" #=6400 +3530 #=3200 +3600 B=A:1) #=2810 +3800 !=7200 +3810 ;=(A:0)>$BF) "ADDD" #=1280 +3820 "SUBD" #=1280 +4000 !=7200 +4010 ;=(B=0) #=3200 +4020 #=1250 +4200 !=7600 +4210 ;=(A:0)>$BF) #=6600 +4220 ;=(B=12) "CMPX" #=1280 +4230 ;=(B=13) "JSR" #=1280 +4240 ;=(B=14) "LDX" #=1280 +4250 "STX" #=1280 +4400 +4410 ;=(B=0) "SUB" ] +4420 ;=(B=1) "CMP" ] +4430 ;=(B=2) "SBC" ] +4440 ;=(B=4) "AND" ] +4450 ;=(B=5) "BIT" ] +4460 ;=(B=6) "LD" ] +4470 ;=(B=7) "ST" ] +4480 ;=(B=8) "EOR" ] +4490 ;=(B=9) "ADC" ] +4500 ;=(B=10) "OR" ] +4510 "ADD" ] +4600 "B" #=1280 +4800 B=%(A:1)/32) +4810 ;=(A:1)>$7F) #=6800 +4820 ;=(B>15) B=B+$FFE0 +4830 " " ?=B #=8000 +5000 A=A+2 "UNDF" ] +5200 "L" !=5800 +5210 #=2000 +5400 !=7400 +5410 ;=(B=14) "LDS" A=A+1 #=1280 +5420 "STS" A=A+1 #=1280 +5600 ;=(B=0) "D" ] +5610 ;=(B=1) "X" ] +5620 ;=(B=2) "Y" ] +5630 ;=(B=3) "U" ] +5640 ;=(B=4) "S" ] +5650 ;=(B=5) "PC" ] +5660 ;=(B=8) "A" ] +5670 ;=(B=9) "B" ] +5680 ;=(B=10) "CC" ] +5690 "DPR" ] +5800 "B" !=7600 +5810 ;=(B=0) "RA" ] +5820 ;=(B=1) "RN" ] +5830 ;=(B=2) "HI" ] +5840 ;=(B=3) "LS" ] +5850 ;=(B=4) "HS" ] +5860 ;=(B=5) "LO" ] +5870 ;=(B=6) "NE" ] +5880 ;=(B=7) "EQ" ] +5890 ;=(B=8) "VC" ] +5900 ;=(B=9) "VS" ] +5910 ;=(B=10) "PL" ] +5920 ;=(B=11) "MI" ] +5930 ;=(B=12) "GE" ] +5940 ;=(B=13) "LT" ] +5950 ;=(B=14) "GT" ] +5960 "LE" ] +6000 "LEA" !=7600 +6010 ;=(B=0) "X" #=4800 +6020 ;=(B=1) "Y" #=4800 +6030 ;=(B=2) "S" #=4800 +6040 "U" #=4800 +6200 B=A:1) +6210 ;=(B>$7F) ",PC" B=B-$80 +6220 ;=(B>$3F) ",U" B=B-$40 +6230 ;=(B>$1F) ",Y" B=B-$20 +6240 ;=(B>15) ",X" B=B-16 +6250 ;=(B>7) "DPR" B=B-8 +6260 ;=(B>3) ",B" B=B-4 +6270 ;=(B>1) ",A" B=B-2 +6280 ;=(B>0) ",C" +6290 A=A+2 ] +6400 B=A:0)/16 +6410 ;=(B=4) "A" #=1800 +6420 ;=(B=5) "B" #=1800 +6430 ;=(B=0) B=1 #=1290 +6440 B=B-4 #=1290 +6600 ;=(B=12) "LDD" #=1280 +6610 ;=(B=13) "STD" #=1280 +6620 ;=(B=14) "LDU" #=1280 +6630 "STU" #=1280 +6800 ;=(B>15) #=8200 +6810 .=1 #=8400 +6820 ;=(B=12) A=A+3 ??=A(-1) ] +6830 ;=(B=9) ?$=A:1) A=A+4 ??=A(-1) ] +6840 ;=(B=13) ?$=A:1) A=A+4 ??=A(-1) ] +6850 ?$=A:1) A=A+2 ] +7000 !=7600 +7010 ;=(B=3) #=7800 +7020 ;=(B>11) #=7800 +7030 " # $" ?$=A:1) +7040 ;=A:1)>" "*(A:1<$80) "=" $=A:1) +7050 #=2620 +7200 B=%((A:0)/16)/4) ] +7400 B=%(A:1)/16) ] +7600 B=%(A:0)/16) ] +7800 " # $" A=A+3 ??=A(-1) ] +8000 B=%((A:1)/32)/4) "," A=A+2 +8010 ;=(B=0) "X" ] +8020 ;=(B=1) "Y" ] +8030 ;=(B=2) "U" ] +8040 "S" ] +8200 B=B-16 +8210 ;=((B=0)+(B=2)) #=5000 +8220 ;=(B=15) A=A+4 " [$" ??=A(-1) "]" ] +8230 " [" !=8400 "]" ] +8400 ;=(B=4) #=8000 +8410 ;=(B=0) !=8000 "+" ] +8420 ;=(B=1) !=8000 "++" ] +8430 ;=(B=2) !=8000 "-" ] +8440 ;=(B=3) !=8000 "--" ] +8450 ;=(B=8) "$" ??=A:2) !=8000 A=A+1 ] +8460 ;=(B=9) "$" ??=A(1) !=8000 A=A+2 ] +8470 ;=(B=6) "A" #=8000 +8480 ;=(B=5) "B" #=8000 +8490 ;=(B=11) "D" #=8000 +8500 ;=(B=12) B=A:2) A=A+3 #=8600 +8510 ;=(B=13) A=A+4 B=A(-1) #=8610 +8520 #=5000 +8600 ;=(B>$7F) B=B+$FF00 +8610 "$" ??=B+A ",PC" ]