Listing of file='DIS.BAS;01' on disk='vmedia/ncc_2-sector.ccvf'
1 REM DISSASSEMBLER PROGRAM 2 REM 3 REM BART EVANS - MARCH 79 4 REM 100 CLEAR 110 REM 999 REM LOAD HEX CONVERSION TABLE 1000 DIM A$(15) 1010 FOR X= 0TO 15 1020 READ A$(X) 1030 NEXT 1040 DATA 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 1050 REM 1999 REM LOAD CODE, BYTE NUMBERS 2000 DIM C$(255) 2010 DIM P(255) 2020 FOR X= 0TO 255 2030 READ C$(X),P(X) 2040 NEXT 2050 REM 2999 REM GET START ADDRESS 3000 INPUT "START ADDRESS: ";AD 3010 PRINT 3020 REM 3999 REM NEW LINE 4000 H= AD 4005 PRINT H;TAB( 7); 4010 GOSUB 62000 4020 PRINT TAB( 13); 4030 D= PEEK (AD) 4040 N= P(D) 4050 ON N+ 1GOSUB 5000,6000,7000 4060 PRINT 4070 AD= AD+ 1 4080 GOTO 4000 4090 REM 4999 REM 1-BYTE INSTRUCTION 5000 L= D 5010 GOSUB 61000 5020 PRINT TAB( 23); 5030 PRINT C$(D); 5040 RETURN 5050 REM 5999 REM 2-BYTE INSTRUCTION 6000 L= D 6010 GOSUB 61000 6020 PRINT TAB( 16); 6030 AD= AD+ 1 6040 DA= PEEK (AD) 6050 L= DA 6060 GOSUB 61000 6070 PRINT TAB( 23); 6080 GOSUB 63000 6090 PRINT " "; 6100 L= DA 6110 GOSUB 61000 6120 PRINT " (";L;" )"; 6130 RETURN 6140 REM 6999 REM 3-BYTE INSTRUCTION 7000 L= D 7010 GOSUB 61000 7020 PRINT TAB( 16); 7030 AD= AD+ 1 7040 L1= PEEK (AD) 7050 L= L1 7060 GOSUB 61000 7070 PRINT TAB( 19); 7080 AD= AD+ 1 7090 H1= PEEK (AD) 7100 L= H1 7110 GOSUB 61000 7120 PRINT TAB( 23); 7130 GOSUB 63000 7140 H= L1+ 256* H1 7150 GOSUB 62000 7160 PRINT " (";H;" )"; 7170 RETURN 7180 REM 59999 REM CODE TABLE: ASSY CODE, # ADD'L BYTES 60000 DATA NOP,0,LXI.B,2,STAX.B,0,INX.B,0,INR.B,0,DCR.B,0,MVI.B,1,RLC,0 60008 DATA ?,0,DAD.B,0,LDAX.B,0,DCX.B,0,INR.C,0,DCR.C,0,MVI.C,1,RRC,0 60010 DATA ?,0,LXI.D,2,STAX.D,0,INX.D,0,INR.D,0,DCR.D,0,MVI.D,1,RAL,0 60018 DATA ?,0,DAD.D,0,LDAX.D,0,DCX.D,0,INR.E,0,DCR.E,0,MVI.E,1,RAR,0 60020 DATA ?,0,LXI.H,2,SHLD,2,INX.H,0,INR.H,0,DCR.H,0,MVI.H,1,DAA,0 60028 DATA ?,0,DAD.H,0,LHLD,2,DCX.H,0,INR.L,0,DCR.L,0,MVI.L,1,CMA,0 60030 DATA ?,0,LXI.SP,2,STA,2,INX.SP,0,INR.M,0,DCR.M,0,MVI.M,1,STC,0 60038 DATA ?,0,DAD.SP,0,LDA,2,DCX.SP,0,INR.A,0,DCR.A,0,MVI.A,1,CMC,0 60040 DATA MOV.B<B,0,MOV.B<C,0,MOV.B<D,0,MOV.B<E,0,MOV.B<H,0,MOV.B<L,0,MOV.B<M,0,MOV.B<A,0 60048 DATA MOV.C<B,0,MOV.C<C,0,MOV.C<D,0,MOV.C<E,0,MOV.C<H,0,MOV.C<L,0,MOV.C<M,0,MOV.C<A,0 60050 DATA MOV.D<B,0,MOV.D<C,0,MOV.D<D,0,MOV.D<E,0,MOV.D<H,0,MOV.D<L,0,MOV.D<M,0,MOV.D<A,0 60058 DATA MOV.E<B,0,MOV.E<C,0,MOV.E<D,0,MOV.E<E,0,MOV.E<H,0,MOV.E<L,0,MOV.E<M,0,MOV.E<A,0 60060 DATA MOV.H<B,0,MOV.H<C,0,MOV.H<D,0,MOV.H<E,0,MOV.H<H,0,MOV.H<L,0,MOV.H<M,0,MOV.H<A,0 60068 DATA MOV.L<B,0,MOV.L<C,0,MOV.L<D,0,MOV.L<E,0,MOV.L<H,0,MOV.L<L,0,MOV.L<M,0,MOV.L<A,0 60070 DATA MOV.M<B,0,MOV.M<C,0,MOV.M<D,0,MOV.M<E,0,MOV.M<H,0,MOV.M<L,0,HALT,0,MOV.M<A,0 60078 DATA MOV.A<B,0,MOV.A<C,0,MOV.A<D,0,MOV.A<E,0,MOV.A<H,0,MOV.A<L,0,MOV.A<M,0,MOV.A<A,0 60080 DATA ADD.B,0,ADD.C,0,ADD.D,0,ADD.E,0,ADD.H,0,ADD.L,0,ADD.M,0,ADD.A,0 60088 DATA ADC.B,0,ADC.C,0,ADC.D,0,ADC.E,0,ADC.H,0,ADC.L,0,ADC.M,0,ADC.A,0 60090 DATA SUB.B,0,SUB.C,0,SUB.D,0,SUB.E,0,SUB.H,0,SUB.L,0,SUB.M,0,SUB.A,0 60098 DATA SBB.B,0,SBB.C,0,SBB.D,0,SBB.E,0,SBB.H,0,SBB.L,0,SBB.M,0,SBB.A,0 60100 DATA ANA.B,0,ANA.C,0,ANA.D,0,ANA.E,0,ANA.H,0,ANA.L,0,ANA.M,0,ANA.A,0 60108 DATA XRA.B,0,XRA.C,0,XRA.D,0,XRA.E,0,XRA.H,0,XRA.L,0,XRA.M,0,XRA.A,0 60110 DATA ORA.B,0,ORA.C,0,ORA.D,0,ORA.E,0,ORA.H,0,ORA.L,0,ORA.M,0,ORA.A,0 60118 DATA CMP.B,0,CMP.C,0,CMP.D,0,CMP.E,0,CMP.H,0,CMP.L,0,CMP.M,0,CMP.A,0 60120 DATA RNX,0,POP.B,0,JNZ,2,JMP,2,CNZ,2,PUSH.B,0,ADI,1,RST.0,0 60128 DATA RZ,0,RET,0,JZ,2,?,0,CZ,2,CALL,2,ACI,1,RST.1,0 60130 DATA RNC,0,POP.D,0,JNC,2,OUT,1,CNC,2,PUSH.D,0,SUI,1,RST.2,0 60138 DATA RC,0,?,0,JC,2,IN,1,CC,2,?,0,SBI,1,RST.3,0 60140 DATA RPO,0,POP.H,0,JPO,2,XTHL,0,CPO,2,PUSH.H,0,ANI,1,RST.4,0 60148 DATA RPE,0,PCHL,0,JPE,2,XCHG,0,CPE,2,?,0,XRI,1,RST.5,0 60150 DATA RP,0,POP.PSW,0,JP,2,DI,0,CP,2,PUSH.PSW,0,ORI,1,RST.6,0 60158 DATA RM,0,SPHL,0,JM,2,EI,0,CM,2,?,0,CPI,1,RST.7,0 60200 REM 60300 END 60310 REM 60999 REM PRINT "L" IN 2 HEX DIGITS 61000 D1= INT (L/ 16) 61010 D2= L- 16* D1 61020 PRINT A$(D1);A$(D2); 61030 RETURN 61040 61999 REM PRINT "H" IN 4 HEX DIGITS 62000 D1= INT (H/ 4096) 62010 D2= INT ((H- 4096* D1)/ 256) 62020 D3= INT ((H- 4096* D1- 256* D2)/ 16) 62030 D4= H- 4096* D1- 256* D2- 16* D3 62040 PRINT A$(D1);A$(D2);A$(D3);A$(D4); 62050 RETURN 62060 REM 62999 REM PRINT CODE + SPACE 63000 PRINT C$(D);" "; 63010 RETURN 63020 REM