0 '100+ Rbbs (703) 525-1256 The Active 100/102/200 bbs 10 'This program is FREEWARE No Public 20 'modifications may be made unless I 30 'am asked forehand. Then it's ok 40 'My special thanks goes to 50 'Tom Qunidry for his help and time 60 'while I was writing DIS3.100 70 '(C)1989 Patrick Ellison & TL Quindry 80 CLEAR2000,MAXRAM:DIMO$(256) 90 ' 100 ' These are the settings used to dis 110 ' assmeble code change for your use 120 ' 130 CM$="COM:68N1E" 'COM setting 140 DK$="0:DIS.DO" 'Disk file name 150 RM$="RAM:DIS.DO" 'Ram file name 160 CLS:PRINTCHR$(27)+"pπρρρρρρρρρρρρρρρρρρρρςπρρρρρρρρρρρρρρρρςυDISAM III 8080/8085τω υυ(C)1989 Pat Ellison τω υφρρρρρρρρρρρρρρρρρρρρχφρρρρρρρρρρρρρρρρχ 170 S=61458:HE$="0123456789ABCDEF":DA$="??"+HE$:CA$=SPACE$(29):CA=PEEK(VARPTR(CA$)+2)*256+PEEK(VARPTR(CA$)+1):FORX=0TO28:READP 180 POKECA+X,P:NEXT 190 FORX=0TO255:READO$(X):NEXT:CA=PEEK(VARPTR(CA$)+2)*256+PEEK(VARPTR(CA$)+1):DA=PEEK(VARPTR(DA$)+2)*256+PEEK(VARPTR(DA$)+1) 200 PRINT@63,"FREE MEM="FRE(0);:PRINT@103,"MEM CLR =";HIMEM;:PRINT@160,CHR$(27)+"q"; 210 LL=1:QP=1:PRINT"Address :";:LINEINPUTH$:GOSUB500:IFH$=""THENHE=A:GOTO230ELSEIFLEFT$(H$,1)="M"THENMENU 220 GOSUB470 230 PRINT"E)dit/Dis->C)om R)am T)dd P)rt L)cd":LINEINPUTE$:IFE$=""THEN260 240 E$=CHR$(ASC(E$)AND95):IFE$="E"THEN410ELSEIFE$="C"THENDV$=CM$ELSEIFE$="R"THENDV$=RM$ELSEIFE$="T"THENDV$=DK$ELSEIFE$="P"THENDV$="LPT:" 250 GOTO270 260 DV$="LCD:" 270 CLOSE:OPENDV$FOROUTPUTAS1:FORA=HETO65535:N$=RIGHT$(STR$(A),LEN(STR$(A))-1):P=PEEK(A):AH=INT(A/256):AL=A-(AH*256) 280 IFLEN(N$)<5THENN$="0"+N$:GOTO280 290 IFDV$="LCD:"THEN310ELSE300 300 IFLL>55THENQP=QP+1:SOUND400,2:SOUND900,2:PRINT#1,TAB(20)"DISASM III Page"QP-1;CHR$(12):LL=1ELSELL=LL+1 310 T$=LEFT$(O$(P),1):T=0:IFDV$<>"LCD:"THENPRINT@240,N$" ";:TR=AH:GOSUB540:TR=AL:GOSUB540 320 IFDV$="LCD:"THENPRINT#1,N$" "; 330 TR=AH:GOSUB530:TR=AL:GOSUB530:PRINT#1," ";:TR=P:GOSUB530:PRINT#1," "; 340 IFT$="C"THENPRINT#1," ";ELSEIFT$="D"THENT=1:TR=PEEK(A+1):GOSUB530:PRINT#1," ";ELSET=2:TR=PEEK(A+1):GOSUB530:TR=PEEK(A+2):GOSUB530 350 PRINT#1," "RIGHT$(O$(P),LEN(O$(P))-1);:IFT$<>"C"THENPRINT#1,"Z"; 360 IFT$="D"THENTR=PEEK(A+1):GOSUB530ELSEIFT$="E"THENTR=PEEK(A+2):GOSUB530:TR=PEEK(A+1):GOSUB530 370 IFINKEY$<>""THEN400 380 IFDV$<>"LCD:"THENPRINT" Page"QP 385 PRINT#1,"":A=A+T:NEXT:END 390 I$=INKEY$:IFI$=""THEN390ELSEIFI$=" "THEN370ELSEPRINT:GOTO210 400 I$=INKEY$:IFI$=""THEN400ELSEIFI$=CHR$(13)THENPRINT:GOTO210ELSEDE=0:GOTO380 410 CLOSE:OPEN"LCD:"FOROUTPUTAS1:DV$="LCD:":X=HE 420 P=PEEK(X):T$=RIGHT$(O$(P),LEN(O$(P))-1) 430 IFLEN(T$)<8THENT$=T$+" ":GOTO430 440 W=P:IF P<32THENW=32 450 AH=INT(X/256):AL=X-(AH*256):PRINTUSING"##### ";X;:TR=AH:GOSUB530:TR=AL:GOSUB530:PRINT" "CHR$(W)" ";:PRINT" "T$" ";:TR=P:GOSUB530:PRINT" "; 460 LINEINPUTH$:IFH$=""THENX=X+1:GOTO420ELSEIFH$="-"THENX=X-3:GOTO420ELSEIFH$="="THEN210ELSEGOSUB470:POKEX,HE:X=X+1:GOTO420 470 IFLEN(H$)<4THENH$="0"+H$:GOTO470 480 HE=0:P=1:GOSUB490:HE=HE+(V*4096):P=2:GOSUB490:HE=HE+(V*256):P=3:GOSUB490:HE=HE+(V*16):P=4:GOSUB490:HE=HE+V:RETURN 490 D$=MID$(H$,P,1):V=INSTR(1,HE$,D$):V=V-1:RETURN 500 IFLEN(H$)<1THENRETURNELSEFORPE=1TOLEN(H$):PE$=MID$(H$,PE,1) 510 IFINSTR(1,"abcdef",PE$)<>0THENMID$(H$,PE,1)=CHR$(ASC(MID$(H$,PE,1))AND95) 520 NEXTPE:RETURN 530 CALLCA,TR,DA:PRINT#1,LEFT$(DA$,2);:RETURN 540 CALLPEEK(VARPTR(CA$)+2)*256+PEEK(VARPTR(CA$)+1),TR,PEEK(VARPTR(DA$)+2)*256+PEEK(VARPTR(DA$)+1):PRINTLEFT$(DA$,2);:RETURN 550 DATA229,35,119,6,0,15,15,15,15,230,15,79,9,35,126,225,119,35,229,126,230,15,79,09,35,126,225,119,201 560 DATA"CNOP","ELXI B,","CSTAX B","CINB B","CINR B","CDCR B","DMVI B,","CRLC","CDATA","CDAD B","CLDAX B","CDCX B","CINR C","CDCR C","DMVI C,","CRRC","CDATA","ELXI D,","CSTAX D" 570 DATA"CINX D","CINR D","CDCR D","DMVI D,","CRAL","CDATA","CDAD D","CLDAX D","CDCX D","CINR E","CDCR E","DMVI E,","CRAR","CRIM","ELXI H,","ESHLD ","CINX H","CINR H","CDCR H" 580 DATA"DMVI H,","CDAA","CDATA","CDAD HL","ELHLD ","CDCX H","CINR L","CDCR L","DMVI L,","CCMA","CSIM","ELXI SP,","ESTA ","CINX SP","CINR M","CDCR M","DMVI M,","CSTC","CDATA","CDAD SP" 590 DATA"ELDA ","CDCX SP","CINR A","CDCR A","DMVI A,","CCMC","CMOV B,B","CMOV B,C","CMOV B,D","CMOV B,E","CMOV B,H","CMOV B,L","CMOV B,M","CMOV B,A","CMOV C,B","CMOV C,C" 600 DATA"CMOV C,D","CMOV C,E","CMOV C,H","CMOV C,L","CMOV C,M","CMOV C,A","CMOV D,B","CMOV D,C","CMOV D,D","CMOV D,E","CMOV D,H","CMOV D,L","CMOV D,M","CMOV D,A","CMOV E,B" 610 DATA"CMOV E,C","CMOV E,D","CMOV E,E","CMOV E,H","CMOV E,L","CMOV E,M","CMOV E,A","CMOV H,B","CMOV H,C","CMOV H,D","CMOV H,E","CMOV H,H","CMOV H,L","CMOV H,M","CMOV H,A" 620 DATA"CMOV L,B","CMOV L,C","CMOV L,D","CMOV L,E","CMOV L,H","CMOV L,L","CMOV L,M","CMOV L,A","CMOV M,B","CMOV M,C","CMOV M,D","CMOV M,E","CMOV M,H","CMOV M,L" 630 DATA"CHLT","CMOV M,A","CMOV A,B","CMOV A,C","CMOV A,D","CMOV A,E","CMOV A,H","CMOV A,L","CMOV A,M","CMOV A,A","CADD B","CADD C","CADD D","CADD E","CADD H","CADD L" 640 DATA"CADD M","CADD A","CADC B","CADC C","CADC D","CADC E","CADC H","CADC L","CADC M","CADC A","CSUB B","CSUB C","CSUB D","CSUB E","CSUB H","CSUB L","CSUB M","CSUB A","CSBB B" 650 DATA"CSBB C","CSBB D","CSBB E","CSBB H","CSBB L","CSBB M","CSBB A","CANA B","CANA C","CANA D","CANA E","CANA H","CANA L","CANA M","CANA A","CXRA B","CXRA C","CXRA D","CXRA E" 660 DATA"CXRA H","CXRA L","CXRA M","CXRA A","CORA B","CORA C","CORA D","CORA E","CORA H","CORA L","CORA M","CORA A","CCMP B","CCMP C","CCMP D","CCMP E","CCMP H","CCMP L","CCMP M" 670 DATA"CCMP A","CRNZ","CPOP B","EJNZ ","EJMP ","ECNZ ","CPUSH B","DADI ","CRST 0","CRZ","CRET","EJZ ","CDATA","ECZ ","ECALL ","DACI ","CRST 1","CRNC","CPOP D" 680 DATA"EJNC ","DOUT ","CCNC ","CPUSH D","DSUI ","CRST 2","CRC","CDATA","EJC ","DIN ","ECC ","CDATA","DSBI ","CRST","CRPO","CPOP H","EJPO ","CXTHL","ECPO ","CPUSH H" 690 DATA"DANI ","CRST 4","CRPE","CPCHL","EJPE ","CXCHG","ECPE ","CDATA","DXRI ","CRST 5","CRP","CPOP PSW","EJP ","CDI","ECP ","CPUSH PSW","DORI ","CRST 6" 700 DATA"CRM","CSPHL","EJM ","CEI","ECM ","CDATA","DCPI ","CRST 7" 100+ RBBS (703) 525-1256 The 100/102/20 bbs ======================== DISASM III for 8080/8085 (