
 1000  *SAVE S.BYTE TABLE
 1010  *--------------------------------
 1020  COUT   .EQ $FDED
 1030  CROUT  .EQ $FD8E
 1040  *--------------------------------
 1050  T
 1060         LDX #0
 1070  .1     TXA
 1080         AND #$0F
 1090         BNE .2
 1100         JSR CROUT
 1110  .2     TXA
 1120         JSR GET.LENGTH.OF.OPCODE
 1130         PHA
 1140         AND #$07
 1150         ORA #"0"
 1160         JSR COUT
 1170         PLA
 1180         ASL          POSITION XY FOR INDEX
 1190         ROL
 1200         ROL
 1210         AND #$03     0000 00XY
 1220         TAY
 1230         LDA TABLE,Y
 1240         JSR COUT
 1250         LDA #" "
 1260         JSR COUT
 1270         INX
 1280         BNE .1
 1290         JMP CROUT
 1300  *--------------------------------
 1310  TABLE  .AS -/ #+/
 1320  *--------------------------------
 1330  *   CALL WITH (A)= OPCODE
 1340  *   RETURN WITH (Y)= OPCODE
 1350  *               (A)= XY000LLL
 1360  *                   LLL = # OF BYTES, 1...4
 1370  *                    X  = 1 IF ABS ADDRESS
 1380  *                    Y  = 1 IF IMMEDIATE
 1390  *--------------------------------
 1400  GET.LENGTH.OF.OPCODE
 1410         TAY
 1420         AND #$0F
 1430         CMP #$08
 1440         BCC .4       XXXX 0XXX
 1450         CMP #$0C
 1460         BCC .3       XXXX 10XX
 1470         CMP #$0F
 1480         BEQ .2       XXXX 1111, L=4
 1490         CPY #$5C
 1500         BEQ .2       0101 1100, L=4
 1510  *---L=3, ABS ADDRESS-------------
 1520  .1     LDA #$83
 1530         RTS
 1540  *---L=4--------------------------
 1550  .2     LDA #4
 1560         RTS
 1570  *---XXXX 10XX--------------------
 1580  .3     CMP #$09
 1590         BNE .6       X8, XA, or XB
 1600  *---XXXX 1001--------------------
 1610         TYA
 1620         AND #$10
 1630         BNE .1       XXX1 1001, L=3
 1640  *---XXX0 1001, IMMEDIATES, L=2---
 1650         LDA #$42     OR 3 IF ## MODE
 1660         RTS
 1670  *---XXXX 0XXX--------------------
 1680  .4     LSR          CHECK ODD/EVEN
 1690         BCS .5       ODD, L=2
 1700         CPY #$22
 1710         BEQ .2       JSL LABS, L=4
 1720         CPY #$20
 1730         BEQ .1       JSR ABS, L=3
 1740         CPY #$40
 1750         BEQ .6       RTI, L=1
 1760         CPY #$60
 1770         BEQ .6       RTS, L=1
 1780         CPY #$62
 1790         BEQ .7       PER LREL, L=3
 1800         CPY #$82
 1810         BEQ .7       BRL LREL, L=3
 1820         CPY #$44
 1830         BEQ .7       MVP, L=3
 1840         CPY #$54
 1850         BEQ .7       MVN, L=3
 1860         CPY #$F4
 1870         BEQ .1       PEA ABS, L=3
 1880  *---L=2--------------------------
 1890  .5     LDA #2       L=2
 1900         RTS
 1910  *---L=1--------------------------
 1920  .6     LDA #1
 1930         RTS
 1940  *---L=3, NON-ABS ADDRESS---------
 1950  .7     LDA #3
 1960         RTS
 1970  *--------------------------------

