view game09/disasm09.game @ 73:ae26a881ac7a

GAME program stored
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 06 Aug 2018 17:07:06 +0900
parents ec9ef70bf6e4
children 6be44b5de445
line wrap: on
line source

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" ]