5 DIM A$(255),B$(255)
6 DIM B(255)
10 FOR A =0TO255
20 READ A$(A)
30 NEXT A
40 DATA "@","NOP","@","@","LSRD","ASLD","TAP","TPA","INX","DEX","CLV","SEV","CLC","SEC","CLI","SEI","SBA","CBA","@","@","@","@","TAB","TBA","XGDX","DAA","SLP","ABA","@","@","@","@"
50 DATA "BRA","BRN","BHI","BLS","BCC","BCS","BNE","BEQ","BVC","BVS","BPL","BMI","BGE","BLT","BGT","BLE","TSX","INS","PULA","PULB","DES","TXS","PSHA","PSHB","PULX","RTS","ABX","RTI","PSHX","MUL","WAI","SWI"
60 DATA "NEGA","@","@","COMA","LSRA","@","RORA","ASRA","ASLA","ROLA","DECA","@","INCA","TSTA","T","CLRA","NEGB","@","@","COMB","LSRB","@","RORB","ASRB","ASLB","ROLB","DECB","@","INCB","TSTB","T","CLRB"
70 DATA "NEG","AIM","OIM","COM","LSR","EIM","ROR","ASR","ASL","ROL","DEC","TIM","INC","TST","JMP","CLR","NEG","AIM","OIM","COM","LSR","EIM","ROR","ASR","ASL","ROL","DEC","TIM","INC","TST","JMP","CLR"
80 DATA "SUBA","CMPA","SBCA","SUBD","ANDA","BITA","LDAA","@","EORA","ADCA","ORAA","ADDA","CPX","BSR","LDS","@","SUBA","CMPA","SBCA","SUBD","ANDA","BITA","LDAA","STAA","EORA","ADCA","ORAA","ADDA","CPX","JSR","LDS","STS"
90 DATA "SUBA","CMPA","SBCA","SUBD","ANDA","BITA","LDAA","STAA","EORA","ADCA","ORAA","ADDA","CPX","JSR","LDS","STS","SUBA","CMPA","SBCA","SUBD","ANDA","BITA","LDAA","STAA","EORA","ADCA","ORAA","ADDA","CPX","JSR","LDS","STS"
100 DATA "SUBB","CMPB","SBCB","ADDD","ANDB","BITB","LDAB","@","EORB","ADCB","ORAB","ADDB","LDD","@","LDX","@","SUBB","CMPB","SBCB","ADDD","ANDB","BITB","LDAB","STAB","EORB","ADCB","ORAB","ADDB","LDD","STD","LDX","STX"
110 DATA "SUBB","CMPB","SBCB","ADDD","ANDB","BITB","LDAB","STAB","EORB","ADCB","ORAB","ADDB","LDD","STD","LDX","STX","SUBB","CMPB","SBCB","ADDD","ANDB","BITB","LDAB","STAB","EORB","ADCB","ORAB","ADDB","LDD","STD","LDX","STX"
210 FOR A=0TO255
220 READ B$(A)
230 NEXT A
240 DATA "","","","","","","","","","","","","","","",""
250 DATA "","","","","","","","","","","","","","","",""
260 DATA "Rel","Rel","Rel","Rel","Rel","Rel","Rel","Rel","Rel","Rel","Rel","Rel","Rel","Rel","Rel","Rel"
270 DATA "","","","","","","","","","","","","","","",""
280 DATA "","","","","","","","","","","","","","","",""
290 DATA "","","","","","","","","","","","","","","",""
300 DATA "Disp","Disp","Disp","Disp","Disp","Disp","Disp","Disp","Disp","Disp","Disp","Disp","Disp","Disp","Disp","Disp"
310 DATA "M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M"
320 DATA "Imm","Imm","Imm","Imm","Imm","Imm","Imm","Imm","Imm","Imm","Imm","Imm","Imm","Rel","Imm","Imm"
330 DATA "M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M"
340 DATA "Disp","Disp","Disp","Disp","Disp","Disp","Disp","Disp","Disp","Disp","Disp","Disp","Disp","Disp","Disp","Disp"
350 DATA "M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M"
360 DATA "Imm","Imm","Imm","Imm","Imm","Imm","Imm","Imm","Imm","Imm","Imm","Imm","Imm","Imm","Imm","Imm"
370 DATA "M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M"
380 DATA "Disp","Disp","Disp","Disp","Disp","Disp","Disp","Disp","Disp","Disp","Disp","Disp","Disp","Disp","Disp","Disp"
390 DATA "M","M","M","M","M","M","M","M","M","M","M","M","M","M","M","M"
410 FOR A=0TO255
420 READ B(A)
430 NEXTA
440 DATA 0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,0,0,0,0
450 DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
460 DATA 1,0,0,1,1,0,1,1,1,1,1,0,1,1,0,1,1,0,0,1,1,0,1,1,1,1,1,0,1,1,0,1
470 DATA 2,3,3,2,2,3,2,2,2,2,2,3,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3
480 DATA 2,2,2,3,2,2,2,0,2,2,2,2,3,2,3,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
490 DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3
500 DATA 2,2,2,3,2,2,2,0,2,2,2,2,3,0,3,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
510 DATA 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3
520 '
530 '
540 '
550 '
600 OPEN"O",#1,"COM0:"
610 PRINT#1,CHR$(13)
700 CLS:INPUT"@ ADDRESS";E
701 INPUT"* ADDRESS";ESTOP
702 PRINT"CONTINUE?(RETURN)"
703 PRINT"ABORT?(SPACE BAR)";
704 FSTOP$=INPUT$(1)
705 IF FSTOP$=CHR$(13) THEN 710 ELSE 700
710 IF E>ESTOP THEN 840
720 F=PEEK(E)
730 PRINT#1,CHR$(10)+"$"+HEX$(E);
740 PRINT#1,TAB(10)+HEX$(F)+":"+A$(F);
750 ON (B(F)+1) GOTO 830,820,790,760
760 E=E+1
770 G=PEEK(E)
780 PRINT#1,TAB(20)+"<"+B$(F)+":"+HEX$(G)+">";
790 E=E+1
800 G=PEEK(E)
810 PRINT#1,TAB(10*B(F))"<"+B$(F)+":"+HEX$(G)+">";
820 E=E+1:GOTO 710
830 E=E+1:PRINT#1,"***Error: Undefined Op Code***"+CHR$(10)
835 SOUND 20,20
840 CLS:PRINT#1,CHR$(7)
850 PRINT "CONTINUE?(RETURN)"
860 PRINT "ABORT?(SPACE BAR)"
870 FSTOP$=INPUT$(1)
880 IF FSTOP$=CHR$(13) THEN 700
890 CLOSE #1
900 END
