0 'DISASM.BA - Author Unknown 1 'Club 100 Library - 415/939-1246 BBS, 937-5039 NEWSLETTER, 932-8856 VOICE 2 CLEAR2000:GOTO11 3 R2=INT(A/16):R1=A-R2*16:R2=R2+48:IFR2>57THENR2=R2+7 4 A$=CHR$(R2):R1=R1+48:IFR1>57THENR1=R1+7 5 A$=A$+CHR$(R1):RETURN 6 ' 7 J=I:Q2=INT(J/256):Q1=J-Q2*256:A=Q2:GOSUB3:I$=A$:A=Q1:GOSUB3:I$=I$+A$:RETURN 8 'SUB. --HEX WORD TO DEC 9 J=0:FORK=1TO4:G=ASC(MID$(I$,K,1))-48:IFG>9THENG=G-7 10 J=16*J+G:NEXTK:RETURN:'MAIN PROGRAM 11 DIMC$(256),L(256):FORI=0TO255:READC$(I):NEXTI:FORI=0TO255:READL(I):NEXTI:INPUT"STARTING ADDRESS:";I$:GOSUB8:I1=J:INPUT"ENDING ADDRESS:";I$:GOSUB8:I2=J:I=I1 12 'TOP OF MAIN LOOP 13 GOSUB6 'HEX WORD 14 P$="H"+I$+" ":'GET FIRST BYTE 15 X=PEEK(I):I=I+1:P$=P$+C$(X):IFLX=0THEN21 16 'GET SECOND BYTE 17 A=PEEK(I):I=I+1:GOSUB10:Y$=A$:IFL(X)=2THEN19 18 P$=P$+"BY"+Y$:GOTO21 19 'GET THIRD BYTE 20 A=PEEK(I):I=I+1:GOSUB10:P$=P$+"H"+A$+Y$:'PRINT THE LINE 21 PRINTP$:'EXTRA LINE FOR JMP OR RET? 22 IFX<>195ANDX<>201THEN24 23 P$=";":PRINTP$:'LOOP BACK 24 IFI>I2THENSTOP 25 GOTO12:'DATA SECTION 26 DATA"NOP","LXI B,":DATA"STAX B","INX B":DATA"INR B","DCR B":DATA"MVI B,","RLC":DATA"-","DAD B":DATA"LDAX B","DCX B":DATA"INR C","DCR C":DATA"MVI C,","RRC":DATA"-","LXI D,":DATA"STAX D","INX D":DATA"INR D","DCR D":DATA"MVI D,","RAL":DATA"-","DAD D" 27 DATA"LDAX D","DCX D":DATA"INR E","DCR E":DATA"MVI E,","RAR":DATA"RIM","LXI H,":DATA"SHLD","INX H":DATA"INR H","DCR H":DATA"MVI H,","DAA":DATA"-","DAD H":DATA"INR L","DCR L":DATA"INR L","DCR L":DATA"MVI L,","CMA":DATA"SIM","LXI SP," 28 DATA"STA ","INX SP":DATA"INR M","DCR M":DATA"MVI M,","STC":DATA"-","DAD SP":DATA"LDA ","DCX SP":DATA"INR A","DCR A":DATA"MVI A,","CMC":DATA"MOV B,B","MOV B,C":DATA"MOV B,D","MOV B,E":DATA"MOV B,H","MOV B,L":DATA"MOV B,M","MOV B,A" 29 DATA"MOV C,B","MOV C,C":DATA"MOV C,D","MOV C,E":DATA"MOV C,H","MOV C,L":DATA"MOV C,M","MOV C,A":DATA"MOV D,B","MOV D,C":DATA"MOV D,D","MOV D,E":DATA"MOV D,H","MOV D,L":DATA"MOV D,M","MOV D,A":DATA"MOV E,B","MOV E,C":DATA"MOV E,D","MOV E,E" 30 DATA"MOV E,H","MOV E,L":DATA"MOV E,M","MOV E,A":DATA"MOV H,B","MOV H,C":DATA"MOV H,D","MOV H,E":DATA"MOV H,H","MOV H,L":DATA"MOV H,M","MOV H,A":DATA"MOV L,B","MOV L,C":DATA"MOV L,D","MOV L,E":DATA"MOV L,H","MOV L,L":DATA"MOV L,M","MOV L,A" 31 DATA"MOV M,B","MOV M,C":DATA"MOV M,D","MOV M,E":DATA"MOV M,H","MOV M,L":DATA"HLT","MOV M,A":DATA"MOV A,B","MOV A,C":DATA"MOV A,D","MOV A,E":DATA"MOV A,H","MOV A,L":DATA"MOV A,M","MOV A,A":DATA"ADD B","ADD C":DATA"ADD D","ADD E":DATA"ADD H","ADD L" 32 DATA"ADD M","ADD A":DATA"ADC B","ADC C":DATA"ADC D","ADC E":DATA"ADC H","ADC L":DATA"ADC M","ADC A":DATA"SUB B","SUB C":DATA"SUB D","SUB E":DATA"SUB H","SUB L":DATA"SUB M","SUB A":DATA"SBB B","SBB C":DATA"SBB D","SBB E":DATA"SUB H","SBB L" 33 DATA"SBB M","SBB A":DATA"ANA B","ANA C":DATA"ANA D","ANA E":DATA"ANA H","ANA L":DATA"ANA M","ANA A":DATA"XRA B","XRA C":DATA"XRA D","XRA E":DATA"XRA H","XRA L":DATA"XRA M","XRA A":DATA"ORA B","ORA C":DATA"ORA D","ORA E":DATA"ORA H","ORA L" 34 DATA"ORA M","ORA A":DATA"CMP B","CMP C":DATA"CMP D","CMP E":DATA"CMP H","CMP L":DATA"CMP M","CMP A":DATA"RNZ","POP ":DATA"JNZ ","JMP ":DATA"CNZ ","PUSH B":DATA"ADI ","RST 0":DATA"RZ","RET":DATA"JZ ","-":DATA"CZ ","CALL ":DATA"ACI ","RST 1" 35 DATA"RNC","POP D":DATA"JNC ","OUT ":DATA"CNC ","PUSH D":DATA"SUI ","RST 2":DATA"RC","-":DATA"JC ","IN ":DATA"CC ","-":DATA"SBI ","RST 3":DATA"RPO","POP H":DATA"JPO ","XTHL":DATA"CPO ","PUSH H":DATA"ANI ","RST 4":DATA"RPE","PCHL":DATA"JPE ","XCHG" 36 DATA"CPE ","-":DATA"XRI ","RST 5":DATA"RP","POP PSW":DATA"JP ","DI":DATA"CP ","PUSH PSW":DATA"ORI ","RST 6":DATA"RM","SPHL":DATA"JM ","EI":DATA"CM","-":DATA"CPI ","RST 7":DATA 0,2,0,0:DATA 0,0,1,0:DATA 0,0,0,0:DATA 0,0,1,0:DATA 0,2,0,0:DATA 0,0,1,0 37 DATA 0,0,0,0:DATA 0,0,1,0:DATA 0,2,2,0:DATA 0,0,1,0:DATA 0,0,2,0:DATA 0,0,1,0:DATA 0,2,2,0:DATA 0,0,1,0:DATA 0,0,2,0:DATA 0,0,1,0:DATA 0,0,0,0:DATA 0,0,0,0:DATA 0,0,0,0:DATA 0,0,0,0:DATA 0,0,0,0:DATA 0,0,0,0:DATA 0,0,0,0:DATA 0,0,0,0:DATA 0,0,0,0 38 DATA 0,0,0,0:DATA 0,0,0,0:DATA 0,0,0,0:DATA 0,0,0,0:DATA 0,0,0,0:DATA 0,0,0,0:DATA 0,0,0,0:DATA 0,0,0,0:DATA 0,0,0,0:DATA 0,0,0,0:DATA 0,0,0,0:DATA 0,0,0,0:DATA 0,0,0,0:DATA 0,0,0,0:DATA 0,0,0,0:DATA 0,0,0,0:DATA 0,0,0,:DATA 0,0,0,0:DATA 0,0,0,0 39 DATA 0,0,0,0:DATA 0,0,0,0:DATA 0,0,0,0:DATA 0,0,0,0:DATA 0,0,2,2:DATA 2,0,1,0:DATA 0,0,2,0:DATA 2,2,1,0:DATA 0,0,2,1:DATA 2,0,1,0:DATA 0,0,2,1:DATA 2,0,1,0:DATA 0,0,2,0:DATA 2,0,1,0:DATA 0,0,2,0:DATA 2,0,1,0:DATA 0,0,2,0:DATA 2,0,1,0:DATA 0,0,2,0 40 DATA 2,0,1,0:' 41 END