Compucolor.org – Virtual Media

Listing of file='NEWDMP.BAS;01' on disk='vmedia/ncc_10-sector.ccvf'

100 CLEAR 100
110 DIM M$(255)
200 DATA "NOP     ","LXI  B  ","STAX B  ","INX  B  "
210 DATA "INR  B  ","DCR  B  ","MVI  B  ","RLC     "
220 DATA "????????","DAD  B  ","LDAX B  ","DCX  B  "
230 DATA "INR  C  ","DCR  C  ","MVI  C  ","RRC     "
240 DATA "????????","LXI  D  ","STAX D  ","INX  D  "
250 DATA "INR  D  ","DCR  D  ","MVI  D  ","RAL     "
260 DATA "????????","DAD  D  ","LDAX D  ","DCX  D  "
270 DATA "INR  E  ","DCR  E  ","MVI  E  ","RAR     "
280 DATA "????????","LXI  H  ","SHLD    ","INX  H  "
290 DATA "INR  H  ","DCR  H  ","MVI  H  ","DAA     "
300 DATA "????????","DAD  H  ","LHLD    ","DCX  H  "
310 DATA "INR  L  ","DCR  L  ","MVI  L  ","CMA     "
320 DATA "????????","LXI  SP ","STA     ","INX  SP "
330 DATA "INR  M  ","DCR  M  ","MVI  M  ","STC     "
340 DATA "????????","DAD  SP ","LDA     ","DCX  SP "
350 DATA "INR  A  ","DCR  A  ","MVI  A  ","CMC     "
360 DATA "????????","MOV  B,C","MOV  B,D","MOV  B,E"
370 DATA "MOV  B,H","MOV  B,L","MOV  B,M","MOV  B,A"
380 DATA "MOV  C,B","????????","MOV  C,D","MOV  C,E"
390 DATA "MOV  C,H","MOV  C,L","MOV  C,M","MOV  C,A"
400 DATA "MOV  D,B","MOV  D,C","????????","MOV  D,E"
410 DATA "MOV  D,H","MOV  D,L","MOV  D,M","MOV  D,A"
420 DATA "MOV  E,B","MOV  E,C","MOV  E,D","????????"
430 DATA "MOV  E,H","MOV  E,L","MOV  E,M","MOV  E,A"
440 DATA "MOV  H,B","MOV  H,C","MOV  H,D","MOV  H,E"
450 DATA "????????","MOV  H,L","MOV  H,M","MOV  H,A"
460 DATA "MOV  L,B","MOV  L,C","MOV  L,D","MOV  L,E"
470 DATA "MOV  L,H","????????","MOV  L,M","MOV  L,A"
480 DATA "MOV  M,B","MOV  M,C","MOV  M,D","MOV  M,E"
490 DATA "MOV  M,H","MOV  M,L","????????","MOV  M,A"
500 DATA "MOV  A,B","MOV  A,C","MOV  A,D","MOV  A,E"
510 DATA "MOV  A,H","MOV  A,L","MOV  A,M","????????"
520 DATA "ADD  B  ","ADD  C  ","ADD  D  ","ADD  E  "
530 DATA "ADD  H  ","ADD  L  ","ADD  M  ","ADD  A  "
540 DATA "ADC  B  ","ADC  C  ","ADC  D  ","ADC  E  "
550 DATA "ADC  H  ","ADC  L  ","ADC  M  ","ADC  A  "
560 DATA "SUB  B  ","SUB  C  ","SUB  D  ","SUB  E  "
570 DATA "SUB  H  ","SUB  L  ","SUB  M  ","SUB  A  "
580 DATA "SBB  B  ","SBB  C  ","SBB  D  ","SBB  E  "
590 DATA "SBB  H  ","SBB  L  ","SBB  M  ","SBB  A  "
600 DATA "ANA  B  ","ANA  C  ","ANA  D  ","ANA  E  "
610 DATA "ANA  H  ","ANA  L  ","ANA  M  ","ANA  A  "
620 DATA "XRA  B  ","XRA  C  ","XRA  D  ","XRA  E  "
630 DATA "XRA  H  ","XRA  L  ","XRA  M  ","XRA  A  "
640 DATA "ORA  B  ","ORA  C  ","ORA  D  ","ORA  E  "
650 DATA "ORA  H  ","ORA  L  ","ORA  M  ","ORA  A  "
660 DATA "CMP  B  ","CMP  C  ","CMP  D  ","CMP  E  "
670 DATA "CMP  H  ","CMP  L  ","CMP  M  ","CMP  A  "
680 DATA "RNZ     ","POP  B  ","JNZ     ","JMP     "
690 DATA "CNZ     ","PUSH B  ","ADI     ","RST  0  "
700 DATA "RZ      ","RET     ","JZ      ","????????"
705 DATA "CZ      ","CALL    ","ACI     ","RST  1  "
710 DATA "RNC     ","POP  D  ","JNC     ","OUT     "
715 DATA "CNC     ","PUSH D  ","SUI     ","RST  2  "
720 DATA "RC      ","????????","JC      ","IN      "
725 DATA "CC      ","????????","SBI     ","RST  3  "
730 DATA "RPO     ","POP  H  ","JPO     ","XTHL    "
735 DATA "CPO     ","PUSH H  ","ANI     ","RST  4  "
740 DATA "RPE     ","PCHL    ","JPE     ","XCHG    "
745 DATA "CPE     ","????????","XRI     ","RST  5  "
750 DATA "RP      ","POP  PSW","JP      ","DI      "
755 DATA "CP      ","PUSH PSW","ORI     ","RST  6  "
760 DATA "RM      ","SPHL    ","JM      ","EI      "
765 DATA "CM      ","????????","CPI     ","RST  7  "
800 FOR I= 0TO 255:READ M$(I):NEXT I
810 INPUT "LOW ADDRESS, HIGH ADDRESS? ";L,H
811 PLOT 15,27,18,3:POKE 33289,70:OUT 8,255:OUT 8,4:PLOT 27,13,27,117,40
820 PRINT "ADDR HEX MNEMONIC HEX MNEMONIC ";
821 PRINT "HEX MNEMONIC HEX MNEMONIC ";
822 PRINT "HEX MNEMONIC HEX MNEMONIC ";
830 PRINT "HEX MNEMONIC HEX MNEMONIC  ALPHA"
840 FOR I= LTO HSTEP 8
850 I1= INT (I/ 256):I2= I- 256* I1
860 X= I1:GOSUB 980:A$= H$
870 X= I2:GOSUB 980:PRINT A$+ H$;
880 FOR J= ITO I+ 7
890 X= PEEK (J):GOSUB 980
895 PRINT " |";H$;" ";M$(X);
900 NEXT J
905 PRINT " | ";
910 FOR J= ITO I+ 7
920 X= PEEK (J):IF X> 128THEN X= X- 128
925 IF X< 32THEN X= 46
930 PRINT CHR$ (X);
940 NEXT J
950 PRINT ""
960 NEXT I
965 PLOT 12,12:OUT 8,255:POKE 33265,0:POKE 33289,64:END
970 END
980 REM  X = VALUE TO BE HEXED
990 H$= ""
1000 IF X< 256THEN 1020
1010 X= X- 256:GOTO 1000
1020 X1= INT (X/ 16):X2= X- 16* X1
1030 IF X1> 9THEN X1= X1+ 7
1040 X1= X1+ 48
1050 IF X2> 9THEN X2= X2+ 7
1060 X2= X2+ 48
1070 H$= H$+ CHR$ (X1)+ CHR$ (X2)
1080 RETURN
65000 PLOT 30,16,29:PRINT "LISTING TO PRINTER":GOSUB 65080:PRINT "ENTER THE ";:PLOT 34
65010 PRINT "VOLUME:FILE NAME";:PLOT 34:INPUT " IN QUOTES: ";N$
65020 IF VAL (N$)= 0THEN N$= "R VICK 009:DIR.BAS;01"
65030 SS= PEEK (33209):MI= PEEK (33210):HR= PEEK (33211)- 1
65040 PLOT 15,27,18,6:POKE 33289,95:OUT 8,255:OUT 8,4:PLOT 27,13,27,117,20
65050 PRINT N$;" ";YR* 100+ MO;".";RIGHT$ (STR$ (DY+ 100),2);"  ";
65060 PRINT RIGHT$ (STR$ (HR* 100+ MI+ 10000),4);":";RIGHT$ (STR$ (SS+ 100),2):PRINT
65070 POKE 33265,14:LIST :PLOT 12,12:OUT 8,255:POKE 33265,0:POKE 33289,64:END
65080 ADR= 65532:YR= PEEK (ADR+ 1):MO= PEEK (ADR+ 2):DY= PEEK (ADR+ 3):IF YR> = 80THEN 65170
65090 INPUT "DATE/TIME (YRMO.DY [HHMM])? ";D$
65100 GOSUB 65190:YR= D:GOSUB 65190:MO= D:D$= RIGHT$ (D$,LEN (D$)- 1):GOSUB 65190:DY= D
65110 POKE ADR+ 1,YR:POKE ADR+ 2,MO:POKE ADR+ 3,DY
65120 ADR= 256* PEEK (32941)+ PEEK (32940):IF ADR< = 65532THEN 65140
65130 ADR= 65532:ZZ= INT (ADR/ 256):POKE 32940,ADR- 256* ZZ:POKE 32941,ZZ
65140 IF LEN (D$)= 0THEN 65170
65150 D$= RIGHT$ (D$,LEN (D$)- 1):GOSUB 65190:HR= D:GOSUB 65190:MI= D
65160 POKE 33209,0:POKE 33210,MI:POKE 33211,HR+ 1
65170 SS= PEEK (33209):MI= PEEK (33210):HR= PEEK (33211)- 1
65180 PRINT YR* 100+ MO;".";RIGHT$ (STR$ (DY+ 100),2);"  ";RIGHT$ (STR$ (HR* 100+ MI+ 10000),4);":";RIGHT$ (STR$ (SS+ 100),2):RETURN
65190 D= VAL (LEFT$ (D$,2)):IF LEN (D$)= 2THEN D$= "":RETURN
65200 D$= RIGHT$ (D$,LEN (D$)- 2):RETURN