DSM/ECU/TMP76xxx MH6xxx Instruction Set: Difference between revisions

From Jane Hacker Wiki
Jump to navigation Jump to search
Created page with "00 TEST 1 * TEST OPERATION TEST MODE ONLY 01 NOP 1 2 NO OPERATION 02 AIM DIR 3 ? AND IN MEMORY 03 OIM DIR 3 ? OR IN MEM..."
 
m WikiSysop moved page DSM/ECU/MH6111 Instruction Set to DSM/ECU/TMP76xxx MH6xxx Instruction Set: It applies to all the series
 
(19 intermediate revisions by the same user not shown)
Line 1: Line 1:
00    TEST        1  *    TEST OPERATION TEST MODE ONLY
<- [[DSM/ECU]]
01    NOP        1  2    NO OPERATION
02    AIM DIR        3  ?    AND IN MEMORY
03    OIM DIR        3  ?    OR IN MEMORY
04    LSRD        1  3    LOGICAL SHIFT RIGHT DOUBLE ACCUMULATOR
05    ASLD / LSLD    1  3    ARITHMETIC / LOGICAL SHIFT LEFT DOUBLE ACC
06    TAP        1  2    TRANSFER FROM ACC A TO CONDITION CODE REGISTER
07    TPA        1  2    TRANSFER FROM CONDITION CODE REGISTER TO ACC A
08    INX        1  3    INCREMENT INDEX REGISTER X
09    DEX        1  3    DECREMENT INDEX REGISTER X
0A    CLV        1  2    CLEAR TWOS COMPLEMENT OVERFLOW BIT
0B    SEV        1  2    SET TWOS COMPLEMENT OVERFLOW BIT
0C    CLC        1  2    CLEAR CARRY
0D    SEC        1  2    SET CARRY
0E    CLI        1  2    CLEAR INTERRUPT MASK
0F    SEI        1  2    SET INTERRUPT MASK
10    SBA        1  2    SUBTRACT ACCUMULATORS
11    CBA        1  2    COMPARE ACCUMULATORS
14    IDIV DIR        2  6    INTEGER DIVIDE
15    FDIV DIR      2  6    FRACTIONAL DIVIDE
16    TAB        1  2    TRANSFER ACCUMULATOR A TO ACCUMULATOR B
17    TBA        1  2    TRANSFER FROM ACCUMULATOR B TO ACCUMULATOR A
18    XGXY        1  4    EXCHANGE REGISTER X AND REGISTER Y
19    DAA        1  2    DECIMAL ADJUST ACCUMULATOR A
1A    XGDX        1    EXCHANGE DOUBLE ACCUMLATOR AND INDEX REG X
1B    ABA        1  2    ADD ACCUMULATOR B TO ACCUMULATOR A
1C    CPD IMM        3  5    COMPARE DOUBLE ACCUMULATOR
1D    CPD DIR        2  6    COMPARE DOUBLE ACCUMULATOR
1F    CPD EXT        3  7    COMPARE DOUBLE ACCUMULATOR
20    BRA        2  3    BRANCH ALWAYS
21    BRN        2  3    BRANCH NEVER
22    BHI        2  3    BRANCH IF HIGHER
23    BLS        2  3    BRANCH IF LOWER OR SAME
24    BCC / BHS    2  3    BRANCH IF CARRY CLR / BRANCH IF HIGHER OR SAME
25    BCS / BLO    2  3    BRANCH IF CARRY SET / BRANCH IF LOWER
26    BNE        2  3    BRANCH IF NOT EQUAL TO ZERO
27    BEQ        2  3    BRANCH IF EQUAL
28    BVC        2  3    BRANCH IF OVERFLOW CLEAR
29    BVS        2  3    BRANCH IF OVERFLOW SET
2A    BPL        2  3    BRANCH IF PLUS
2B    BMI        2  3    BRANCH IF MINUS
2C    BGE        2  3    BRANCH IF GREATER THAN OR EQUAL TO ZERO
2D    BLT        2  3    BRANCH IF LESS THAN ZERO
2E    BGT        2  3    BRANCH IF GREATER THAN ZERO
2F    BLE        2  3    BRANCH IF LESS THAN OR EQUAL TO ZERO
30    TSX        1  3    TRANSFER FROM STACK POINTER TO INDEX REGISTER X
31    INS        1  3    INCREMENT STACK POINTER
32    PULA        1  4    PULL DATA FROM STACK
33    PULB        1  4    PULL DATA FROM STACK
34    DES        1  3    DECREMENT STACK POINTER
35    TXS        1  3    TRANSFER FROM INDEX REGISTER X TO STACK POINTER
36    PSHA        1  3    PUSH DATA ONTO STACK
37    PSHB        1  3    PUSH DATA ONTO STACK
38    PULX        1  5    PULL INDEX REGISTER X FROM STACK
39    RTS        1  5    RETURN FROM SUBROUTINE
3A    ABX        1  3    ADD ACCUMULATOR B TO INDEX REGISTER X
3B    RTI        1 12    RETURN FROM INTERRUPT
3C    PSHX        1  4    PUSH INDEX REGISTER X ONTO STACK
3D    MUL        1 10    MULTIPLY UNSIGNED
3E    WAI        1 14    WAIT FOR INTERRUPT
3F    SWI        1 14    SOFTWARE INTERRUPT
40    NEGA        1  2    NEGATE
43    COMA        1  2    COMPLEMENT
44    LSRA        1  2    LOGICAL SHIFT RIGHT
46    RORA        1  2    ROTATE RIGHT
47    ASRA        1  2    ARITHMETIC SHIFT RIGHT
48    ASLA / LSLA    1  2    ARITHMETIC / LOGICAL SHIFT LEFT
49    ROLA        1  2    ROTATE LEFT
4A    DECA        1  2    DECREMENT
4C    INCA        1  2    INCREMENT
4D    TSTA        1  2    TEST
4F    CLRA        1  2    CLEAR
50    NEGB        1  2    NEGATE
53    COMB        1  2    COMPLEMENT
54    LSRB        1  2    LOGICAL SHIFT RIGHT
56    RORB        1  2    ROTATE RIGHT
57    ASRB        1  2    ARITHMETIC SHIFT RIGHT
58    ASLB / LSLB    1  2    ARITHMETIC / LOGICAL SHIFT LEFT
59    ROLB        1  2    ROTATE LEFT
5A    DECB        1  2    DECREMENT
5C    INCB        1  2    INCREMENT
5D    TSTB        1  2    TEST
5F    CLRB        1  2    CLEAR
60    NEG IND,X    2  6    NEGATE
63    COM IND,X    2  6    COMPLEMENT
64    LSR IND,X    2  6    LOGICAL SHIFT RIGHT
66    ROR IND,X    2  6    ROTATE RIGHT
67    ASR IND,X    2  6    ARITHMETIC SHIFT RIGHT
68    ASL / LSL IND,X    2  6    ARITHMETIC / LOGICAL SHIFT LEFT
69    ROL IND,X    2  6    ROTATE LEFT
6A    DEC IND,X    2  6    DECREMENT
6C    INC IND,X    2  6    INCREMENT
6D    TST IND,X    2  6    TEST
6E    JMP IND,X    2  3    JUMP
6F    CLR IND,X    2  6    CLEAR
70    NEG EXT        3  6    NEGATE
73    COM EXT        3  6    COMPLEMENT
74    LSR EXT        3  6    LOGICAL SHIFT RIGHT
76    ROR EXT        3  6    ROTATE RIGHT
77    ASR EXT        3  6    ARITHMETIC SHIFT RIGHT
78    ASL / LSL EXT    3  6    ARITHMETIC / LOGICAL SHIFT LEFT
79    ROL EXT        3  6    ROTATE LEFT
7A    DEC EXT        3  6    DECREMENT
7C    INC EXT        3  6    INCREMENT
7D    TST EXT        3  6    TEST
7E    JMP EXT        3  3    JUMP
7F    CLR EXT        3  6    CLEAR
80    SUBA IMM    2  2    SUBTRACT
81    CMPA IMM    2  2    COMPARE
82    SBCA IMM    2  2    SUBTRACT WITH CARRY
83    SUBD IMM    3  4    SUBTRACT DOUBLE ACCUMULATOR
84    ANDA IMM    2  2    LOGICAL AND
85    BITA IMM    2  2    BIT TEST
86    LDAA IMM    2  2    LOAD ACCUMULATOR
87    BRSET DIR    4    BRANCH IF BIT(S) ARE SET
88    EORA IMM    2  2    EXCLUSIVE OR
89    ADCA IMM    2  2    ADD WITH CARRY
8A    ORAA IMM    2  2    INCLUSIVE OR
8B    ADDA IMM    2  2    ADD WITHOUT CARRY
8C    CPX IMM        3  4    COMPARE INDEX REGISTER X
8D    BSR        2  6    BRANCH TO SUBROUTINE
8E    LDS IMM        3  3    LOAD STACK POINTER
8F    BRCLR DIR    4    BRANCH IF BIT(S) ARE CLEAR
90    SUBA DIR    2  3    SUBTRACT
91    CMPA DIR    2  3    COMPARE
92    SBCA DIR    2  3    SUBTRACT WITH CARRY
93    SUBD DIR    2  5    SUBTRACT DOUBLE ACCUMULATOR
94    ANDA DIR    2  3    LOGICAL AND
95    BITA DIR    2  3    BIT TEST
96    LDAA DIR    2  3    LOAD ACCUMULATOR
97    STAA DIR    2  3    STORE ACCUMULATOR
98    EORA DIR    2  3    EXCLUSIVE OR
99    ADCA DIR    2  3    ADD WITH CARRY
9A    ORAA DIR    2  3    INCLUSIVE OR
9B    ADDA DIR    2  3    ADD WITHOUT CARRY
9C    CPX DIR        2  5    COMPARE INDEX REGISTER X
9D    JSR DIR        2  5    JUMP TO SUBROUTINE
9E    LDS DIR        2  4    LOAD STACK POINTER
9F    STS DIR        2  4    STORE STACK POINTER
A0    SUBA IND,X    2  4    SUBTRACT
A0 80  SUBA IND,Y    2    SUBTRACT
A1    CMPA IND,X    2  4    COMPARE
A1 80  CMPA IND,Y+    2    COMPARE WITH/Y+
A2    SBCA IND,X    2  4    SUBTRACT WITH CARRY
A2 80    SBCA IND,Y    2    SUBTRACT WITH CARRY
A3    SUBD IND,X    2  6    SUBTRACT DOUBLE ACCUMULATOR
A3 80    SUBD IND,Y    2  6    SUBTRACT DOUBLE ACCUMULATOR
A4    ANDA IND,X    2  4    LOGICAL AND
A4 80    ANDA IND,Y    2  4    LOGICAL AND
A5    BITA IND,X    2  4    BIT TEST
A5 80    BITA IND,Y    2  4    BIT TEST
A6    LDAA IND,X    2  4    LOAD ACCUMULATOR
A6 80  LDAA IND,Y+    2    LOAD ACCUMULATOR WITH/Y+
A7    STAA IND,X    2  4    STORE ACCUMULATOR
A7 80    STAA IND,Y    2    STORE ACCUMULATOR
A8    EORA IND,X    2  4    EXCLUSIVE OR
A8 80    EORA IND,Y    2  4    EXCLUSIVE OR
A9    ADCA IND,X    2  4    ADD WITH CARRY
A9 80    ADCA IND,Y    2  4    ADD WITH CARRY
AA    ORAA IND,X    2  4    INCLUSIVE OR
AA 80    ORAA IND,Y    2  4    INCLUSIVE OR
AB    ADDA IND,X    2  4    ADD WITHOUT CARRY
AB 80    ADDA IND,Y    2  4    ADD WITHOUT CARRY
AC    CPX IND,X    2  6    COMPARE INDEX REGISTER X
AC 80    CPX IND,Y    2  6    COMPARE INDEX REGISTER X
AD    JSR IND,X    2  6    JUMP TO SUBROUTINE
AD 80  JSR IND,Y    2    JUMP TO SUBROUTINE
AE    LDS IND,X    2  5    LOAD STACK POINTER
AE 80    LDS IND,Y    2  5    LOAD STACK POINTER
AF    STS IND,X    2  5    STORE STACK POINTER
AF 80    STS IND,Y    2  5    STORE STACK POINTER
B0    SUBA EXT    3  4    SUBTRACT
B1    CMPA EXT    3  4    COMPARE
B2    SBCA EXT    3  4    SUBTRACT WITH CARRY
B3    SUBD EXT    3  6    SUBTRACT DOUBLE ACCUMULATOR
B4    ANDA EXT    3  4    LOGICAL AND
B5    BITA EXT    3  4    BIT TEST
B6    LDAA EXT    3  4    LOAD ACCUMULATOR
B7    STAA EXT    3  4    STORE ACCUMULATOR
B8    EORA EXT    3  4    EXCLUSIVE OR
B9    ADCA EXT    3  4    ADD WITH CARRY
BA    ORAA EXT    3  4    INCLUSIVE OR
BB    ADDA EXT    3  4    ADD WITHOUT CARRY
BC    CPX EXT        3  6    COMPARE INDEX REGISTER X
BD    JSR EXT        3  6    JUMP TO SUBROUTINE
BE    LDS EXT        3  5    LOAD STACK POINTER
BF    STS EXT        3  5    STORE STACK POINTER
C0    SUBB IMM    2  2    SUBTRACT
C1    CMPB IMM    2  2    COMPARE
C2    SBCB IMM    2  2    SUBTRACT WITH CARRY
C3    ADDD IMM    3  4    ADD DOUBLE ACCUMULATOR
C4    ANDB IMM    2  2    LOGICAL AND
C5    BITB IMM    2  2    BIT TEST
C6    LDAB IMM    2  2    LOAD ACCUMULATOR
C8    EORB IMM    2  2    EXCLUSIVE OR
C9    ADCB IMM    2  2    ADD WITH CARRY
CA    ORAB IMM    2  2    INCLUSIVE OR
CB    ADDB IMM    2  2    ADD WITHOUT CARRY
CC    LDD IMM        3  3    LOAD DOUBLE ACCUMULATOR
CD 08    INY        2  4    INCREMENT INDEX REGISTER Y
CD 09    DEY        2  4    DECREMENT INDEX REGISTER Y
CD 1A    XGDY        2    EXCHANGE DOUBLE ACCUMULATOR AND INDEX REG Y
CD 3A    ABY        2    ADD ACCUMULATOR B TO INDEX REG Y
CD 8C  CMPY IMM, Y++    4    CMPY INDEX REGISTER Y AND INCREMENT.
CD CE    LDY IMM        4  4    LOAD INDEX REGISTER Y
CD DF    STY DIR        3  5    STORE INDEX REGISTER Y
CD EE    LDY IND,X    3  6    LOAD INDEX REGISTER Y
CE    LDX IMM        3  3    LOAD INDEX REGISTER X
CF    *****        3    ?????


 
{|class="wikitable"
D0    SUBB DIR    2  3    SUBTRACT
!|Bytes
D1    CMPB DIR    2  3    COMPARE
!|Mnem
D2    SBCB DIR    2  3    SUBTRACT WITH CARRY
!|Mode
D3    ADDD DIR    2  5    ADD DOUBLE ACCUMULATOR
!|Byte length
D4    ANDB DIR    2  3    LOGICAL AND
!|Cycles
D5    BITB DIR    2 3    BIT TEST
!|Desc
D6    LDAB DIR   2  3   LOAD ACCUMULATOR
|-
D7    STAB DIR   2  3    STORE ACCUMULATOR
|00
D8   EORB DIR    2  3   EXCLUSIVE OR
|TEST
D9    ADCB DIR    2  3    ADD WITH CARRY
|
DA    ORAB DIR    2  3   INCLUSIVE OR
|1
DB    ADDB DIR    2  3    ADD WITHOUT CARRY
|*
DC    LDD DIR        2 4    LOAD DOUBLE ACCUMULATOR
|TEST OPERATION TEST MODE ONLY
DD    STD DIR        2 4    STORE DOUBLE ACCUMULATOR
|-
DE    LDX DIR        2  4    LOAD INDEX REGISTER X
|01
DF    STX DIR       2  4    STORE INDEX REGISTER X
|NOP
E0    SUBB IND,X    2 4    SUBTRACT
|
E0 80    SUBB IND,Y    4    SUBTRACT
|1
E1     CMPB IND,X    2 4    COMPARE
|2
E1 80    CMPB IND,Y    2 4    COMPARE
|NO OPERATION
E2    SBCB IND,X    2  4    SUBTRACT WITH CARRY
|-
E2 80    SBCB IND,Y    4    SUBTRACT WITH CARRY
|02
E3    ADDD IND,X   2  6    ADD DOUBLE ACCUMULATOR
|AIM
E3 80    ADDD IND,Y    2  6    ADD DOUBLE ACCUMULATOR
|DIR    
E4    ANDB IND,X   2  4    LOGICAL AND
|3
E4 80    ANDB IND,Y    2 4   LOGICAL AND
|?
E5    BITB IND,X    2 4    BIT TEST
|AND IN MEMORY
E5 80    BITB IND,Y   2 4    BIT TEST
|-
E6   LDAB IND,X   2 4    LOAD ACCUMULATOR
|03
E6 80   LDAB IND,Y   4   LOAD ACCUMULATOR
|OIM
E7    STAB IND,X   2 4    STORE ACCUMULATOR
|DIR      
E7 80    STAB IND,Y    2  4    STORE ACCUMULATOR
|3
E8    EORB IND,X   2 4    EXCLUSIVE OR
|?
E8 80    EORB IND,Y    2  4    EXCLUSIVE OR
|OR IN MEMORY
E9    ADCB IND,X    2  4    ADD WITH CARRY
|-
E9 80    ADCB IND,Y    2 4    ADD WITH CARRY
|04
EA    ORAB IND,X   2 4    INCLUSIVE OR
|LSRD    
EA 80    ORAB IND,Y    2  4    INCLUSIVE OR
|    
EB    ADDB IND,X    2  4    ADD WITHOUT CARRY
|1
EB 80    ADDB IND,Y    2  4    ADD WITHOUT CARRY
|3
EC    LDD IND,X    2  5    LOAD DOUBLE ACCUMULATOR
|LOGICAL SHIFT RIGHT DOUBLE ACCUMULATOR
EC 80    LDD IND,Y    2 5   LOAD DOUBLE ACCUMULATOR
|-
ED    STD IND,X   2 5    STORE DOUBLE ACCUMULATOR
|05
ED 80    STD IND,Y    2 5   STORE DOUBLE ACCUMULATOR
|ASLD / LSLD 
EE    LDX IND,X    5    LOAD INDEX REGISTER X
|
EE 80    LDX IND,Y++    2  5    LOAD INDEX REGISTER X WITH/Y++
|1
EF    STX IND,X    2 5   STORE INDEX REGISTER X
|3
EF 80    STX IND,X   2 5    STORE INDEX REGISTER X
|ARITHMETIC / LOGICAL SHIFT LEFT DOUBLE ACC
F0    SUBB EXT    3 4   SUBTRACT
|-
F1    CMPB EXT   3 4   COMPARE
|06
F2    SBCB EXT   3 4    SUBTRACT WITH CARRY
|TAP     
F3    ADDD EXT    3  6    ADD DOUBLE ACCUMULATOR
|
F4    ANDB EXT    3 4    LOGICAL AND
|1
F5    BITB EXT    3  4    BIT TEST
|2
F6   LDAB EXT   3 4   LOAD ACCUMULATOR
|TRANSFER FROM ACC A TO CONDITION CODE REGISTER
F7   STAB EXT    3  4    STORE ACCUMULATOR
|-
F8    EORB EXT    3 4    EXCLUSIVE OR
|07
F9    ADCB EXT    3 4    ADD WITH CARRY
|TPA     
FA   ORAB EXT   3  4    INCLUSIVE OR
|
FB    ADDB EXT    3 4    ADD WITHOUT CARRY
|1
FC    LDD EXT        3  5   LOAD DOUBLE ACCUMULATOR
|2
FD    STD EXT        3  5    STORE DOUBLE ACCUMULATOR
|TRANSFER FROM CONDITION CODE REGISTER TO ACC A
FE    LDX EXT        3  5    LOAD INDEX REGISTER X
|-
FF    STX EXT        3  5    STORE INDEX REGISTER X
|08
|INX     
|
|1
|3
|INCREMENT INDEX REGISTER X
|-
|09
|DEX        
|
|1
|3
|DECREMENT INDEX REGISTER X
|-
|0A
|CLV     
|  
|1
|2
|CLEAR TWOS COMPLEMENT OVERFLOW BIT
|-
|0B
|SEV     
|  
|1
|2
|SET TWOS COMPLEMENT OVERFLOW BIT
|-
|0C
|CLC      
|1
|2
|CLEAR CARRY
|-
|0D
|SEC   
|1
|2
|SET CARRY
|-
|0E
|CLI     
|
|1
|2
|CLEAR INTERRUPT MASK
|-
|0F
|SEI     
|  
|1
|2
|SET INTERRUPT MASK
|-
|10
|SBA   
|1
|2
|SUBTRACT ACCUMULATORS
|-
|11
|CBA       
|
|1
|2
|COMPARE ACCUMULATORS
|-
|12
|AIM
|IND,X
|3
|?
|ANd in memory, indexed X
|-
|13
|OIM
|IND,X
|3
|?
|Or in memory, indexed X
|-
|14
|DIV
|IMM     
|2
|4
|DIVIDE IMMEDIATE
|-
|15
|DIV
|DIR     
|2
|4
|DIVIDE DIRECT
|-
|16
|TAB    
|    
|1
|2
|TRANSFER ACCUMULATOR A TO ACCUMULATOR B
|-
|17
|TBA    
|    
|1
|2
|TRANSFER FROM ACCUMULATOR B TO ACCUMULATOR A
|-
|18
|XGXY    
|    
|1
|4
|EXCHANGE REGISTER X AND REGISTER Y
|-
|19
|DAA     
|1
|2
|DECIMAL ADJUST ACCUMULATOR A
|-
|1A
|XGDX
|
|1
|
|EXCHANGE DOUBLE ACCUMLATOR AND INDEX REG X
|-
|1B
|ABA     
|  
|1
|2
|ADD ACCUMULATOR B TO ACCUMULATOR A
|-
|1C
|CPD
|IMM       
|3
|5
|COMPARE DOUBLE ACCUMULATOR
|-
|1D
|CPD
|DIR       
|2
|6
|COMPARE DOUBLE ACCUMULATOR
|-
|1E
|CPD
|IND,X
|2
|?
|COMPARE DOUBLE ACCUMULATOR
|-
|1F
|CPD
|EXT       
|3
|7
|COMPARE DOUBLE ACCUMULATOR
|-
|20
|BRA 
|   
|2
|3
|BRANCH ALWAYS
|-
|21
|BRN 
|   
|2
|3
|BRANCH NEVER
|-
|22
|BHI    
|    
|2
|3
|BRANCH IF HIGHER
|-
|23
|BLS   
|2
|3
|BRANCH IF LOWER OR SAME
|-
|24
|BCC / BHS    
|
|2
|3
|BRANCH IF CARRY CLR / BRANCH IF HIGHER OR SAME
|-
|25
|BCS / BLO 
|  
|2
|3
|BRANCH IF CARRY SET / BRANCH IF LOWER
|-
|26
|BNE     
|  
|2
|3
|BRANCH IF NOT EQUAL TO ZERO
|-
|27
|BEQ   
|2
|3
|BRANCH IF EQUAL
|-
|28
|BVC    
|    
|2
|3
|BRANCH IF OVERFLOW CLEAR
|-
|29
|BVS   
|2
|3
|BRANCH IF OVERFLOW SET
|-
|2A
|BPL    
|    
|2
|3
|BRANCH IF PLUS
|-
|2B
|BMI    
|    
|2
|3
|BRANCH IF MINUS
|-
|2C
|BGE   
|2
|3
|BRANCH IF GREATER THAN OR EQUAL TO ZERO
|-
|2D
|BLT   
|2
|3
|BRANCH IF LESS THAN ZERO
|-
|2E
|BGT    
|    
|2
|3
|BRANCH IF GREATER THAN ZERO
|-
|2F
|BLE    
|    
|2
|3
|BRANCH IF LESS THAN OR EQUAL TO ZERO
|-
|30
|TSX     
|  
|1
|3
|TRANSFER FROM STACK POINTER TO INDEX REGISTER X
|-
|31
|INS   
|    
|1
|3
|INCREMENT STACK POINTER
|-
|32
|PULA   
|1
|4
|PULL DATA FROM STACK
|-
|33
|PULB 
|   
|1
|4
|PULL DATA FROM STACK
|-
|34
|DES   
|   
|1
|3
|DECREMENT STACK POINTER
|-
|35
|TXS   
|   
|1
|3
|TRANSFER FROM INDEX REGISTER X TO STACK POINTER
|-
|36
|PSHA   
|   
|1
|3
|PUSH DATA ONTO STACK
|-
|37
|PSHB   
|   
|1
|3
|PUSH DATA ONTO STACK
|-
|38
|PULX     
|1
|5
|PULL INDEX REGISTER X FROM STACK
|-
|39
|RTS     
|
|1
|5
|RETURN FROM SUBROUTINE
|-
|3A
|ABX     
|
|1
|3
|ADD ACCUMULATOR B TO INDEX REGISTER X
|-
|3B
|RTI
|
|1
|12
|RETURN FROM INTERRUPT
|-
|3C
|PSHX   
|   
|1
|4
|PUSH INDEX REGISTER X ONTO STACK
|-
|3D   
|MUL     
|1
|10   
|MULTIPLY UNSIGNED
|-
|3E   
|WAI   
|1
|14   
|WAIT FOR INTERRUPT
|-
|3F   
|SWI     
|1
|14   
|SOFTWARE INTERRUPT
|-
|40
|NEGA     
|1
|2
|NEGATE
|-
|43
|COMA     
|1
|2
|COMPLEMENT
|-
|44
|LSRA     
|1
|2
|LOGICAL SHIFT RIGHT
|-
|46
|RORA 
|   
|1
|2
|ROTATE RIGHT
|-
|47
|ASRA 
|   
|1
|2
|ARITHMETIC SHIFT RIGHT
|-
|48
|ASLA / LSLA 
|
|1
|2
|ARITHMETIC / LOGICAL SHIFT LEFT
|-
|49
|ROLA 
|   
|1
|2
|ROTATE LEFT
|-
|4A
|DECA     
|1
|2
|DECREMENT
|-
|4C
|INCA     
|
|1
|2
|INCREMENT
|-
|4D
|TSTA   
|   
|1
|2
|TEST
|-
|4F
|CLRA 
|     
|1
|2
|CLEAR
|-
|50
|NEGB   
|   
|1
|2
|NEGATE
|-
|53
|COMB 
|   
|1
|2
|COMPLEMENT
|-
|54
|LSRB 
|   
|1
|2
|LOGICAL SHIFT RIGHT
|-
|56
|RORB   
|   
|1
|2
|ROTATE RIGHT
|-
|57
|ASRB   
|   
|1
|2
|ARITHMETIC SHIFT RIGHT
|-
|58
|ASLB / LSLB 
|
|1
|2
|ARITHMETIC / LOGICAL SHIFT LEFT
|-
|59
|ROLB   
|1
|2
|ROTATE LEFT
|-
|5A
|DECB   
|   
|1
|2
|DECREMENT
|-
|5C
|INCB     
|
|1
|2
|INCREMENT
|-
|5D
|TSTB   
|1
|2
|TEST
|-
|5F
|CLRB   
|   
|1
|2
|CLEAR
|-
|60
|NEG
|IND,X   
|2
|6
|NEGATE
|-
|63
|COM
|IND,X   
|2
|6
|COMPLEMENT
|-
|64
|LSR
|IND,X   
|2
|6
|LOGICAL SHIFT RIGHT
|-
|66
|ROR
|IND,X   
|2
|6
|ROTATE RIGHT
|-
|67
|ASR
|IND,X   
|2
|6
|ARITHMETIC SHIFT RIGHT
|-
|68
|ASL / LSL
|IND,X   
|2
|6
|ARITHMETIC / LOGICAL SHIFT LEFT
|-
|69
|ROL
|IND,X   
|2
|6
|ROTATE LEFT
|-
|6A
|DEC
|IND,X   
|2
|6
|DECREMENT
|-
|6C
|INC
|IND,X   
|2
|6
|INCREMENT
|-
|6D
|TST
|IND,X   
|2
|6
|TEST
|-
|6E
|JMP
|IND,X   
|2
|3
|JUMP
|-
|6F
|CLR
|IND,X   
|2
|6
|CLEAR
|-
|70
|NEG
|EXT      
|3
|6
|NEGATE
|-
|73
|COM
|EXT       
|3
|6
|COMPLEMENT
|-
|74
|LSR
|EXT       
|3
|6
|LOGICAL SHIFT RIGHT
|-
|76
|ROR
|EXT       
|3
|6
|ROTATE RIGHT
|-
|77
|ASR
|EXT       
|3
|6
|ARITHMETIC SHIFT RIGHT
|-
|78
|ASL / LSL
|EXT   
|3
|6
|ARITHMETIC / LOGICAL SHIFT LEFT
|-
|79
|ROL
|EXT       
|3
|6
|ROTATE LEFT
|-
|7A
|DEC
|EXT       
|3
|6
|DECREMENT
|-
|7C
|INC
|EXT       
|3
|6
|INCREMENT
|-
|7D
|TST
|EXT       
|3
|6
|TEST
|-
|7E
|JMP
|EXT       
|3
|3
|JUMP
|-
|7F
|CLR
|EXT       
|3
|6
|CLEAR
|-
|80
|SUBA
|IMM   
|2
|2
|SUBTRACT
|-
|81
|CMPA
|IMM   
|2
|2
|COMPARE
|-
|82
|SBCA
|IMM   
|2
|2
|SUBTRACT WITH CARRY
|-
|83
|SUBD
|IMM   
|3
|4
|SUBTRACT DOUBLE ACCUMULATOR
|-
|84
|ANDA
|IMM   
|2
|2
|LOGICAL AND
|-
|85
|BITA
|IMM   
|2
|2
|BIT TEST
|-
|86
|LDAA
|IMM   
|2
|2
|LOAD ACCUMULATOR
|-
|87
|BRSET
|DIR
|4
|
|BRANCH IF BIT(S) ARE SET
|-
|88
|EORA
|IMM   
|2
|2
|EXCLUSIVE OR
|-
|89
|ADCA
|IMM   
|2
|2
|ADD WITH CARRY
|-
|8A
|ORAA
|IMM   
|2
|2
|INCLUSIVE OR
|-
|8B
|ADDA
|IMM   
|2
|2
|ADD WITHOUT CARRY
|-
|8C
|CPX
|IMM       
|3
|4
|COMPARE INDEX REGISTER X
|-
|8D
|BSR   
|   
|2
|6
|BRANCH TO SUBROUTINE
|-
|8E
|LDS
|IMM       
|3
|3
|LOAD STACK POINTER
|-
|8F
|BRCLR
|DIR
|4
|
|BRANCH IF BIT(S) ARE CLEAR
|-
|90
|SUBA
|DIR   
|2
|3
|SUBTRACT
|-
|91
|CMPA
|DIR   
|2
|3
|COMPARE
|-
|92
|SBCA
|DIR   
|2
|3
|SUBTRACT WITH CARRY
|-
|93
|SUBD
|DIR   
|2
|5
|SUBTRACT DOUBLE ACCUMULATOR
|-
|94
|ANDA
|DIR   
|2
|3
|LOGICAL AND
|-
|95
|BITA
|DIR   
|2
|3
|BIT TEST
|-
|96
|LDAA
|DIR   
|2
|3
|LOAD ACCUMULATOR
|-
|97
|STAA
|DIR   
|2
|3
|STORE ACCUMULATOR
|-
|98
|EORA
|DIR   
|2
|3
|EXCLUSIVE OR
|-
|99
|ADCA
|DIR   
|2
|3
|ADD WITH CARRY
|-
|9A
|ORAA
|DIR   
|2
|3
|INCLUSIVE OR
|-
|9B
|ADDA
|DIR   
|2
|3
|ADD WITHOUT CARRY
|-
|9C
|CPX
|DIR       
|2
|5
|COMPARE INDEX REGISTER X
|-
|9D
|JSR
|DIR       
|2
|5
|JUMP TO SUBROUTINE
|-
|9E
|LDS
|DIR       
|2
|4
|LOAD STACK POINTER
|-
|9F
|STS
|DIR       
|2
|4
|STORE STACK POINTER
|-
|A0
|SUBA
|IND,X   
|2
|4
|SUBTRACT
|-
|A0 80 
|SUBA
|IND,Y   
|2   
|
|SUBTRACT
|-
|A1
|CMPA
|IND,X   
|2
|4
|COMPARE
|-
|A1 80 
|CMPA
|IND,Y+   
|2   
|
|COMPARE WITH/Y+
|-
|A2
|SBCA
|IND,X   
|2
|4
|SUBTRACT WITH CARRY
|-
|A2 80   
|SBCA
|IND,Y   
|2   
|
|SUBTRACT WITH CARRY
|-
|A3
|SUBD
|IND,X   
|2
|6
|SUBTRACT DOUBLE ACCUMULATOR
|-
|A3 80
|SUBD
|IND,Y   
|2
|6
|SUBTRACT DOUBLE ACCUMULATOR
|-
|A4
|ANDA
|IND,X   
|2
|4
|LOGICAL AND
|-
|A4 80
|ANDA
|IND,Y   
|2
|4
|LOGICAL AND
|-
|A5
|BITA
|IND,X   
|2
|4
|BIT TEST
|-
|A5 80
|BITA
|IND,Y   
|2
|4
|BIT TEST
|-
|A6
|LDAA
|IND,X   
|2
|4
|LOAD ACCUMULATOR
|-
|A6 80 
|LDAA
|IND,Y+   
|2   
|
|LOAD ACCUMULATOR WITH/Y+
|-
|A7
|STAA
|IND,X   
|2
|4
|STORE ACCUMULATOR
|-
|A7 80   
|STAA
|IND,Y   
|2   
|
|STORE ACCUMULATOR
|-
|A8
|EORA
|IND,X   
|2
|4
|EXCLUSIVE OR
|-
|A8 80
|EORA
|IND,Y   
|2
|4
|EXCLUSIVE OR
|-
|A9
|ADCA
|IND,X   
|2
|4
|ADD WITH CARRY
|-
|A9 80
|ADCA
|IND,Y   
|2
|4
|ADD WITH CARRY
|-
|AA
|ORAA
|IND,X   
|2
|4
|INCLUSIVE OR
|-
|AA 80
|ORAA
|IND,Y   
|2
|4
|INCLUSIVE OR
|-
|AB
|ADDA
|IND,X   
|2
|4
|ADD WITHOUT CARRY
|-
|AB 80
|ADDA
|IND,Y   
|2
|4
|ADD WITHOUT CARRY
|-
|AC
|CPX
|IND,X   
|2
|6
|COMPARE INDEX REGISTER X
|-
|AC 80
|CPX
|IND,Y   
|2
|6
|COMPARE INDEX REGISTER X
|-
|AD
|JSR
|IND,X   
|2
|6
|JUMP TO SUBROUTINE
|-
|AD 80 
|JSR
|IND,Y   
|2   
|
|JUMP TO SUBROUTINE
|-
|AE
|LDS
|IND,X   
|2
|5
|LOAD STACK POINTER
|-
|AE 80
|LDS
|IND,Y   
|2
|5
|LOAD STACK POINTER
|-
|AF
|STS
|IND,X   
|2
|5
|STORE STACK POINTER
|-
|AF 80
|STS
|IND,Y   
|2
|5
|STORE STACK POINTER
|-
|B0
|SUBA
|EXT   
|3
|4
|SUBTRACT
|-
|B1
|CMPA
|EXT   
|3
|4
|COMPARE
|-
|B2
|SBCA
|EXT   
|3
|4
|SUBTRACT WITH CARRY
|-
|B3
|SUBD
|EXT   
|3
|6
|SUBTRACT DOUBLE ACCUMULATOR
|-
|B4
|ANDA
|EXT   
|3
|4
|LOGICAL AND
|-
|B5
|BITA
|EXT   
|3
|4
|BIT TEST
|-
|B6
|LDAA
|EXT   
|3
|4
|LOAD ACCUMULATOR
|-
|B7
|STAA
|EXT   
|3
|4
|STORE ACCUMULATOR
|-
|B8
|EORA
|EXT   
|3
|4
|EXCLUSIVE OR
|-
|B9
|ADCA
|EXT   
|3
|4
|ADD WITH CARRY
|-
|BA
|ORAA
|EXT   
|3
|4
|INCLUSIVE OR
|-
|BB
|ADDA
|EXT   
|3
|4
|ADD WITHOUT CARRY
|-
|BC
|CPX
|EXT       
|3
|6
|COMPARE INDEX REGISTER X
|-
|BD
|JSR
|EXT       
|3
|6
|JUMP TO SUBROUTINE
|-
|BE
|LDS
|EXT       
|3
|5
|LOAD STACK POINTER
|-
|BF
|STS
|EXT       
|3
|5
|STORE STACK POINTER
|-
|C0
|SUBB
|IMM   
|2
|2
|SUBTRACT
|-
|C1
|CMPB
|IMM   
|2
|2
|COMPARE
|-
|C2
|SBCB
|IMM   
|2
|2
|SUBTRACT WITH CARRY
|-
|C3
|ADDD
|IMM   
|3
|4
|ADD DOUBLE ACCUMULATOR
|-
|C4
|ANDB
|IMM   
|2
|2
|LOGICAL AND
|-
|C5
|BITB
|IMM   
|2
|2
|BIT TEST
|-
|C6
|LDAB
|IMM   
|2
|2
|LOAD ACCUMULATOR
|-
|C8
|EORB
|IMM   
|2
|2
|EXCLUSIVE OR
|-
|C9
|ADCB
|IMM   
|2
|2
|ADD WITH CARRY
|-
|CA
|ORAB
|IMM   
|2
|2
|INCLUSIVE OR
|-
|CB
|ADDB
|IMM   
|2
|2
|ADD WITHOUT CARRY
|-
|CC
|LDD
|IMM       
|3
|3
|LOAD DOUBLE ACCUMULATOR
|-
|CD 08
|INY 
|     
|2
|4
|INCREMENT INDEX REGISTER Y
|-
|CD 09
|DEY 
|     
|2
|4
|DECREMENT INDEX REGISTER Y
|-
|CD 1A   
|XGDY 
|     
|2
|
|EXCHANGE DOUBLE ACCUMULATOR AND INDEX REG Y
|-
|CD 3A   
|ABY
|     
|2
|
|ADD ACCUMULATOR B TO INDEX REG Y
|-
|CD 8C 
|CMPY
|IMM, Y++   
|4
|
|CMPY INDEX REGISTER Y AND INCREMENT.
|-
|CD CE
|LDY
|IMM       
|4
|4
|LOAD INDEX REGISTER Y
|-
|CD DF
|STY
|DIR       
|3
|5
|STORE INDEX REGISTER Y
|-
|CD EE
|LDY
|IND,X   
|3
|6
|LOAD INDEX REGISTER Y
|-
|CE
|LDX
|IMM       
|3
|3
|LOAD INDEX REGISTER X
|-
|CF
|BRCLR
|IND,X
|3
|?
|Branch if clear
|-
|D0
|SUBB
|DIR   
|2
|3
|SUBTRACT
|-
|D1
|CMPB
|DIR   
|2
|3
|COMPARE
|-
|D2
|SBCB
|DIR   
|2
|3
|SUBTRACT WITH CARRY
|-
|D3
|ADDD
|DIR   
|2
|5
|ADD DOUBLE ACCUMULATOR
|-
|D4
|ANDB
|DIR   
|2
|3
|LOGICAL AND
|-
|D5
|BITB
|DIR   
|2
|3
|BIT TEST
|-
|D6
|LDAB
|DIR   
|2
|3
|LOAD ACCUMULATOR
|-
|D7
|STAB
|DIR   
|2
|3
|STORE ACCUMULATOR
|-
|D8
|EORB
|DIR   
|2
|3
|EXCLUSIVE OR
|-
|D9
|ADCB
|DIR   
|2
|3
|ADD WITH CARRY
|-
|DA
|ORAB
|DIR   
|2
|3
|INCLUSIVE OR
|-
|DB
|ADDB
|DIR   
|2
|3
|ADD WITHOUT CARRY
|-
|DC
|LDD
|DIR       
|2
|4
|LOAD DOUBLE ACCUMULATOR
|-
|DD
|STD
|DIR       
|2
|4
|STORE DOUBLE ACCUMULATOR
|-
|DE
|LDX
|DIR       
|2
|4
|LOAD INDEX REGISTER X
|-
|DF
|STX
|DIR       
|2
|4
|STORE INDEX REGISTER X
|-
|E0
|SUBB
|IND,X   
|2
|4
|SUBTRACT
|-
|E0 80
|SUBB
|IND,Y   
|2
|4
|SUBTRACT
|-
|E1
|CMPB
|IND,X   
|2
|4
|COMPARE
|-
|E1 80
|CMPB
|IND,Y   
|2
|4
|COMPARE
|-
|E2
|SBCB
|IND,X   
|2
|4
|SUBTRACT WITH CARRY
|-
|E2 80
|SBCB
|IND,Y   
|2
|4
|SUBTRACT WITH CARRY
|-
|E3
|ADDD
|IND,X   
|2
|6
|ADD DOUBLE ACCUMULATOR
|-
|E3 80
|ADDD
|IND,Y   
|2
|6
|ADD DOUBLE ACCUMULATOR
|-
|E4
|ANDB
|IND,X   
|2
|4
|LOGICAL AND
|-
|E4 80
|ANDB
|IND,Y   
|2
|4
|LOGICAL AND
|-
|E5
|BITB
|IND,X   
|2
|4
|BIT TEST
|-
|E5 80
|BITB
|IND,Y   
|2
|4
|BIT TEST
|-
|E6
|LDAB
|IND,X   
|2
|4
|LOAD ACCUMULATOR
|-
|E6 80
|LDAB
|IND,Y   
|2
|4
|LOAD ACCUMULATOR
|-
|E7
|STAB
|IND,X   
|2
|4
|STORE ACCUMULATOR
|-
|E7 80
|STAB
|IND,Y   
|2
|4
|STORE ACCUMULATOR
|-
|E8
|EORB
|IND,X   
|2
|4
|EXCLUSIVE OR
|-
|E8 80
|EORB
|IND,Y   
|2
|4
|EXCLUSIVE OR
|-
|E9
|ADCB
|IND,X   
|2
|4
|ADD WITH CARRY
|-
|E9 80
|ADCB
|IND,Y   
|2
|4
|ADD WITH CARRY
|-
|EA
|ORAB
|IND,X   
|2
|4
|INCLUSIVE OR
|-
|EA 80
|ORAB
|IND,Y   
|2
|4
|INCLUSIVE OR
|-
|EB
|ADDB
|IND,X   
|2
|4
|ADD WITHOUT CARRY
|-
|EB 80
|ADDB
|IND,Y   
|2
|4
|ADD WITHOUT CARRY
|-
|EC
|LDD
|IND,X   
|2
|5
|LOAD DOUBLE ACCUMULATOR
|-
|EC 80
|LDD
|IND,Y   
|2
|5
|LOAD DOUBLE ACCUMULATOR
|-
|ED
|STD
|IND,X   
|2
|5
|STORE DOUBLE ACCUMULATOR
|-
|ED 80
|STD
|IND,Y   
|2
|5
|STORE DOUBLE ACCUMULATOR
|-
|EE
|LDX
|IND,X   
|2
|5
|LOAD INDEX REGISTER X
|-
|EE 80
|LDX
|IND,Y++   
|2
|5
|LOAD INDEX REGISTER X WITH/Y++
|-
|EF
|STX
|IND,X   
|2
|5
|STORE INDEX REGISTER X
|-
|EF 80
|STX
|IND,X   
|2
|5
|STORE INDEX REGISTER X
|-
|F0
|SUBB
|EXT   
|3
|4
|SUBTRACT
|-
|F1
|CMPB
|EXT   
|3
|4
|COMPARE
|-
|F2
|SBCB
|EXT   
|3
|4
|SUBTRACT WITH CARRY
|-
|F3
|ADDD
|EXT   
|3
|6
|ADD DOUBLE ACCUMULATOR
|-
|F4
|ANDB
|EXT   
|3
|4
|LOGICAL AND
|-
|F5
|BITB
|EXT   
|3
|4
|BIT TEST
|-
|F6
|LDAB
|EXT   
|3
|4
|LOAD ACCUMULATOR
|-
|F7
|STAB
|EXT   
|3
|4
|STORE ACCUMULATOR
|-
|F8
|EORB
|EXT   
|3
|4
|EXCLUSIVE OR
|-
|F9
|ADCB
|EXT   
|3
|4
|ADD WITH CARRY
|-
|FA
|ORAB
|EXT   
|3
|4
|INCLUSIVE OR
|-
|FB
|ADDB
|EXT   
|3
|4
|ADD WITHOUT CARRY
|-
|FC
|LDD
|EXT       
|3
|5
|LOAD DOUBLE ACCUMULATOR
|-
|FD
|STD
|EXT       
|3
|5
|STORE DOUBLE ACCUMULATOR
|-
|FE
|LDX
|EXT       
|3
|5
|LOAD INDEX REGISTER X
|-
|FF
|STX
|EXT       
|3
|5
|STORE INDEX REGISTER X
|}

Latest revision as of 19:17, 21 February 2022

<- DSM/ECU

Bytes Mnem Mode Byte length Cycles Desc
00 TEST 1 * TEST OPERATION TEST MODE ONLY
01 NOP 1 2 NO OPERATION
02 AIM DIR 3 ? AND IN MEMORY
03 OIM DIR 3 ? OR IN MEMORY
04 LSRD 1 3 LOGICAL SHIFT RIGHT DOUBLE ACCUMULATOR
05 ASLD / LSLD 1 3 ARITHMETIC / LOGICAL SHIFT LEFT DOUBLE ACC
06 TAP 1 2 TRANSFER FROM ACC A TO CONDITION CODE REGISTER
07 TPA 1 2 TRANSFER FROM CONDITION CODE REGISTER TO ACC A
08 INX 1 3 INCREMENT INDEX REGISTER X
09 DEX 1 3 DECREMENT INDEX REGISTER X
0A CLV 1 2 CLEAR TWOS COMPLEMENT OVERFLOW BIT
0B SEV 1 2 SET TWOS COMPLEMENT OVERFLOW BIT
0C CLC 1 2 CLEAR CARRY
0D SEC 1 2 SET CARRY
0E CLI 1 2 CLEAR INTERRUPT MASK
0F SEI 1 2 SET INTERRUPT MASK
10 SBA 1 2 SUBTRACT ACCUMULATORS
11 CBA 1 2 COMPARE ACCUMULATORS
12 AIM IND,X 3 ? ANd in memory, indexed X
13 OIM IND,X 3 ? Or in memory, indexed X
14 DIV IMM 2 4 DIVIDE IMMEDIATE
15 DIV DIR 2 4 DIVIDE DIRECT
16 TAB 1 2 TRANSFER ACCUMULATOR A TO ACCUMULATOR B
17 TBA 1 2 TRANSFER FROM ACCUMULATOR B TO ACCUMULATOR A
18 XGXY 1 4 EXCHANGE REGISTER X AND REGISTER Y
19 DAA 1 2 DECIMAL ADJUST ACCUMULATOR A
1A XGDX 1 EXCHANGE DOUBLE ACCUMLATOR AND INDEX REG X
1B ABA 1 2 ADD ACCUMULATOR B TO ACCUMULATOR A
1C CPD IMM 3 5 COMPARE DOUBLE ACCUMULATOR
1D CPD DIR 2 6 COMPARE DOUBLE ACCUMULATOR
1E CPD IND,X 2 ? COMPARE DOUBLE ACCUMULATOR
1F CPD EXT 3 7 COMPARE DOUBLE ACCUMULATOR
20 BRA 2 3 BRANCH ALWAYS
21 BRN 2 3 BRANCH NEVER
22 BHI 2 3 BRANCH IF HIGHER
23 BLS 2 3 BRANCH IF LOWER OR SAME
24 BCC / BHS 2 3 BRANCH IF CARRY CLR / BRANCH IF HIGHER OR SAME
25 BCS / BLO 2 3 BRANCH IF CARRY SET / BRANCH IF LOWER
26 BNE 2 3 BRANCH IF NOT EQUAL TO ZERO
27 BEQ 2 3 BRANCH IF EQUAL
28 BVC 2 3 BRANCH IF OVERFLOW CLEAR
29 BVS 2 3 BRANCH IF OVERFLOW SET
2A BPL 2 3 BRANCH IF PLUS
2B BMI 2 3 BRANCH IF MINUS
2C BGE 2 3 BRANCH IF GREATER THAN OR EQUAL TO ZERO
2D BLT 2 3 BRANCH IF LESS THAN ZERO
2E BGT 2 3 BRANCH IF GREATER THAN ZERO
2F BLE 2 3 BRANCH IF LESS THAN OR EQUAL TO ZERO
30 TSX 1 3 TRANSFER FROM STACK POINTER TO INDEX REGISTER X
31 INS 1 3 INCREMENT STACK POINTER
32 PULA 1 4 PULL DATA FROM STACK
33 PULB 1 4 PULL DATA FROM STACK
34 DES 1 3 DECREMENT STACK POINTER
35 TXS 1 3 TRANSFER FROM INDEX REGISTER X TO STACK POINTER
36 PSHA 1 3 PUSH DATA ONTO STACK
37 PSHB 1 3 PUSH DATA ONTO STACK
38 PULX 1 5 PULL INDEX REGISTER X FROM STACK
39 RTS 1 5 RETURN FROM SUBROUTINE
3A ABX 1 3 ADD ACCUMULATOR B TO INDEX REGISTER X
3B RTI 1 12 RETURN FROM INTERRUPT
3C PSHX 1 4 PUSH INDEX REGISTER X ONTO STACK
3D MUL 1 10 MULTIPLY UNSIGNED
3E WAI 1 14 WAIT FOR INTERRUPT
3F SWI 1 14 SOFTWARE INTERRUPT
40 NEGA 1 2 NEGATE
43 COMA 1 2 COMPLEMENT
44 LSRA 1 2 LOGICAL SHIFT RIGHT
46 RORA 1 2 ROTATE RIGHT
47 ASRA 1 2 ARITHMETIC SHIFT RIGHT
48 ASLA / LSLA 1 2 ARITHMETIC / LOGICAL SHIFT LEFT
49 ROLA 1 2 ROTATE LEFT
4A DECA 1 2 DECREMENT
4C INCA 1 2 INCREMENT
4D TSTA 1 2 TEST
4F CLRA 1 2 CLEAR
50 NEGB 1 2 NEGATE
53 COMB 1 2 COMPLEMENT
54 LSRB 1 2 LOGICAL SHIFT RIGHT
56 RORB 1 2 ROTATE RIGHT
57 ASRB 1 2 ARITHMETIC SHIFT RIGHT
58 ASLB / LSLB 1 2 ARITHMETIC / LOGICAL SHIFT LEFT
59 ROLB 1 2 ROTATE LEFT
5A DECB 1 2 DECREMENT
5C INCB 1 2 INCREMENT
5D TSTB 1 2 TEST
5F CLRB 1 2 CLEAR
60 NEG IND,X 2 6 NEGATE
63 COM IND,X 2 6 COMPLEMENT
64 LSR IND,X 2 6 LOGICAL SHIFT RIGHT
66 ROR IND,X 2 6 ROTATE RIGHT
67 ASR IND,X 2 6 ARITHMETIC SHIFT RIGHT
68 ASL / LSL IND,X 2 6 ARITHMETIC / LOGICAL SHIFT LEFT
69 ROL IND,X 2 6 ROTATE LEFT
6A DEC IND,X 2 6 DECREMENT
6C INC IND,X 2 6 INCREMENT
6D TST IND,X 2 6 TEST
6E JMP IND,X 2 3 JUMP
6F CLR IND,X 2 6 CLEAR
70 NEG EXT 3 6 NEGATE
73 COM EXT 3 6 COMPLEMENT
74 LSR EXT 3 6 LOGICAL SHIFT RIGHT
76 ROR EXT 3 6 ROTATE RIGHT
77 ASR EXT 3 6 ARITHMETIC SHIFT RIGHT
78 ASL / LSL EXT 3 6 ARITHMETIC / LOGICAL SHIFT LEFT
79 ROL EXT 3 6 ROTATE LEFT
7A DEC EXT 3 6 DECREMENT
7C INC EXT 3 6 INCREMENT
7D TST EXT 3 6 TEST
7E JMP EXT 3 3 JUMP
7F CLR EXT 3 6 CLEAR
80 SUBA IMM 2 2 SUBTRACT
81 CMPA IMM 2 2 COMPARE
82 SBCA IMM 2 2 SUBTRACT WITH CARRY
83 SUBD IMM 3 4 SUBTRACT DOUBLE ACCUMULATOR
84 ANDA IMM 2 2 LOGICAL AND
85 BITA IMM 2 2 BIT TEST
86 LDAA IMM 2 2 LOAD ACCUMULATOR
87 BRSET DIR 4 BRANCH IF BIT(S) ARE SET
88 EORA IMM 2 2 EXCLUSIVE OR
89 ADCA IMM 2 2 ADD WITH CARRY
8A ORAA IMM 2 2 INCLUSIVE OR
8B ADDA IMM 2 2 ADD WITHOUT CARRY
8C CPX IMM 3 4 COMPARE INDEX REGISTER X
8D BSR 2 6 BRANCH TO SUBROUTINE
8E LDS IMM 3 3 LOAD STACK POINTER
8F BRCLR DIR 4 BRANCH IF BIT(S) ARE CLEAR
90 SUBA DIR 2 3 SUBTRACT
91 CMPA DIR 2 3 COMPARE
92 SBCA DIR 2 3 SUBTRACT WITH CARRY
93 SUBD DIR 2 5 SUBTRACT DOUBLE ACCUMULATOR
94 ANDA DIR 2 3 LOGICAL AND
95 BITA DIR 2 3 BIT TEST
96 LDAA DIR 2 3 LOAD ACCUMULATOR
97 STAA DIR 2 3 STORE ACCUMULATOR
98 EORA DIR 2 3 EXCLUSIVE OR
99 ADCA DIR 2 3 ADD WITH CARRY
9A ORAA DIR 2 3 INCLUSIVE OR
9B ADDA DIR 2 3 ADD WITHOUT CARRY
9C CPX DIR 2 5 COMPARE INDEX REGISTER X
9D JSR DIR 2 5 JUMP TO SUBROUTINE
9E LDS DIR 2 4 LOAD STACK POINTER
9F STS DIR 2 4 STORE STACK POINTER
A0 SUBA IND,X 2 4 SUBTRACT
A0 80 SUBA IND,Y 2 SUBTRACT
A1 CMPA IND,X 2 4 COMPARE
A1 80 CMPA IND,Y+ 2 COMPARE WITH/Y+
A2 SBCA IND,X 2 4 SUBTRACT WITH CARRY
A2 80 SBCA IND,Y 2 SUBTRACT WITH CARRY
A3 SUBD IND,X 2 6 SUBTRACT DOUBLE ACCUMULATOR
A3 80 SUBD IND,Y 2 6 SUBTRACT DOUBLE ACCUMULATOR
A4 ANDA IND,X 2 4 LOGICAL AND
A4 80 ANDA IND,Y 2 4 LOGICAL AND
A5 BITA IND,X 2 4 BIT TEST
A5 80 BITA IND,Y 2 4 BIT TEST
A6 LDAA IND,X 2 4 LOAD ACCUMULATOR
A6 80 LDAA IND,Y+ 2 LOAD ACCUMULATOR WITH/Y+
A7 STAA IND,X 2 4 STORE ACCUMULATOR
A7 80 STAA IND,Y 2 STORE ACCUMULATOR
A8 EORA IND,X 2 4 EXCLUSIVE OR
A8 80 EORA IND,Y 2 4 EXCLUSIVE OR
A9 ADCA IND,X 2 4 ADD WITH CARRY
A9 80 ADCA IND,Y 2 4 ADD WITH CARRY
AA ORAA IND,X 2 4 INCLUSIVE OR
AA 80 ORAA IND,Y 2 4 INCLUSIVE OR
AB ADDA IND,X 2 4 ADD WITHOUT CARRY
AB 80 ADDA IND,Y 2 4 ADD WITHOUT CARRY
AC CPX IND,X 2 6 COMPARE INDEX REGISTER X
AC 80 CPX IND,Y 2 6 COMPARE INDEX REGISTER X
AD JSR IND,X 2 6 JUMP TO SUBROUTINE
AD 80 JSR IND,Y 2 JUMP TO SUBROUTINE
AE LDS IND,X 2 5 LOAD STACK POINTER
AE 80 LDS IND,Y 2 5 LOAD STACK POINTER
AF STS IND,X 2 5 STORE STACK POINTER
AF 80 STS IND,Y 2 5 STORE STACK POINTER
B0 SUBA EXT 3 4 SUBTRACT
B1 CMPA EXT 3 4 COMPARE
B2 SBCA EXT 3 4 SUBTRACT WITH CARRY
B3 SUBD EXT 3 6 SUBTRACT DOUBLE ACCUMULATOR
B4 ANDA EXT 3 4 LOGICAL AND
B5 BITA EXT 3 4 BIT TEST
B6 LDAA EXT 3 4 LOAD ACCUMULATOR
B7 STAA EXT 3 4 STORE ACCUMULATOR
B8 EORA EXT 3 4 EXCLUSIVE OR
B9 ADCA EXT 3 4 ADD WITH CARRY
BA ORAA EXT 3 4 INCLUSIVE OR
BB ADDA EXT 3 4 ADD WITHOUT CARRY
BC CPX EXT 3 6 COMPARE INDEX REGISTER X
BD JSR EXT 3 6 JUMP TO SUBROUTINE
BE LDS EXT 3 5 LOAD STACK POINTER
BF STS EXT 3 5 STORE STACK POINTER
C0 SUBB IMM 2 2 SUBTRACT
C1 CMPB IMM 2 2 COMPARE
C2 SBCB IMM 2 2 SUBTRACT WITH CARRY
C3 ADDD IMM 3 4 ADD DOUBLE ACCUMULATOR
C4 ANDB IMM 2 2 LOGICAL AND
C5 BITB IMM 2 2 BIT TEST
C6 LDAB IMM 2 2 LOAD ACCUMULATOR
C8 EORB IMM 2 2 EXCLUSIVE OR
C9 ADCB IMM 2 2 ADD WITH CARRY
CA ORAB IMM 2 2 INCLUSIVE OR
CB ADDB IMM 2 2 ADD WITHOUT CARRY
CC LDD IMM 3 3 LOAD DOUBLE ACCUMULATOR
CD 08 INY 2 4 INCREMENT INDEX REGISTER Y
CD 09 DEY 2 4 DECREMENT INDEX REGISTER Y
CD 1A XGDY 2 EXCHANGE DOUBLE ACCUMULATOR AND INDEX REG Y
CD 3A ABY 2 ADD ACCUMULATOR B TO INDEX REG Y
CD 8C CMPY IMM, Y++ 4 CMPY INDEX REGISTER Y AND INCREMENT.
CD CE LDY IMM 4 4 LOAD INDEX REGISTER Y
CD DF STY DIR 3 5 STORE INDEX REGISTER Y
CD EE LDY IND,X 3 6 LOAD INDEX REGISTER Y
CE LDX IMM 3 3 LOAD INDEX REGISTER X
CF BRCLR IND,X 3 ? Branch if clear
D0 SUBB DIR 2 3 SUBTRACT
D1 CMPB DIR 2 3 COMPARE
D2 SBCB DIR 2 3 SUBTRACT WITH CARRY
D3 ADDD DIR 2 5 ADD DOUBLE ACCUMULATOR
D4 ANDB DIR 2 3 LOGICAL AND
D5 BITB DIR 2 3 BIT TEST
D6 LDAB DIR 2 3 LOAD ACCUMULATOR
D7 STAB DIR 2 3 STORE ACCUMULATOR
D8 EORB DIR 2 3 EXCLUSIVE OR
D9 ADCB DIR 2 3 ADD WITH CARRY
DA ORAB DIR 2 3 INCLUSIVE OR
DB ADDB DIR 2 3 ADD WITHOUT CARRY
DC LDD DIR 2 4 LOAD DOUBLE ACCUMULATOR
DD STD DIR 2 4 STORE DOUBLE ACCUMULATOR
DE LDX DIR 2 4 LOAD INDEX REGISTER X
DF STX DIR 2 4 STORE INDEX REGISTER X
E0 SUBB IND,X 2 4 SUBTRACT
E0 80 SUBB IND,Y 2 4 SUBTRACT
E1 CMPB IND,X 2 4 COMPARE
E1 80 CMPB IND,Y 2 4 COMPARE
E2 SBCB IND,X 2 4 SUBTRACT WITH CARRY
E2 80 SBCB IND,Y 2 4 SUBTRACT WITH CARRY
E3 ADDD IND,X 2 6 ADD DOUBLE ACCUMULATOR
E3 80 ADDD IND,Y 2 6 ADD DOUBLE ACCUMULATOR
E4 ANDB IND,X 2 4 LOGICAL AND
E4 80 ANDB IND,Y 2 4 LOGICAL AND
E5 BITB IND,X 2 4 BIT TEST
E5 80 BITB IND,Y 2 4 BIT TEST
E6 LDAB IND,X 2 4 LOAD ACCUMULATOR
E6 80 LDAB IND,Y 2 4 LOAD ACCUMULATOR
E7 STAB IND,X 2 4 STORE ACCUMULATOR
E7 80 STAB IND,Y 2 4 STORE ACCUMULATOR
E8 EORB IND,X 2 4 EXCLUSIVE OR
E8 80 EORB IND,Y 2 4 EXCLUSIVE OR
E9 ADCB IND,X 2 4 ADD WITH CARRY
E9 80 ADCB IND,Y 2 4 ADD WITH CARRY
EA ORAB IND,X 2 4 INCLUSIVE OR
EA 80 ORAB IND,Y 2 4 INCLUSIVE OR
EB ADDB IND,X 2 4 ADD WITHOUT CARRY
EB 80 ADDB IND,Y 2 4 ADD WITHOUT CARRY
EC LDD IND,X 2 5 LOAD DOUBLE ACCUMULATOR
EC 80 LDD IND,Y 2 5 LOAD DOUBLE ACCUMULATOR
ED STD IND,X 2 5 STORE DOUBLE ACCUMULATOR
ED 80 STD IND,Y 2 5 STORE DOUBLE ACCUMULATOR
EE LDX IND,X 2 5 LOAD INDEX REGISTER X
EE 80 LDX IND,Y++ 2 5 LOAD INDEX REGISTER X WITH/Y++
EF STX IND,X 2 5 STORE INDEX REGISTER X
EF 80 STX IND,X 2 5 STORE INDEX REGISTER X
F0 SUBB EXT 3 4 SUBTRACT
F1 CMPB EXT 3 4 COMPARE
F2 SBCB EXT 3 4 SUBTRACT WITH CARRY
F3 ADDD EXT 3 6 ADD DOUBLE ACCUMULATOR
F4 ANDB EXT 3 4 LOGICAL AND
F5 BITB EXT 3 4 BIT TEST
F6 LDAB EXT 3 4 LOAD ACCUMULATOR
F7 STAB EXT 3 4 STORE ACCUMULATOR
F8 EORB EXT 3 4 EXCLUSIVE OR
F9 ADCB EXT 3 4 ADD WITH CARRY
FA ORAB EXT 3 4 INCLUSIVE OR
FB ADDB EXT 3 4 ADD WITHOUT CARRY
FC LDD EXT 3 5 LOAD DOUBLE ACCUMULATOR
FD STD EXT 3 5 STORE DOUBLE ACCUMULATOR
FE LDX EXT 3 5 LOAD INDEX REGISTER X
FF STX EXT 3 5 STORE INDEX REGISTER X