100 CLS 110 CLEAR 800 120 MAXFILES=2 130 DEFINT I-N 140 DIM S$(6),R$(6),ID(6) 150 S$(1)=CHR$(9)+"DE" 160 S$(2)=CHR$(9)+"HL" 170 S$(3)="PUSH"+CHR$(9)+"AF" 180 S$(4)="POP"+CHR$(9)+"AF" 190 S$(5)=CHR$(9)+"BC" 200 S$(6)=CHR$(9)+"DM" 210 R$(1)=CHR$(9)+"D" 220 R$(2)=CHR$(9)+"H" 230 R$(3)="PUSH"+CHR$(9)+"PSW" 240 R$(4)="POP"+CHR$(9)+"PSW" 250 R$(5)=CHR$(9)+"B" 260 FOR I=1 TO 5 270 ID(I)=LEN(S$(I))-1 280 NEXT I 290 INPUT "File ";F$ 300 J=INSTR(1,F$,".") 310 IF J<>0 THEN F$=LEFT$(F$,J-1) 320 F$=F$+".DO" 330 OPEN F$ FOR INPUT AS 1 340 OPEN "ZZZ" FOR OUTPUT AS 2 350 CLS 360 IF EOF(1) THEN 700 370 LINE INPUT#1,A$ 380 IC=0 390 'CHECK FOR HEX FORMAT INDICATORS 400 ' 410 J=INSTR(1,A$,"$") 420 IF J=0 THEN 450 430 IC=1 440 A$=LEFT$(A$,J-1)+MID$(A$,J+1,4)+"H"+RIGHT$(A$,LEN(A$)-J-4) 450 'CHECK FOR REGISTER CHANGES 460 ' 470 FOR I=1 TO 5 480 J=INSTR(1,A$,S$(I)) 490 IF J=0 THEN 550 500 B$=MID$(A$,J+LEN(S$(I)),1) 510 IF LEN(B$)=0 THEN 530 520 IF ASC(B$)>47 THEN 550 530 IC=1 540 A$=LEFT$(A$,J-1)+R$(I)+RIGHT$(A$,LEN(A$)-J-ID(I)) 550 NEXT I 560 'CHECK FOR DM, AND REPLACE WITH 570 'DB, AND STRING CONSTANT 580 ' 590 J=INSTR(1,A$,S$(6)) 600 IF J=0 THEN 630 610 A$=LEFT$(A$,J-1)+CHR$(9)+"DB"+CHR$(9)+"'"+RIGHT$(A$,LEN(A$)-J-3)+"'" 620 IC=1 630 'LIST OUT MESSAGE 640 ' 650 IF IC=1 THEN PRINT CHR$(27);"p"; 660 PRINT A$ 670 IF IC=1 THEN PRINT CHR$(27);"q"; 680 PRINT#2,A$ 690 GOTO 360 700 'CLOSE OUT FILES AND EXIT 710 ' 720 PRINT 730 PRINT "Hit any key to continue" 740 A$=INKEY$ 750 IF A$="" THEN 740 760 CLOSE 1 770 CLOSE 2 780 KILL F$ 790 NAME "ZZZ.DO" AS F$ 800 MENU