
 1000  *SAVE NEW 65816 OPCODES
 1010         .OP CON
 1020  ROCKWELL   .EQ 0
 1030  *--------------------------------
 1040  ZP     .EQ $45
 1050  LONG   .EQ $300     <<<24-BIT VALUE>>>
 1060  *--------------------------------
 1070  TEST   BRA .1
 1080  *--------------------------------
 1090         ORA (ZP)
 1100         AND (ZP)
 1110         EOR (ZP)
 1120         ADC (ZP)
 1130         STA (ZP)
 1140         LDA (ZP)
 1150         CMP (ZP)
 1160         SBC (ZP)
 1170  *--------------------------------
 1180  .1     JMP (TEST),X
 1190  *--------------------------------
 1200         BIT #$45     IMMEDIATE
 1210         BIT ZP       ZERO PAGE
 1220         BIT LONG     ABSOLUTE
 1230         BIT ZP,X     ZP,X
 1240         BIT LONG,X   ABS,X
 1250  *--------------------------------
 1260         INC
 1270         DEC
 1280  *--------------------------------
 1290         PHX
 1300         PLX
 1310         PHY
 1320         PLY
 1330  *--------------------------------
 1340         STZ ZP
 1350         STZ LONG
 1360         STZ ZP,X
 1370         STZ LONG,X
 1380  *--------------------------------
 1390         TSB ZP
 1400         TSB LONG
 1410         TRB ZP
 1420         TRB LONG
 1430  *--------------------------------
 1440      .DO ROCKWELL
 1450         RMB 0,ZP
 1460         RMB 1,ZP
 1470         RMB 2,ZP
 1480         SMB 0,ZP
 1490         SMB 1,ZP
 1500         SMB 2,ZP
 1510  *--------------------------------
 1520         BBR 0,ZP,SS
 1530         BBR 1,ZP,SS
 1540         BBR 2,ZP,SS
 1550  SS     BBS 0,ZP,SS
 1560         BBS 1,ZP,SS
 1570         BBS 2,ZP,SS
 1580      .FIN
 1590  *--------------------------------
 1600      .DO WDM.65816
 1610  *---ABSOLUTE LONG----------------
 1620         ORA LONG     0F LL HH BB
 1630         AND LONG     2F LL HH BB
 1640         EOR LONG     4F LL HH BB
 1650         ADC LONG     6F LL HH BB
 1660         STA LONG     8F LL HH BB
 1670         LDA LONG     AF LL HH BB
 1680         CMP LONG     CF LL HH BB
 1690         SBC LONG     EF LL HH BB
 1700  *---ABSOLUTE INDEXED LONG--------
 1710         ORA LONG,X   1F LL HH BB
 1720         AND LONG,X   3F LL HH BB
 1730         EOR LONG,X   5F LL HH BB
 1740         ADC LONG,X   7F LL HH BB
 1750         STA LONG,X   9F LL HH BB
 1760         LDA LONG,X   BF LL HH BB
 1770         CMP LONG,X   DF LL HH BB
 1780         SBC LONG,X   FF LL HH BB
 1790  *---DIRECT INDIRECT LONG----------------
 1800  *      ADDRESS POINTED TO IS 3 BYTES LONG
 1810  *      NEED A SYNTAX CHANGE HERE!!!
 1820  *      I PROPOSE "ORA.L"
 1830         ORA.L (ZP)     07 ZP
 1840         AND.L (ZP)     27 ZP
 1850         EOR.L (ZP)     47 ZP
 1860         ADC.L (ZP)     67 ZP
 1870         STA.L (ZP)     87 ZP
 1880         LDA.L (ZP)     A7 ZP
 1890         CMP.L (ZP)     C7 ZP
 1900         SBC.L (ZP)     E7 ZP
 1910  *---DIRECT INDIRECT INDEXED ZP--------
 1920         ORA.L (ZP),Y   17 ZP
 1930         AND.L (ZP),Y   37 ZP
 1940         EOR.L (ZP),Y   57 ZP
 1950         ADC.L (ZP),Y   77 ZP
 1960         STA.L (ZP),Y   97 ZP
 1970         LDA.L (ZP),Y   B7 ZP
 1980         CMP.L (ZP),Y   D7 ZP
 1990         SBC.L (ZP),Y   F7 ZP
 2000  *---STACK RELATIVE---------------
 2010  *      NEED A SYNTAX CHANGE HERE!!!
 2020  *      I PROPOSE "ORA.S"
 2030         ORA.S SR       03 SR
 2040         AND.S SR       23 SR
 2050         EOR.S SR       43 SR
 2060         ADC.S SR       63 SR
 2070         STA.S SR       83 SR
 2080         LDA.S SR       A3 SR
 2090         CMP.S SR       C3 SR
 2100         SBC.S SR       E3 SR
 2110  *---STACK RELATIVE INDIRECT INDEXED-----
 2120  *      NEED A SYNTAX CHANGE HERE!!!
 2130  *      I PROPOSE "ORA.S"
 2140         ORA.S (SR),Y   13 SR
 2150         AND.S (SR),Y   33 SR
 2160         EOR.S (SR),Y   53 SR
 2170         ADC.S (SR),Y   73 SR
 2180         STA.S (SR),Y   93 SR
 2190         LDA.S (SR),Y   B3 SR
 2200         CMP.S (SR),Y   D3 SR
 2210         SBC.S (SR),Y   F3 SR
 2220  *--------------------------------
 2230         PEA $HHLL    F4 LL HH
 2240  *      EQUIVALENT TO: LDA /ABS;PHA;LDA #ABS;PHA
 2250         PEI ZP       D4 ZP     PUSH (ZP+1),(ZP)
 2260  *      EQUIVALENT TO: LDA ZP+1;PHA;LDA ZP;PHA
 2270         PER ABS      62 LL HH
 2280  *      PUSHES PC+HHLL
 2290  *--------------------------------
 2300         PHB          8B   PUSH DBR
 2310         PLB          AB   PULL DBR
 2320         PHD          0B   PUSH D-REG
 2330         PLD          2B   PULL D-REG
 2340         PHK          4B   PUSH PBR
 2350         RTL          6B   RTS LONG
 2360  *--------------------------------
 2370         REP #BYTE    C2 XX   RESET BITS IN STATUS
 2380  *      PHP;PLA;EOR#FF;ORA#XX;EOR#FF;PHA;PLP
 2390         SEP #BYTE    E2 XX   SET BITS IN STATUS
 2400  *      PHP;PLA;ORA#XX;PHA;PLP
 2410  *--------------------------------
 2420         TCS          1B   C --> S
 2430         TSC          3B   S --> C
 2440         TCD          5B   C --> D
 2450         TDC          7B   D --> C
 2460         TXY          9B   X --> Y
 2470         TYX          BB   Y --> X
 2480         WAI          CB   WAIT FOR INTERRUPT
 2490         STP          DB   STOP UNTIL RESET
 2500         XBA          EB   A <--> B (REGISTERS)
 2510         XCE          FB   C <--> E (STATUS BITS)
 2520  *--------------------------------
 2530         COP #XX      02 XX  COPROCESSOR INTERRUPT
 2540         JSL LONG     22 LL HH BB
 2550         WDM          42  <<<RESERVED>>>
 2560         BRL ADDR     82 LL HH  BRANCH RELATIVE
 2570  *--------------------------------
 2580         JMP (TEST,X) 7C LL HH
 2590         JSR (TEST,X) FC LL HH
 2600         JML (TEST)   DC LL HH   3 BYTES AT TEST ARE LONG ADDRESS
 2610         JMP LONG     5C LL HH BB
 2620  *--------------------------------
 2630  *      LDA #NUMBER OF BYTES
 2640  *      LDX #SOURCE ADDRESS
 2650  *      LDY #DESTINATION ADDRESS
 2660         MVP SBANK,DBANK  44 DB SB
 2670         MVN SBANK,DBANK  54 DB SB
 2680  *--------------------------------
 2690      .FIN
 2700  *--------------------------------
 2710  *      WE EVIDENTLY NEED A NEW DIRECTIVE TO TELL
 2720  *      THE ASSEMBLER WHETHER TO USE 8- OR 16-BIT OPERANDS
 2730  *      IN IMMEDIATE MODE.

