8-Bit Software Online Conversion
Disassembler - Listing
0DATABRK
10DATA"ORA(&n,X)"
20DATA
30DATA
40DATATSB &n
50DATAORA &n
60DATAASL &n
70DATA
80DATAPHP
90DATAORA #&n
100DATAASL A
110DATA
120DATATSB &nn
130DATAORA &nn
140DATAASL &nn
150DATA
160DATABPL &n
170DATA"ORA(&n),Y"
180DATAORA(&n)
190DATA
200DATATRB &n
210DATA"ORA &n,X"
220DATA"ASL &n,X"
230DATA
240DATACLC
250DATA"ORA &nn,Y"
260DATAINC
270DATA
280DATATRB &nn
290DATA"ORA &nn,X"
300DATA"ASL &nn,X"
310DATA
320DATAJSR &nn
330DATA"AND (&n,X)"
340DATA
350DATA
360DATABIT &n
370DATAAND &n
380DATAROL &n
390DATA
400DATAPLP
410DATAAND #&n
420DATAROL A
430DATA
440DATABIT &nn
450DATAAND &nn
460DATAROL &nn
470DATA
480DATABMI &n
490DATA"AND (&n),Y"
500DATAAND (&n)
510DATA
520DATA"BIT (&n),X"
530DATA"AND &n,X"
540DATA"ROL &n,X"
550DATA
560DATASEC
570DATA"AND &nn,Y"
580DATADEA
590DATA
600DATA"BIT &nn,X"
610DATA"AND &nn,X"
620DATA"ROL &nn,X"
630DATA
640DATARTI
650DATA"EOR &n,X"
660DATA
670DATA
680DATA
690DATAEOR &n
700DATALSR &n
710DATA
720DATAPHA
730DATAEOR #&n
740DATALSR A
750DATA
760DATAJMP &nn
770DATAEOR &nn
780DATALSR &nn
790DATA
800DATABVC &n
810DATA"EOR (&n),Y"
820DATAEOR (&n)
830DATA
840DATA
850DATA"EOR &n,X"
860DATA"LSR &n,X"
870DATA
880DATACLI
890DATA"EOR &nn,Y"
900DATAPHY
910DATA
920DATA
930DATA"EOR &nn,X"
940DATA"LSR &nn,X"
950DATA
960DATARTS
970DATA"ADC (&n),X"
980DATA
990DATA
1000DATASTZ &n
1010DATAADC &n
1020DATAROR &n
1030DATA
1040DATAPLA
1050DATAADC #&n
1060DATAROR A
1070DATA
1080DATAJMP(&nn)
1090DATAADC &nn
1100DATAROR &nn
1110DATA
1120DATABVS &n
1130DATA"ADC (&n),Y"
1140DATAADC (&n)
1150DATA
1160DATA"STZ &n,X"
1170DATA"ADC &n,X"
1180DATA"ROR &n,X"
1190DATA
1200DATASEI
1210DATA"ADC &nn,Y"
1220DATAPLY
1230DATA
1240DATA"JMP (&nn,X)"
1250DATA"ADC &nn,X"
1260DATA"ROR &nn,X"
1270DATA
1280DATABRA &n
1290DATA"STA (&n,X)"
1300DATA
1310DATA
1320DATASTY &n
1330DATASTA &n
1340DATASTX &n
1350DATA
1360DATADEY
1370DATABIT #&n
1380DATATXA
1390DATA
1400DATASTY &nn
1410DATASTA &nn
1420DATASTX &nn
1430DATA
1440DATABCC &n
1450DATA"STA (&n),Y"
1460DATASTA (&n)
1470DATA
1480DATA"STY &n,X"
1490DATA"STA &n,X"
1500DATA"STX &n,Y"
1510DATA
1520DATATYA
1530DATA"STA &nn,Y"
1540DATATXS
1550DATA
1560DATASTZ &nn
1570DATA"STA &nn,X"
1580DATA"STZ &nn,X"
1590DATA
1600DATALDY #&n
1610DATA"LDA (&n,X)"
1620DATALDX #&n
1630DATA
1640DATALDY &n
1650DATALDA &n
1660DATALDX &n
1670DATA
1680DATATAY
1690DATALDA #&n
1700DATATAX
1710DATA
1720DATALDY &nn
1730DATALDA &nn
1740DATALDX &nn
1750DATA
1760DATABCS &n
1770DATA"LDA (&n),Y"
1780DATALDA (&n)
1790DATA
1800DATA"LDY &n,X"
1810DATA"LDA &n,X"
1820DATA"LDX &n,Y"
1830DATA
1840DATACLV
1850DATA"LDA &nn,Y"
1860DATATSX
1870DATA
1880DATA"LDY &nn,X"
1890DATA"LDA &nn,X"
1900DATA"LDX &nn,Y"
1910DATA
1920DATACPY #&n
1930DATA"CMP (&n,X)"
1940DATA
1950DATA
1960DATACPY &n
1970DATACMP &n
1980DATADEC &n
1990DATA
2000DATAINY
2010DATACMP #&n
2020DATADEX
2030DATA
2040DATACPY &nn
2050DATACMP &nn
2060DATADEC &nn
2070DATA
2080DATABNE &n
2090DATA"CMP (&n),Y"
2100DATACMP (&n)
2110DATA
2120DATA
2130DATA"CMP &n,X"
2140DATA"DEC &n,X"
2150DATA
2160DATACLD
2170DATA"CMP &nn,Y"
2180DATAPHX
2190DATA
2200DATA
2210DATA"CMP &nn,X"
2220DATA"DEC &nn,X"
2230DATA
2240DATACPX #&n
2250DATA"SBC (&n,X)"
2260DATA
2270DATA
2280DATACPX &n
2290DATASBC &n
2300DATAINC &n
2310DATA
2320DATA INX
2330DATASBC #&n
2340DATANOP
2350DATA
2360DATACPX &nn
2370DATASBC &nn
2380DATAINC &nn
2390DATA
2400DATABEQ &n
2410DATA"SBC (&n),Y"
2420DATASBC (&n)
2430DATA
2440DATA
2450DATA"SBC &n,X"
2460DATA"INC &n,X"
2470DATA
2480DATASED
2490DATA"SBC &nn,Y"
2500DATAPLX
2510DATA
2520DATA
2530DATA"SBC &nn,X"
2540DATA"INC &nn,X"
2550DATA
2560DEFFNS="DISM"
2570MODE7+128
2580ONERROR:VDU3:REPORT:PRINTERL:CLOSE#
0:END
2590PRINT':PROCp("Disc/Memory Disassemb
le"):PRINT':PROCp("By C.J.Richardson.")
2600PRINT':PROCp("65C02 version. List t
he program and"):PROCp("type GOTO 2870 t
o convert to 6502"):PRINT'
2610PRINT" List opcodes? Y/N":IFGET$="Y
":VDU2:FORM%=0TO255STEP4:READA$,B$,C$,D$
:PRINT"&";÷M%;TAB(4);M%;TAB(8);A$;TAB(24
);"&";÷M%+1;TAB(28);M%+1;TAB(32);B$;TAB(
48);"&";÷M%+2;TAB(52);M%+2;TAB(56);C$;TA
B(71);"&";÷M%+3;TAB(75);M%+3;TAB(79);D$:
NEXT:VDU3
2620REPEAT:PRINT" Read from Disc or Mem
ory D/M?":q$=GET$:UNTILq$="D"ORq$="M"
2630PRINT" Printout Y/N ":pr$=GET$:PRIN
T" Single jumps or Relative S/R?":f$=GET
$
2640ct%=1:PRINT" Mode 7 OR 0?":IFGET$="
0" MODE0+128
2650IF q$="M" m%=FNhex:REPEAT:PROCread:
m%=m%+c%+1:UNTILFALSE
2660IF q$="D":INPUT"Filename to read ";
fl$:FI%=OPENIN fl$:PTR#FI%=FNhex-1:REPEA
T:PROCread:UNTILEOF#FI%:END
2670DEFPROCread:c%=0:mo$="":ct%=ct%+1:I
Fpr$="Y"VDU2
2680IFq$="D" bt%=BGET#FI% ELSE bt%=?m%
2690RESTORE bt%*10:READ bt$:tem%=INSTR(
bt$,"n"):IF tem% c%=1:s2$=MID$(bt$,tem%+
1):IF LEFT$(s2$,1)="n" c%=2:s2$=RIGHT$(s
2$,LEN(s2$)-1)
2700IF q$="D" s1$=STR$÷PTR#FI% ELSE s1$
=STR$ ÷m%
2710s1$="&"+s1$:s1$=s1$+"=":IFc%=0 s1$=
s1$+bt$ ELSE s1$=s1$+LEFT$(bt$,INSTR(bt$
,"n")-1)
2720IF q$="M"IFc%=2 s1$=s1$+STR$÷(?(m%+
1)+?(m%+2)*&100)
2730IF q$="M"IFc%=1 s1$=s1$+STR$÷?(m%+1
)
2740IF q$="D"IFc%=2 s1$=s1$+STR$÷((BGET
#FI%)+(BGET#FI%)*&100):IF f$="S":PTR#FI%
=PTR#FI%-2
2750IF q$="D"IFc%=1 s1$=s1$+STR$÷(BGET#
FI%):IF f$="S":PTR#FI%=PTR#FI%-1
2760IFc%<>0 PRINTs1$+s2$; ELSE PRINTs1$
;
2770IFq$="M"IFc%=2PRINTTAB(20);"&";STR$
÷(m%+1);"=&";STR$÷?(m%+1);" &";STR$÷(m%+
2);"=&";STR$÷?(m%+2) ELSE IF q$="M"IFc%=
1PRINTTAB(20);"&";STR$÷(m%+1);"=&";STR$÷
?(m%+1) ELSE PRINT
2780VDU3:IF q$="M"IF f$="S"c%=0
2790IFct%MOD10=0:OSCLI"FX21":mo$=GET$:I
Fmo$="J" IF q$="M" m%=FNhex-1 ELSE IF mo
$="J" IFq$="D":PTR#FI%=FNhex-1
2800IFmo$="B" IF q$="M" m%=m%-90 ELSE I
Fmo$="B" IF q$="D":PTR#FI%=PTR#FI%-90
2810ENDPROC
2820DEFFNhex:INPUT"Read from where ";m$
:IF LEFT$(m$,1)<>"&":=VAL(m$)
2830m$="000"+MID$(m$,2):m$=RIGHT$(m$,4)
:m%=0:FORHL=1TO4:te%=ASC(MID$(m$,HL))
2840IFte%>57 te%=te%-55 ELSE te%=te%-48
2850m%=m%*16+te%:NEXT:=m%
2860DEFPROCp(A$):PRINTTAB(18-LENA$/2)"
2870*K.0 40D.|M120D.|M180D.|M200D.|M260
D.|M280D.|M520D.|M580D.|M600D.|M820D.|M9
00D.|M1000D.|M1140D.|M1240D.|M1280D.|M14
60D.|M1560D.|M1580D.|M1780D.|M2180D.|M24
20D.|M2500D.|M2560DEFFNS="DISB"|M2600PRO
Cp("6502 version")|M2870|M2880|M
2880*FX138 0 128