System Microcode
This page is actually the source code for the M-1 microcode to be used in the
microcode-level simulator, as well as the actual bits to be burned into the
proms. It is processed by extracting the text and processing with cpp and
a Perl script (see the Software page for more
details). The created files are:
 | mcode.h
- Description of the fields within the microinstruction word. |
 | mcode.c
- An initialized array representing the microcode image. |
 | mcdefs.h
- #defines for microcode fields. |
 | prombits.h
- The initialization declaration for the 1024 56-bit microinstruction words. |
 | prom0.hex
.. prom4.hex - Hex images of the slices of the microcode store to be fed into
the PROM programmer. |
 | opcodes.h
- Opcode strings. |
//=====================================================
// BEGIN mcode.h
/* Define for micro instruction word. Assume I'll be using 512x8 bipolar
* PROMs. This version is quite a bit more compact than previous ones,
* but at the cost of having addition field decoding logic. Initial plan
* is to send these signals across the backplane and do decoding on the
* appropriate card.
*
* Note that the encoding here is getting pretty ugly. I'm trying hard to
* keep the microcode store down to 5 PROMS - 16 bits for enable signals,
* 16 bits for latch signals and 8 bits for the next field.
*/ typedef struct {
unsigned next:8; // Next micro-op to exec. 0x00 means
// use output of priority encoder, 0xff
// means use IR[0..7]. Also a significant
// bit of !(IR[0..7]==0xff) to give the full
// 9-bit microcode address.
unsigned latch:4; // Register latch signal. Value:
// 0x0 : none
// 0x1 : MSW (flag nibble only, from Z)
// 0x2 : C
// 0x3 : PC
// 0x4 : DP
// 0x5 : SP
// 0x6 : A
// 0x7 : B
// 0x8 : MDR (from Z)
// 0x9 : PTB
// 0xa : [A low placeholder]
// 0xb : [A high placeholder]
// 0xc : [B low placeholder]
// 0xd : [C low placeholder]
// 0xe : [SSP placeholder]
// 0xf : IR_REG (IR[5..7])
unsigned lmar:1; // Latch MAR
unsigned lmdrlo:1; // Latch MDR(lo) from dbus
unsigned lmdrhi:1; // Latch MDR(hi) from dbus
unsigned emdrlo:1; // Drive dbus with MDR(lo)
unsigned emdrhi:1; // Drive dbus with MDR(hi)
unsigned priv:1; // Priviliged instruction
unsigned lmode:1; // Latch (M)ode bit in MSW
unsigned lpaging:1; // Latch (P)aging enable bit in MSW
unsigned misc:4; // Controls signals which never occur at the
// same time:
// 0x0 : none
// 0x1 :
// 0x2 : halt
// 0x3 :
// 0x4 : trap on overflow
// 0x5 : latch PTE
// 0x6 : set flags (from alu op)
// 0x7 : init_inst (clear MDR, PC->TPC, latch IR)
// 0x8 : right shift alu output
// 0x9 : DMA acknowledge
// 0xa : latch MSW[ie] (Interrupt Enable)
// 0xb : do branch
// 0xc : latch MSW[in_trap]
// 0xd : commit state
// 0xe :
// 0xf :
unsigned e_l:4; // Enable L bus
// 0x0 : MAR
// 0x1 : MSW
// 0x2 : C
// 0x3 : PC
// 0x4 : DP
// 0x5 : SP
// 0x6 : A
// 0x7 : B
// 0x8 : MDR
// 0x9 : PTB
// 0xa : SSP
// 0xb : TPC
// 0xc :
// 0xd :
// 0xe :
// 0xf : IR_BASE (4+IR[6..7])
unsigned e_r:2; // Enable R bus
// 0x0 : MDR
// 0x1 : Immediate
// 0x2 : Fault code/encoder
// 0x3 :
unsigned immval:2; // Immediate value
// 0x0 : 0
// 0x1 : 1
// 0x2 : -2
// 0x3 : -1
unsigned aluop_size:1; // 0x0 -> 16 bits, 0x1 -> 8 bits
unsigned aluop:2; // Which alu operation to perform
// 0x0 : IR[1..3]
// 0x1 : AND
// 0x2 : SUB
// 0x3 : ADD
unsigned carry:1; // 0x0 -> 0, 0x1 -> MSW[c]
unsigned l_size:1; // 0x0 -> latch byte, 0x1 -> latch word
unsigned br_sense:1; // 0x0 -> don't negate, 0x1 -> negate
// Non-negated branch conditions are:
// 0x0 : eq
// 0x1 : eq
// 0x2 : lt
// 0x3 : le
// 0x4 : ltu
// 0x5 : leu
// 0x6 : eq
// 0x7 : ne
unsigned user_ptb:1; // User page table base override
unsigned code_ptb:1; // 0 to select data region of PTB, 1 for code
} mcode_rec_t;extern mcode_rec_t mcode_store[1024];
// END mcode.h //=====================================================
// BEGIN mcode.c
//
#include "mcode.h"
mcode_rec_t mcode_store[1024] = {
#include "prombits.h"
};// END mcode.c //=====================================================
// PREPROCESS prombits.h
// BEGIN mcdefs.h // Register defines for LATCH() and EL()
#define R_MSW 1
#define R_C 2
#define R_PC 3
#define R_DP 4
#define R_SP 5
#define R_A 6
#define R_B 7
#define R_MDR 8
#define R_PTB 9
#define R_SSP 10 // Register defines for LATCH()-only
#define R_NONE 0
#define R_IR_REG 15 // Register defines for EL()-only
#define R_MAR 0
#define R_TPC 11
#define R_FCODE 12
#define R_IR_BASE 15 // Register defines for ER()
#define ER_MDR 0
#define ER_IMM 1
#define ER_FAULT 2 // Defines for IMMVAL()
#define IMM_0 0
#define IMM_1 1
#define IMM_NEG1 3
#define IMM_NEG2 2 // Defines for MISC()
#define M_NONE 0
#define M_SYSCALL 1
#define M_HALT 2
#define M_BKPT 3
#define M_TRAPO 4
#define M_LPTE 5
#define M_SET_FLAGS 6
#define M_INIT_INST 7
#define M_RSHIFT 8
#define M_DMA_ACK 9
#define M_LEI 10
#define M_DO_BRANCH 11
#define M_CLR_TRAP 12
#define M_COMMIT 13
#define M_PRIV 14 // Defines for ALUOP(op,size,carry)
#define OP_IR13 0
#define OP_AND 1
#define OP_SUB 2
#define OP_ADD 3
#define WORD 0
#define BYTE 1
#define LWORD 1
#define LBYTE 0
#define NO_CARRY 0
#define CARRY_IN 1 // Defines for CBR()
#define B_NORMAL 0
#define B_NEGATED 1 // END mcdefs.h #define NEXT_POS 0
#define LATCH_POS 1
#define LMAR_POS 2
#define LMDRLO_POS 3
#define LMDRHI_POS 4
#define EMDRLO_POS 5
#define EMDRHI_POS 6
#define EXT_POS 7
#define LMODE_POS 8
#define LPAGING_POS 9
#define MISC_POS 10
#define E_L_POS 11
#define E_R_POS 12
#define IMMVAL_POS 13
#define ALUOP_SIZE_POS 14
#define ALUOP_POS 15
#define CARRY_POS 16
#define L_SIZE_POS 17
#define BR_SENSE_POS 18
#define USER_PTB_POS 19
#define CODE_PTB_POS 20 #define NEXT(VAL) INIT(NEXT_POS,VAL)
#define LATCH(VAL) INIT(LATCH_POS,VAL)
#define LMAR(VAL) INIT(LMAR_POS,VAL)
#define LMDRLO(VAL) INIT(LMDRLO_POS,VAL)
#define LMDRHI(VAL) INIT(LMDRHI_POS,VAL)
#define EMDRLO(VAL) INIT(EMDRLO_POS,VAL)
#define EMDRHI(VAL) INIT(EMDRHI_POS,VAL)
#define EXT INIT(EXT_POS,1)
#define LMODE(VAL) INIT(LMODE_POS,VAL)
#define LPAGING(VAL) INIT(LPAGING_POS,VAL)
#define MISC(VAL) INIT(MISC_POS,VAL)
#define E_L(VAL) INIT(E_L_POS,VAL)
#define E_R(VAL) INIT(E_R_POS,VAL)
#define IMMVAL(VAL) INIT(IMMVAL_POS,VAL)
#define ALUOP_SIZE(VAL) INIT(ALUOP_SIZE_POS,VAL)
#define ALUOP(VAL) INIT(ALUOP_POS,VAL)
#define CARRY(VAL) INIT(CARRY_POS,VAL)
#define L_SIZE(VAL) INIT(L_SIZE_POS,VAL)
#define BR_SENSE(VAL) INIT(BR_SENSE_POS,VAL)
#define USER_PTB(VAL) INIT(USER_PTB_POS,VAL)
#define CODE_PTB(VAL) INIT(CODE_PTB_POS,VAL)
#define CODE_SPACE 1
#define DATA_SPACE 0
#define PTB_OVERRIDE 1
#define PTB_NORMAL 0 #define SET_ADR(IS_CODE,IS_USER) LMAR(1),CODE_PTB(IS_CODE),USER_PTB(IS_USER)
#define CODE SET_ADR(CODE_SPACE,PTB_NORMAL)
#define DATA SET_ADR(DATA_SPACE,PTB_NORMAL) #define CBR(SENSE,TGT) MISC(M_DO_BRANCH),BR_SENSE(SENSE),NEXT(TGT)
#define L(REG,SIZE) LATCH(REG),L_SIZE(SIZE)
#define USE_IR 0xff
#define READLO LMDRLO(1)
#define READHI LMDRHI(1)
#define READEXT LMDRLO(1),LMDRHI(1)
#define WRITELO EMDRLO(1)
#define WRITEHI EMDRHI(1)
#define INC_TO_Z(REG) E_L(REG),E_R(ER_IMM),IMMVAL(IMM_1),ALU(OP_ADD,WORD,NO_CARRY)
#define INC2_TO_Z(REG) E_L(REG),E_R(ER_IMM),IMMVAL(IMM_NEG2),ALU(OP_SUB,WORD,NO_CARRY)
#define DEC_TO_Z(REG) E_L(REG),E_R(ER_IMM),IMMVAL(IMM_NEG1),ALU(OP_ADD,WORD,NO_CARRY)
#define ZERO_TO_Z E_L(R_MDR),E_R(ER_IMM),IMMVAL(IMM_0),ALU(OP_AND,WORD,NO_CARRY)
#define NEG1_TO_Z E_L(R_MDR),E_R(ER_IMM),IMMVAL(IMM_NEG1),ALU(OP_ADD,WORD,NO_CARRY)
#define TO_Z(REG) E_L(REG),E_R(ER_IMM),IMMVAL(IMM_NEG1),ALU(OP_AND,WORD,NO_CARRY)
#define TO_Z8(REG) E_L(REG),E_R(ER_IMM),IMMVAL(IMM_NEG1),ALU(OP_AND,BYTE,NO_CARRY)
#define LDHI READHI,INC_TO_Z(R_MAR),DATA
#define LDLO READLO,TO_Z(R_PC),CODE
#define STHI WRITEHI,INC_TO_Z(R_MAR),DATA
#define STLO WRITELO,TO_Z(R_PC),CODE
#define LDIMMHI READHI,L(R_PC,LWORD),INC_TO_Z(R_PC),CODE
#define LDIMMLO READLO,L(R_PC,LWORD),INC_TO_Z(R_PC),CODE
#define LDIMMEXT READEXT,L(R_PC,LWORD),INC_TO_Z(R_PC),CODE
#define GEN_ADDR(BASE) E_L(BASE),E_R(ER_MDR),ALU(OP_ADD,WORD,NO_CARRY)
#define COMPARE_0(REG) E_L(REG),E_R(ER_IMM),IMMVAL(IMM_0),ALU(OP_SUB,WORD,NO_CARRY)
#define COMPARE8_0(REG) E_L(REG),E_R(ER_IMM),IMMVAL(IMM_0),ALU(OP_SUB,BYTE,NO_CARRY)
#define ALU(OP,SZ,CRY) ALUOP(OP),ALUOP_SIZE(SZ),CARRY(CRY)
#define FETCH_OP READLO,MISC(M_INIT_INST),INC_TO_Z(R_MAR),L(R_PC,LWORD),CODE,NEXT(UNUSABLE)
#define PUSHLO WRITELO,DEC_TO_Z(R_MAR),DATA
#define PUSHHI WRITEHI,DEC_TO_Z(R_MAR),DATA
#define POPLO READLO,INC_TO_Z(R_MAR),DATA
#define POPHI READHI,INC_TO_Z(R_MAR),DATA
#define TO_MDR(REG) TO_Z(REG),L(R_MDR,LWORD)
#define FROM_MDR(REG) TO_Z(R_MDR),L(REG,LWORD)
#define DO_HALT MISC(M_HALT),DEC_TO_Z(R_PC),L(R_PC,LWORD),CODE
Bottom half of PROM - (starting point of each instruction, using opcode as direct index)
| 0x00 |
halt |
; |
DO_HALT,NEXT(Fetch) |
| 0x01 |
ld.8
A,#u16_u8_10(SP) |
; |
LDIMMHI,NEXT(Lda8_16) |
| 0x02 |
push
C |
; |
TO_Z(R_C),L(R_MDR,LWORD),NEXT(Push16) |
| 0x03 |
push
PC |
; |
TO_Z(R_TPC),L(R_MDR,LWORD),NEXT(Push16) |
| 0x04 |
push
DP |
; |
TO_Z(R_DP),L(R_MDR,LWORD),NEXT(Push16) |
| 0x05 |
ld.8
B,#u16_u8_10(SP) |
; |
LDIMMHI,NEXT(Ldb8_16) |
| 0x06 |
push
A |
; |
TO_Z(R_A),L(R_MDR,LWORD),NEXT(Push16) |
| 0x07 |
push
B |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(Push16) |
| 0x08 |
br.ne
#d16 |
; |
LDIMMHI,NEXT(BrNegated) |
| 0x09 |
pop
MSW |
; |
TO_Z(R_SP),DATA,NEXT(Pop16) |
| 0x0a |
pop
C |
; |
TO_Z(R_SP),DATA,NEXT(Pop16) |
| 0x0b |
pop
PC |
; |
TO_Z(R_SP),DATA,NEXT(Pop16) |
| 0x0c |
pop
DP |
; |
TO_Z(R_SP),DATA,NEXT(Pop16) |
| 0x0d |
pop
SP |
; |
TO_Z(R_SP),DATA,NEXT(Pop16) |
| 0x0e |
pop
A |
; |
TO_Z(R_SP),DATA,NEXT(Pop16) |
| 0x0f |
pop
B |
; |
TO_Z(R_SP),DATA,NEXT(Pop16) |
| 0x10 |
ld.8
A,#u16(DP) |
; |
LDIMMHI,NEXT(Lda8_16) |
| 0x11 |
ld.8
A,#u8(SP) |
; |
LDIMMLO,NEXT(Lda8_8) |
| 0x12 |
ld.8
A,#u16(A) |
; |
LDIMMHI,NEXT(Lda8_16) |
| 0x13 |
ld.8
A,#u16(B) |
; |
LDIMMHI,NEXT(Lda8_16) |
| 0x14 |
ld.8
B,#u16(DP) |
; |
LDIMMHI,NEXT(Ldb8_16) |
| 0x15 |
ld.8
B,#u8(SP) |
; |
LDIMMLO,NEXT(Ldb8_8) |
| 0x16 |
ld.8
B,#u16(A) |
; |
LDIMMHI,NEXT(Ldb8_16) |
| 0x17 |
ld.8
B,#u16(B) |
; |
LDIMMHI,NEXT(Ldb8_16) |
| 0x18 |
ld.16
A,#u16(DP) |
; |
LDIMMHI,NEXT(Lda16_16) |
| 0x19 |
ld.16
A,#u16_u8_68(SP) |
; |
LDIMMHI,NEXT(Lda16_16) |
| 0x1a |
ld.16
A,#u16(A) |
; |
LDIMMHI,NEXT(Lda16_16) |
| 0x1b |
ld.16
A,#u16(B) |
; |
LDIMMHI,NEXT(Lda16_16) |
| 0x1c |
ld.16
B,#u16(DP) |
; |
LDIMMHI,NEXT(Ldb16_16) |
| 0x1d |
ld.16
B,#u16_u8_68(SP) |
; |
LDIMMHI,NEXT(Ldb16_16) |
| 0x1e |
ld.16
B,#u16(A) |
; |
LDIMMHI,NEXT(Ldb16_16) |
| 0x1f |
ld.16
B,#u16(B) |
; |
LDIMMHI,NEXT(Ldb16_16) |
| 0x20 |
sub.8
A,#u16(DP) |
; |
LDIMMHI,NEXT(Aluop8_indir16) |
| 0x21 |
sub.8
A,#u16(SP) |
; |
LDIMMHI,NEXT(Aluop8_indir16) |
| 0x22 |
push
MSW |
; |
TO_Z(R_MSW),L(R_MDR,LWORD),NEXT(Push16) |
| 0x23 |
sub.8
A,#u16(B) |
; |
LDIMMHI,NEXT(Aluop8_indir16) |
| 0x24 |
sub.8
A,#i8_1 |
; |
LDIMMLO,NEXT(Aluop8) |
| 0x25 |
sub.16 (--A),(--B) |
; |
DEC_TO_Z(R_A),DATA,NEXT(Mop16) |
| 0x26 |
push
SP |
; |
TO_Z(R_SP),L(R_MDR,LWORD),NEXT(Push16) |
| 0x27 |
sub.8
A,B |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(Aluop8) |
| 0x28 |
sub.16
A,#u16(DP) |
; |
LDIMMHI,NEXT(Aluop16_indir16) |
| 0x29 |
sub.16
A,#u16(SP) |
; |
LDIMMHI,NEXT(Aluop16_indir16) |
| 0x2a |
sbc.16 (--A),(--B) |
; |
DEC_TO_Z(R_A),DATA,NEXT(Mop16Carry) |
| 0x2b |
sub.16
A,#u16(B) |
; |
LDIMMHI,NEXT(Aluop16_indir16) |
| 0x2c |
sub.16
A,#i16_exti8 |
; |
LDIMMHI,NEXT(Aluop16_16) |
| 0x2d |
sub.16
A,#exti8 |
; |
LDIMMEXT,NEXT(Aluop16) |
| 0x2e |
wcpte
A,(B) |
; |
MISC(M_PRIV),TO_Z(R_B),SET_ADR(CODE_SPACE,PTB_OVERRIDE),NEXT(Wcpte) |
| 0x2f |
sub.16
A,B |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(Aluop16) |
| 0x30 |
add.8
A,#u16(DP) |
; |
LDIMMHI,NEXT(Aluop8_indir16) |
| 0x31 |
add.8
A,#u16(SP) |
; |
LDIMMHI,NEXT(Aluop8_indir16) |
| 0x32 |
br
A |
; |
TO_Z(R_A),L(R_PC,LWORD),CODE,NEXT(Fetch) |
| 0x33 |
add.8
A,#u16(B) |
; |
LDIMMHI,NEXT(Aluop8_indir16) |
| 0x34 |
add.8
A,#i8_1 |
; |
LDIMMLO,NEXT(Aluop8) |
| 0x35 |
add.16 (--A),(--B) |
; |
DEC_TO_Z(R_A),DATA,NEXT(Mop16) |
| 0x36 |
add.8
A,A |
; |
TO_Z(R_A),L(R_MDR,LWORD),NEXT(Aluop8) |
| 0x37 |
add.8
A,B |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(Aluop8) |
| 0x38 |
add.16
A,#u16(DP) |
; |
LDIMMHI,NEXT(Aluop16_indir16) |
| 0x39 |
add.16
A,#u16(SP) |
; |
LDIMMHI,NEXT(Aluop16_indir16) |
| 0x3a |
syscall
#sys_num8 |
; |
LDIMMLO,NEXT(Syscall) |
| 0x3b |
add.16
A,#u16(B) |
; |
LDIMMHI,NEXT(Aluop16_indir16) |
| 0x3c |
add.16
A,#i16_exti8 |
; |
LDIMMHI,NEXT(Aluop16_16) |
| 0x3d |
add.16
A,#exti8 |
; |
LDIMMEXT,NEXT(Aluop16) |
| 0x3e |
add.16
A,A |
; |
TO_Z(R_A),L(R_MDR,LWORD),NEXT(Aluop16) |
| 0x3f |
add.16
A,B |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(Aluop16) |
| 0x40 |
cmp.8
A,#u16(DP) |
; |
LDIMMHI,NEXT(Cmp8_indir16) |
| 0x41 |
cmp.8
A,#u16(SP) |
; |
LDIMMHI,NEXT(Cmp8_indir16) |
| 0x42 |
copy C,B |
; |
TO_Z(R_B),L(R_C,LWORD),NEXT(Fetch) |
| 0x43 |
cmp.8
A,#u16(B) |
; |
LDIMMHI,NEXT(Cmp8_indir16) |
| 0x44 |
cmp.8
A,#i8_0 |
; |
LDIMMLO,NEXT(Cmp8) |
| 0x45 |
cmp.8
A,#0 |
; |
E_L(R_A),E_R(ER_MDR),ALU(OP_SUB,BYTE,NO_CARRY),MISC(M_SET_FLAGS),NEXT(Fetch) |
| 0x46 |
xor.16
A,A |
; |
TO_Z(R_A),L(R_MDR,LWORD),NEXT(Aluop16) |
| 0x47 |
cmp.8
A,B |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(Cmp8) |
| 0x48 |
cmp.16
A,#u16(DP) |
; |
LDIMMHI,NEXT(Cmp16_indir16) |
| 0x49 |
cmp.16
A,#u16(SP) |
; |
LDIMMHI,NEXT(Cmp16_indir16) |
| 0x4a |
sh0add B,A,B |
; |
TO_Z(R_A),L(R_MDR,LWORD),NEXT(LeaB1) |
| 0x4b |
cmp.16
A,#u16(B) |
; |
LDIMMHI,NEXT(Cmp16_indir16) |
| 0x4c |
cmp.16
A,#i16_exti8_0 |
; |
LDIMMHI,NEXT(Cmp16_16) |
| 0x4d |
cmp.16
A,#exti8_0 |
; |
LDIMMEXT,NEXT(Cmp16) |
| 0x4e |
cmp.16
A,#0 |
; |
E_L(R_A),E_R(ER_MDR),ALU(OP_SUB,WORD,NO_CARRY),MISC(M_SET_FLAGS),NEXT(Fetch) |
| 0x4f |
cmp.16
A,B |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(Cmp16) |
| 0x50 |
or.8
A,#u16(DP) |
; |
LDIMMHI,NEXT(Aluop8_indir16) |
| 0x51 |
or.8
A,#u16(SP) |
; |
LDIMMHI,NEXT(Aluop8_indir16) |
| 0x52 |
sex
A |
; |
TO_Z8(R_A),L(R_A,LWORD),NEXT(Fetch) |
| 0x53 |
or.8
A,#u16(B) |
; |
LDIMMHI,NEXT(Aluop8_indir16) |
| 0x54 |
or.8
A,#i8_1 |
; |
LDIMMLO,NEXT(Aluop8) |
| 0x55 |
or.16 (--A),(--B) |
; |
DEC_TO_Z(R_A),DATA,NEXT(Mop16) |
| 0x56 |
br.leu
#d16 |
; |
LDIMMHI,NEXT(BrNormal) |
| 0x57 |
or.8
A,B |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(Aluop8) |
| 0x58 |
or.16
A,#u16(DP) |
; |
LDIMMHI,NEXT(Aluop16_indir16) |
| 0x59 |
or.16
A,#u16(SP) |
; |
LDIMMHI,NEXT(Aluop16_indir16) |
| 0x5a |
sh1add A,B,A |
; |
TO_Z(R_A),L(R_MDR,LWORD),NEXT(LeaABA2) |
| 0x5b |
or.16
A,#u16(B) |
; |
LDIMMHI,NEXT(Aluop16_indir16) |
| 0x5c |
or.16
A,#i16_exti8 |
; |
LDIMMHI,NEXT(Aluop16_16) |
| 0x5d |
or.16
A,#exti8 |
; |
LDIMMEXT,NEXT(Aluop16) |
| 0x5e |
br.gtu
#d16 |
; |
LDIMMHI,NEXT(BrNegated) |
| 0x5f |
or.16
A,B |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(Aluop16) |
| 0x60 |
and.8
A,#u16(DP) |
; |
LDIMMHI,NEXT(Aluop8_indir16) |
| 0x61 |
and.8
A,#u16(SP) |
; |
LDIMMHI,NEXT(Aluop8_indir16) |
| 0x62 |
sh1add B,A,B |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(LeaBAB2) |
| 0x63 |
and.8
A,#u16(B) |
; |
LDIMMHI,NEXT(Aluop8_indir16) |
| 0x64 |
and.8
A,#i8_1 |
; |
LDIMMLO,NEXT(Aluop8) |
| 0x65 |
and.16 (--A),(--B) |
; |
DEC_TO_Z(R_A),DATA,NEXT(Mop16) |
| 0x66 |
nop |
; |
NEXT(Fetch) |
| 0x67 |
and.8
A,B |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(Aluop8) |
| 0x68 |
and.16
A,#u16(DP) |
; |
LDIMMHI,NEXT(Aluop16_indir16) |
| 0x69 |
and.16
A,#u16(SP) |
; |
LDIMMHI,NEXT(Aluop16_indir16) |
| 0x6a |
sh1add B,B,A |
; |
TO_Z(R_A),L(R_MDR,LWORD),NEXT(LeaBBA2) |
| 0x6b |
and.16
A,#u16(B) |
; |
LDIMMHI,NEXT(Aluop16_indir16) |
| 0x6c |
and.16
A,#i16_exti8 |
; |
LDIMMHI,NEXT(Aluop16_16) |
| 0x6d |
and.16
A,#exti8 |
; |
LDIMMEXT,NEXT(Aluop16) |
| 0x6e |
strcopy |
; |
TO_Z(R_B),DATA,NEXT(Strcopy) |
| 0x6f |
and.16
A,B |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(Aluop16) |
| 0x70 |
lea
A,#u16(DP) |
; |
LDIMMHI,NEXT(LdaA_16) |
| 0x71 |
lea
A,#u16(SP) |
; |
LDIMMHI,NEXT(LdaA_16) |
| 0x72 |
lea
A,#u16(A) |
; |
LDIMMHI,NEXT(LdaA_16) |
| 0x73 |
lea
A,#u16(B) |
; |
LDIMMHI,NEXT(LdaA_16) |
| 0x74 |
lea
B,#u16(DP) |
; |
LDIMMHI,NEXT(LdaB_16) |
| 0x75 |
lea
B,#u16(SP) |
; |
LDIMMHI,NEXT(LdaB_16) |
| 0x76 |
lea
B,#u16(A) |
; |
LDIMMHI,NEXT(LdaB_16) |
| 0x77 |
lea
B,#u16(B) |
; |
LDIMMHI,NEXT(LdaB_16) |
| 0x78 |
ld.8
A,#u8 |
; |
LDIMMLO,NEXT(LdiA8) |
| 0x79 |
ld.8
B,#u8 |
; |
LDIMMLO,NEXT(LdiB8) |
| 0x7a |
ld.16
A,#exti8_u16 |
; |
LDIMMEXT,NEXT(LdiA16) |
| 0x7b |
ld.16
B,#exti8_u16 |
; |
LDIMMEXT,NEXT(LdiB16) |
| 0x7c |
ld.16
A,#u16 |
; |
LDIMMHI,NEXT(LdiA16_lo) |
| 0x7d |
ld.16
B,#u16 |
; |
LDIMMHI,NEXT(LdiB16_lo) |
| 0x7e |
adc.16
A,A |
; |
TO_Z(R_A),L(R_MDR,LWORD),NEXT(Adc16) |
| 0x7f |
adc.16
A,B |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(Adc16) |
| 0x80 |
call
#d16 |
; |
LDIMMHI,NEXT(CallImm) |
| 0x81 |
ld.16
A,#u8(SP) |
; |
LDIMMLO,NEXT(Lda16_8) |
| 0x82 |
call
A |
; |
TO_Z(R_PC),L(R_MDR,LWORD),NEXT(CallA) |
| 0x83 |
br
#d16_d8 |
; |
LDIMMHI,NEXT(RelBrLo) |
| 0x84 |
sbr
#d8 |
; |
LDIMMEXT,NEXT(RelBr) |
| 0x85 |
ld.16
B,#u8(SP) |
; |
LDIMMLO,NEXT(Ldb16_8) |
| 0x86 |
lea A,#u8(SP) |
; |
LDIMMLO,NEXT(LeaShort) |
| 0x87 |
lea B,#u8(SP) |
; |
LDIMMLO,NEXT(LeaShort) |
| 0x88 |
copy A,MSW |
; |
TO_Z(R_MSW),L(R_A,LWORD),NEXT(Fetch) |
| 0x89 |
br.eq
#d16 |
; |
LDIMMHI,NEXT(BrNormal) |
| 0x8a |
reti |
; |
MISC(M_PRIV),NEXT(Reti) |
| 0x8b |
pfix |
; |
EXT,FETCH_OP |
| 0x8c |
bset.8
A,#mask8,#d8 |
; |
LDIMMLO,NEXT(Bset8) |
| 0x8d |
bclr.8
A,#mask8,#d8 |
; |
LDIMMLO,NEXT(Bclr8) |
| 0x8e |
bset.16
A,#mask16,#d8 |
; |
LDIMMHI,NEXT(Bset16) |
| 0x8f |
bclr.16
A,#mask16,#d8 |
; |
LDIMMHI,NEXT(Bclr16) |
| 0x90 |
cmpb.eq.8 A,#u16(DP),#d8 |
; |
LDIMMHI,NEXT(Cmpb8_indir16) |
| 0x91 |
cmpb.eq.8 A,#u16(SP),#d8 |
; |
LDIMMHI,NEXT(Cmpb8_indir16) |
| 0x92 |
copy
B,A |
; |
TO_Z(R_A),L(R_B,LWORD),NEXT(Fetch) |
| 0x93 |
cmpb.eq.8 A,#u16(B),#d8 |
; |
LDIMMHI,NEXT(Cmpb8_indir16) |
| 0x94 |
cmpb.eq.8 A,#i8_0,#d8 |
; |
LDIMMLO,NEXT(Cmpb8) |
| 0x95 |
cmpb.eq.8 A,#0,#d8 |
; |
TO_Z(R_MDR),L(R_MDR,LWORD),NEXT(Cmpb8) |
| 0x96 |
copy
C,A |
; |
TO_Z(R_A),L(R_C,LWORD),NEXT(Fetch) |
| 0x97 |
cmpb.eq.8 A,B,#d8 |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(Cmpb8) |
| 0x98 |
cmpb.eq.16 A,#u16(DP),#d8 |
; |
LDIMMHI,NEXT(Cmpb16_indir16) |
| 0x99 |
cmpb.eq.16 A,#u16(SP),#d8 |
; |
LDIMMHI,NEXT(Cmpb16_indir16) |
| 0x9a |
copy
A,B |
; |
TO_Z(R_B),L(R_A,LWORD),NEXT(Fetch) |
| 0x9b |
cmpb.eq.16 A,#u16(B),#d8 |
; |
LDIMMHI,NEXT(Cmpb16_indir16) |
| 0x9c |
cmpb.eq.16
A,#i16_exti8_0,#d8 |
; |
LDIMMHI,NEXT(Cmpb16_16) |
| 0x9d |
cmpb.eq.16 A,#exti8_0,#d8 |
; |
LDIMMEXT,NEXT(Cmpb16) |
| 0x9e |
cmpb.eq.16 A,#0,#d8 |
; |
TO_Z(R_MDR),L(R_MDR,LWORD),NEXT(Cmpb16) |
| 0x9f |
cmpb.eq.16 A,B,#d8 |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(Cmpb16) |
| 0xa0 |
cmpb.lt.8 A,#u16(DP),#d8 |
; |
LDIMMHI,NEXT(Cmpb8_indir16) |
| 0xa1 |
cmpb.lt.8 A,#u16(SP),#d8 |
; |
LDIMMHI,NEXT(Cmpb8_indir16) |
| 0xa2 |
sh0add A,A,B |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(LeaA1) |
| 0xa3 |
cmpb.lt.8 A,#u16(B),#d8 |
; |
LDIMMHI,NEXT(Cmpb8_indir16) |
| 0xa4 |
cmpb.lt.8 A,#i8_0,#d8 |
; |
LDIMMLO,NEXT(Cmpb8) |
| 0xa5 |
cmpb.lt.8 A,#0,#d8 |
; |
TO_Z(R_MDR),L(R_MDR,LWORD),NEXT(Cmpb8) |
| 0xa6 |
br.lt
#d16 |
; |
LDIMMHI,NEXT(BrNormal) |
| 0xa7 |
cmpb.lt.8 A,B,#d8 |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(Cmpb8) |
| 0xa8 |
cmpb.lt.16 A,#u16(DP),#d8 |
; |
LDIMMHI,NEXT(Cmpb16_indir16) |
| 0xa9 |
cmpb.lt.16 A,#u16(SP),#d8 |
; |
LDIMMHI,NEXT(Cmpb16_indir16) |
| 0xaa |
sh1add A,A,B |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(LeaAAB2) |
| 0xab |
cmpb.lt.16 A,#u16(B),#d8 |
; |
LDIMMHI,NEXT(Cmpb16_indir16) |
| 0xac |
cmpb.lt.16 A,#i16_exti8,#d8 |
; |
LDIMMHI,NEXT(Cmpb16_16) |
| 0xad |
cmpb.lt.16 A,#exti8,#d8 |
; |
LDIMMEXT,NEXT(Cmpb16) |
| 0xae |
br.ge
#d16 |
; |
LDIMMHI,NEXT(BrNegated) |
| 0xaf |
cmpb.lt.16 A,B,#d8 |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(Cmpb16) |
| 0xb0 |
cmpb.le.8 A,#u16(DP),#d8 |
; |
LDIMMHI,NEXT(Cmpb8_indir16) |
| 0xb1 |
cmpb.le.8 A,#u16(SP),#d8 |
; |
LDIMMHI,NEXT(Cmpb8_indir16) |
| 0xb2 |
sex
B |
; |
TO_Z8(R_B),L(R_B,LWORD),NEXT(Fetch) |
| 0xb3 |
cmpb.le.8 A,#u16(B),#d8 |
; |
LDIMMHI,NEXT(Cmpb8_indir16) |
| 0xb4 |
cmpb.le.8 A,#i8,#d8 |
; |
LDIMMLO,NEXT(Cmpb8) |
| 0xb5 |
br.le
#d16 |
; |
LDIMMHI,NEXT(BrNormal) |
| 0xb6 |
copy
DP,A |
; |
TO_Z(R_A),L(R_DP,LWORD),NEXT(Fetch) |
| 0xb7 |
cmpb.le.8 A,B,#d8 |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(Cmpb8) |
| 0xb8 |
cmpb.le.16 A,#u16(DP),#d8 |
; |
LDIMMHI,NEXT(Cmpb16_indir16) |
| 0xb9 |
cmpb.le.16 A,#u16(SP),#d8 |
; |
LDIMMHI,NEXT(Cmpb16_indir16) |
| 0xba |
adc.16 (--A),(--B) |
; |
DEC_TO_Z(R_A),DATA,NEXT(Mop16Carry) |
| 0xbb |
cmpb.le.16 A,#u16(B),#d8 |
; |
LDIMMHI,NEXT(Cmpb16_indir16) |
| 0xbc |
cmpb.le.16 A,#i16_exti8,#d8 |
; |
LDIMMHI,NEXT(Cmpb16_16) |
| 0xbd |
cmpb.le.16 A,#exti8,#d8 |
; |
LDIMMEXT,NEXT(Cmpb16) |
| 0xbe |
br.gt
#d16 |
; |
LDIMMHI,NEXT(BrNegated) |
| 0xbf |
cmpb.le.16 A,B,#d8 |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(Cmpb16) |
| 0xc0 |
br.geu
#d16 |
; |
LDIMMHI,NEXT(BrNegated) |
| 0xc1 |
st.8
#u16_u8_10(SP),A |
; |
LDIMMHI,NEXT(Sta8_16) |
| 0xc2 |
shl.16
A |
; |
TO_Z(R_A),L(R_MDR,LWORD),NEXT(Shla16) |
| 0xc3 |
shr.16
A |
; |
TO_Z(R_A),MISC(M_RSHIFT),L(R_A,LWORD),NEXT(Fetch) |
| 0xc4 |
shl.16
B |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(Shlb16) |
| 0xc5 |
st.8
#u16_u8_10(SP),B |
; |
LDIMMHI,NEXT(Stb8_16) |
| 0xc6 |
shr.16
B |
; |
TO_Z(R_B),MISC(M_RSHIFT),L(R_B,LWORD),NEXT(Fetch) |
| 0xc7 |
xor.16
A,B |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(Aluop16) |
| 0xc8 |
copy
PTB,A |
; |
MISC(M_PRIV),TO_Z(R_A),L(R_PTB,LWORD),NEXT(Fetch) |
| 0xc9 |
st.16
#u16_u8_10(SP),A |
; |
LDIMMHI,NEXT(Sta16_16) |
| 0xca |
copy
MSW,A |
; |
MISC(M_PRIV),NEXT(CopyMSWA) |
| 0xcb |
copy
SP,A |
; |
TO_Z(R_A),L(R_SP,LWORD),NEXT(Fetch) |
| 0xcc |
xor.16 (--A),(--B) |
; |
DEC_TO_Z(R_A),DATA,NEXT(Mop16) |
| 0xcd |
st.16 #u16_u8_10(SP),B |
; |
LDIMMHI,NEXT(Stb16_16) |
| 0xce |
ld.16
C,#u16 |
; |
LDIMMHI,NEXT(LdiC16_lo) |
| 0xcf |
br.ltu
#d16 |
; |
LDIMMHI,NEXT(BrNormal) |
| 0xd0 |
st.8
#u16(DP),A |
; |
LDIMMHI,NEXT(Sta8_16) |
| 0xd1 |
st.8
#u8(SP),A |
; |
LDIMMLO,NEXT(Sta8_8) |
| 0xd2 |
st.8
#u16(A),A |
; |
LDIMMHI,NEXT(Sta8_16) |
| 0xd3 |
st.8
#u16(B),A |
; |
LDIMMHI,NEXT(Sta8_16) |
| 0xd4 |
st.8
#u16(DP),B |
; |
LDIMMHI,NEXT(Stb8_16) |
| 0xd5 |
st.8
#u8(SP),B |
; |
LDIMMLO,NEXT(Stb8_8) |
| 0xd6 |
st.8
#u16(A),B |
; |
LDIMMHI,NEXT(Stb8_16) |
| 0xd7 |
st.8
#u16(B),B |
; |
LDIMMHI,NEXT(Stb8_16) |
| 0xd8 |
st.16
#u16(DP),A |
; |
LDIMMHI,NEXT(Sta16_16) |
| 0xd9 |
st.16
#u8(SP),A |
; |
LDIMMLO,NEXT(Sta16_8) |
| 0xda |
st.16
#u16(A),A |
; |
LDIMMHI,NEXT(Sta16_16) |
| 0xdb |
st.16
#u16(B),A |
; |
LDIMMHI,NEXT(Sta16_16) |
| 0xdc |
st.16
#u16(DP),B |
; |
LDIMMHI,NEXT(Stb16_16) |
| 0xdd |
st.16
#u8(SP),B |
; |
LDIMMLO,NEXT(Stb16_8) |
| 0xde |
st.16
#u16(A),B |
; |
LDIMMHI,NEXT(Stb16_16) |
| 0xdf |
st.16
#u16(B),B |
; |
LDIMMHI,NEXT(Stb16_16) |
| 0xe0 |
ldcode.8
A,(B) |
; |
TO_Z(R_B),CODE,NEXT(Ldcode8) |
| 0xe1 |
copy A,DP |
; |
TO_Z(R_DP),L(R_A,LWORD),NEXT(Fetch) |
| 0xe2 |
ld.16
C,#exti8_u16 |
; |
LDIMMEXT,NEXT(LdiC16) |
| 0xe3 |
memcopy4 |
; |
INC2_TO_Z(R_B),DATA,NEXT(Mcpy4) |
| 0xe4 |
enter
#fsize16_8 |
; |
LDIMMHI,NEXT(Enter) |
| 0xe5 |
enter
#fsize8 |
; |
NEG1_TO_Z,LATCH(R_MDR),NEXT(Enter) |
| 0xe6 |
vshl.16
A |
; |
TO_Z(R_A),L(R_MDR,LWORD),NEXT(Vshl) |
| 0xe7 |
vshl.16 B |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(Vshl) |
| 0xe8 |
memcopy |
; |
COMPARE_0(R_C),MISC(M_SET_FLAGS),NEXT(Bcopy) |
| 0xe9 |
tosys |
; |
MISC(M_PRIV),NEXT(ToSys1) |
| 0xea |
fromsys |
; |
MISC(M_PRIV),NEXT(FromSys1) |
| 0xeb |
ldclr.8
A,(B) |
; |
TO_Z(R_B),DATA,NEXT(LdClr) |
| 0xec |
wdpte
A,(B) |
; |
MISC(M_PRIV),TO_Z(R_B),SET_ADR(DATA_SPACE,PTB_OVERRIDE),NEXT(Wdpte) |
| 0xed |
sbc.16
A,B |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(Sbc16) |
| 0xee |
vshr.16
A |
; |
TO_Z(R_A),L(R_MDR,LWORD),NEXT(Vshr) |
| 0xef |
vshr.16 B |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(Vshr) |
| 0xf0 |
cmpb.ne.8 A,#u16(DP),#d8 |
; |
LDIMMHI,NEXT(Cmpb8_indir16) |
| 0xf1 |
cmpb.ne.8 A,#u16(SP),#d8 |
; |
LDIMMHI,NEXT(Cmpb8_indir16) |
| 0xf2 |
copy
A,C |
; |
TO_Z(R_C),L(R_A,LWORD),NEXT(Fetch) |
| 0xf3 |
cmpb.ne.8 A,#u16(B),#d8 |
; |
LDIMMHI,NEXT(Cmpb8_indir16) |
| 0xf4 |
cmpb.ne.8 A,#i8_0,#d8 |
; |
LDIMMLO,NEXT(Cmpb8) |
| 0xf5 |
cmpb.ne.8 A,#0,#d8 |
; |
TO_Z(R_MDR),L(R_MDR,LWORD),NEXT(Cmpb8) |
| 0xf6 |
copy
A,SP |
; |
TO_Z(R_SP),L(R_A,LWORD),NEXT(Fetch) |
| 0xf7 |
cmpb.ne.8 A,B,#d8 |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(Cmpb8) |
| 0xf8 |
cmpb.ne.16 A,#u16(DP),#d8 |
; |
LDIMMHI,NEXT(Cmpb16_indir16) |
| 0xf9 |
cmpb.ne.16 A,#u16(SP),#d8 |
; |
LDIMMHI,NEXT(Cmpb16_indir16) |
| 0xfa |
bkpt |
; |
MISC(M_BKPT),NEXT(Unreachable) |
| 0xfb |
cmpb.ne.16 A,#u16(B),#d8 |
; |
LDIMMHI,NEXT(Cmpb16_indir16) |
| 0xfc |
cmpb.ne.16
A,#i16_exti8_0,#d8 |
; |
LDIMMHI,NEXT(Cmpb16_16) |
| 0xfd |
cmpb.ne.16 A,#exti8_0,#d8 |
; |
LDIMMEXT,NEXT(Cmpb16) |
| 0xfe |
cmpb.ne.16 A,#0,#d8 |
; |
TO_Z(R_MDR),L(R_MDR,LWORD),NEXT(Cmpb16) |
| 0xff |
cmpb.ne.16 A,B,#d8 |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(Cmpb16) |
Top half of PROM - continuation microcode.
| 0x100 |
Fetch |
; |
FETCH_OP |
| 0x101 |
IRQ5 |
; |
TO_Z(R_MAR),MISC(M_COMMIT),NEXT(Fault) |
| 0x102 |
IRQ4 |
; |
TO_Z(R_MAR),MISC(M_COMMIT),NEXT(Fault) |
| 0x103 |
IRQ3 |
; |
TO_Z(R_MAR),MISC(M_COMMIT),NEXT(Fault) |
| 0x104 |
IRQ2 |
; |
TO_Z(R_MAR),MISC(M_COMMIT),NEXT(Fault) |
| 0x105 |
IRQ1 |
; |
TO_Z(R_MAR),MISC(M_COMMIT),NEXT(Fault) |
| 0x106 |
IRQ0 |
; |
TO_Z(R_MAR),MISC(M_COMMIT),NEXT(Fault) |
| 0x107 |
DMA_req |
; |
MISC(M_DMA_ACK),NEXT(Fetch) |
| 0x108 |
Fault_syscall |
; |
TO_Z(R_MAR),MISC(M_COMMIT),NEXT(Fault) |
| 0x109 |
|
; |
|
| 0x10a |
Fault_ovflo |
; |
TO_Z(R_MAR),L(R_PC,LWORD),NEXT(Fault) |
| 0x10b |
Fault_priv |
; |
TO_Z(R_MAR),L(R_PC,LWORD),NEXT(Fault) |
| 0x10c |
Fault_bkpt |
; |
TO_Z(R_MAR),L(R_PC,LWORD),NEXT(Fault) |
| 0x10d |
Fault_nw |
; |
TO_Z(R_MAR),L(R_PC,LWORD),NEXT(Fault) |
| 0x10e |
Fault_np |
; |
TO_Z(R_MAR),L(R_PC,LWORD),NEXT(Fault) |
| 0x10f |
|
; |
|
| 0x110 |
Aluop8_indir |
; |
GEN_ADDR(R_IR_BASE),DATA,NEXT(FALLTHRU) |
| 0x111 |
|
; |
LDLO,NEXT(FALLTHRU) |
| 0x112 |
Aluop8 |
; |
E_L(R_A),E_R(ER_MDR),ALU(OP_IR13,BYTE,NO_CARRY),L(R_A,LBYTE),MISC(M_SET_FLAGS),NEXT(Fetch) |
| 0x113 |
Aluop8_indir16 |
; |
LDIMMLO,NEXT(Aluop8_indir) |
| 0x114 |
Aluop16_indir |
; |
GEN_ADDR(R_IR_BASE),DATA,NEXT(FALLTHRU) |
| 0x115 |
|
; |
LDHI,NEXT(FALLTHRU) |
| 0x116 |
|
; |
LDLO,NEXT(FALLTHRU) |
| 0x117 |
Aluop16 |
; |
E_L(R_A),E_R(ER_MDR),ALU(OP_IR13,WORD,NO_CARRY),L(R_A,LWORD),MISC(M_SET_FLAGS),NEXT(Fetch) |
| 0x118 |
Aluop16_indir16 |
; |
LDIMMLO,NEXT(Aluop16_indir) |
| 0x119 |
Cmp8_indir |
; |
GEN_ADDR(R_IR_BASE),DATA,NEXT(FALLTHRU) |
| 0x11a |
x11a |
; |
LDLO,NEXT(FALLTHRU) |
| 0x11b |
Cmp8 |
; |
E_L(R_A),E_R(ER_MDR),ALU(OP_SUB,BYTE,NO_CARRY),MISC(M_SET_FLAGS),NEXT(Fetch) |
| 0x11c |
Cmp8_indir16 |
; |
LDIMMLO,NEXT(Cmp8_indir) |
| 0x11d |
Cmp16_indir |
; |
GEN_ADDR(R_IR_BASE),DATA,NEXT(FALLTHRU) |
| 0x11e |
x11e |
; |
LDHI,NEXT(FALLTHRU) |
| 0x11f |
|
; |
LDLO,NEXT(FALLTHRU) |
| 0x120 |
Cmp16 |
; |
E_L(R_A),E_R(ER_MDR),ALU(OP_SUB,WORD,NO_CARRY),MISC(M_SET_FLAGS),NEXT(Fetch) |
| 0x121 |
Cmp16_indir16 |
; |
LDIMMLO,NEXT(Cmp16_indir) |
| 0x122 |
Cmpb8_indir |
; |
GEN_ADDR(R_IR_BASE),DATA,NEXT(FALLTHRU) |
| 0x123 |
X123 |
; |
LDLO,NEXT(FALLTHRU) |
| 0x124 |
Cmpb8 |
; |
E_L(R_A),E_R(ER_MDR),ALU(OP_SUB,BYTE,NO_CARRY),MISC(M_SET_FLAGS),NEXT(CheckBr) |
| 0x125 |
Cmpb8_indir16 |
; |
LDIMMLO,NEXT(Cmpb8_indir) |
| 0x126 |
Cmpb16_indir |
; |
GEN_ADDR(R_IR_BASE),DATA,NEXT(FALLTHRU) |
| 0x127 |
X127 |
; |
LDHI,NEXT(FALLTHRU) |
| 0x128 |
|
; |
LDLO,NEXT(FALLTHRU) |
| 0x129 |
Cmpb16 |
; |
E_L(R_A),E_R(ER_MDR),ALU(OP_SUB,WORD,NO_CARRY),MISC(M_SET_FLAGS),NEXT(CheckBr) |
| 0x12a |
Cmpb16_indir16 |
; |
LDIMMLO,NEXT(Cmpb16_indir) |
| 0x12b |
CheckBr |
; |
LDIMMEXT,CBR(B_NORMAL,TakenBr) |
| 0x12c |
TakenBr |
; |
E_L(R_PC),E_R(ER_MDR),ALU(OP_ADD,WORD,NO_CARRY),L(R_PC,LWORD),CODE,NEXT(Fetch) |
| 0x12d |
BrNormal |
; |
LDIMMLO,CBR(B_NORMAL,TakenBr) |
| 0x12e |
BrNegated |
; |
LDIMMLO,CBR(B_NEGATED,TakenBr) |
| 0x12f |
Bset8 |
; |
E_L(R_A),E_R(ER_MDR),ALU(OP_AND,BYTE,NO_CARRY),MISC(M_SET_FLAGS),NEXT(CheckBrNeg) |
| 0x130 |
CheckBrNeg |
; |
LDIMMEXT,CBR(B_NEGATED,TakenBr) |
| 0x131 |
Bclr8 |
; |
E_L(R_A),E_R(ER_MDR),ALU(OP_AND,BYTE,NO_CARRY),MISC(M_SET_FLAGS),NEXT(CheckBr) |
| 0x132 |
Bset16 |
; |
LDIMMLO,NEXT(FALLTHRU) |
| 0x133 |
|
; |
E_L(R_A),E_R(ER_MDR),ALU(OP_AND,WORD,NO_CARRY),MISC(M_SET_FLAGS),NEXT(CheckBrNeg) |
| 0x134 |
Bclr16 |
; |
LDIMMLO,NEXT(FALLTHRU) |
| 0x135 |
|
; |
E_L(R_A),E_R(ER_MDR),ALU(OP_AND,WORD,NO_CARRY),MISC(M_SET_FLAGS),NEXT(CheckBr) |
| 0x136 |
Push16 |
; |
DEC_TO_Z(R_SP),DATA,NEXT(FALLTHRU) |
| 0x137 |
|
; |
WRITELO,DEC_TO_Z(R_MAR),DATA,L(R_SP,LWORD),NEXT(FALLTHRU) |
| 0x138 |
Whi |
; |
WRITEHI,TO_Z(R_PC),CODE,NEXT(Fetch) |
| 0x139 |
Pop16 |
; |
LDHI,NEXT(FALLTHRU) |
| 0x13a |
|
; |
READLO,INC_TO_Z(R_MAR),L(R_SP,LWORD),DATA,NEXT(FALLTHRU) |
| 0x13b |
|
; |
TO_Z(R_MDR),L(R_IR_REG,LWORD),NEXT(PCtoMAR) |
| 0x13c |
Lda8_8 |
; |
GEN_ADDR(R_IR_BASE),DATA,NEXT(FALLTHRU) |
| 0x13d |
x13d |
; |
LDLO,NEXT(LdiA8) |
| 0x13e |
Lda8_16 |
; |
LDIMMLO,NEXT(Lda8_8) |
| 0x13f |
Ldb8_8 |
; |
GEN_ADDR(R_IR_BASE),DATA,NEXT(FALLTHRU) |
| 0x140 |
x140 |
; |
LDLO,NEXT(LdiB8) |
| 0x141 |
Ldb8_16 |
; |
LDIMMLO,NEXT(Ldb8_8) |
| 0x142 |
Lda16_8 |
; |
GEN_ADDR(R_IR_BASE),DATA,NEXT(FALLTHRU) |
| 0x143 |
x143 |
; |
LDHI,NEXT(FALLTHRU) |
| 0x144 |
|
; |
LDLO,NEXT(LdiA16) |
| 0x145 |
Lda16_16 |
; |
LDIMMLO,NEXT(Lda16_8) |
| 0x146 |
Ldb16_8 |
; |
GEN_ADDR(R_IR_BASE),DATA,NEXT(FALLTHRU) |
| 0x147 |
x147 |
; |
LDHI,NEXT(FALLTHRU) |
| 0x148 |
|
; |
LDLO,NEXT(LdiB16) |
| 0x149 |
Ldb16_16 |
; |
LDIMMLO,NEXT(Ldb16_8) |
| 0x14a |
Sta8_8 |
; |
GEN_ADDR(R_IR_BASE),DATA,NEXT(FALLTHRU) |
| 0x14b |
x14b |
; |
TO_Z(R_A),L(R_MDR,LWORD),NEXT(FALLTHRU) |
| 0x14c |
StaLo |
; |
STLO,NEXT(Fetch) |
| 0x14d |
Sta8_16 |
; |
LDIMMLO,NEXT(Sta8_8) |
| 0x14e |
Sta16_8 |
; |
GEN_ADDR(R_IR_BASE),DATA,NEXT(FALLTHRU) |
| 0x14f |
x14f |
; |
TO_Z(R_A),L(R_MDR,LWORD),NEXT(FALLTHRU) |
| 0x150 |
Shi |
; |
STHI,NEXT(StaLo) |
| 0x151 |
Sta16_16 |
; |
LDIMMLO,NEXT(Sta16_8) |
| 0x152 |
Stb8_8 |
; |
GEN_ADDR(R_IR_BASE),DATA,NEXT(FALLTHRU) |
| 0x153 |
x153 |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(StaLo) |
| 0x154 |
Stb8_16 |
; |
LDIMMLO,NEXT(Stb8_8) |
| 0x155 |
Stb16_8 |
; |
GEN_ADDR(R_IR_BASE),DATA,NEXT(FALLTHRU) |
| 0x156 |
x156 |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(Shi) |
| 0x157 |
Stb16_16 |
; |
LDIMMLO,NEXT(Stb16_8) |
| 0x158 |
Sbc16 |
; |
E_L(R_A),E_R(ER_MDR),ALU(OP_SUB,WORD,CARRY_IN),L(R_A,LWORD),MISC(M_SET_FLAGS),NEXT(Fetch) |
| 0x159 |
Adc16 |
; |
E_L(R_A),E_R(ER_MDR),ALU(OP_ADD,WORD,CARRY_IN),L(R_A,LWORD),MISC(M_SET_FLAGS),NEXT(Fetch) |
| 0x15a |
LdaA_16 |
; |
LDIMMLO,NEXT(LdaA) |
| 0x15b |
LdaA |
; |
GEN_ADDR(R_IR_BASE),L(R_A,LWORD),NEXT(Fetch) |
| 0x15c |
LdaB_16 |
; |
LDIMMLO,NEXT(LdaB) |
| 0x15d |
LdaB |
; |
GEN_ADDR(R_IR_BASE),L(R_B,LWORD),NEXT(Fetch) |
| 0x15e |
LdiA8 |
; |
TO_Z(R_MDR),L(R_A,LBYTE),NEXT(Fetch) |
| 0x15f |
LdiB8 |
; |
TO_Z(R_MDR),L(R_B,LBYTE),NEXT(Fetch) |
| 0x160 |
LdiA16_lo |
; |
LDIMMLO,NEXT(LdiA16) |
| 0x161 |
LdiA16 |
; |
TO_Z(R_MDR),L(R_A,LWORD),NEXT(Fetch) |
| 0x162 |
LdiB16_lo |
; |
LDIMMLO,NEXT(LdiB16) |
| 0x163 |
LdiB16 |
; |
TO_Z(R_MDR),L(R_B,LWORD),NEXT(Fetch) |
| 0x164 |
LdiC16_lo |
; |
LDIMMLO,NEXT(LdiC16) |
| 0x165 |
LdiC16 |
; |
TO_Z(R_MDR),L(R_C,LWORD),NEXT(Fetch) |
| 0x166 |
RelBrLo |
; |
LDIMMLO,NEXT(RelBr) |
| 0x167 |
RelBr |
; |
GEN_ADDR(R_PC),L(R_PC,LWORD),CODE,NEXT(Fetch) |
| 0x168 |
CallImm |
; |
LDIMMLO,NEXT(FALLTHRU) |
| 0x169 |
|
; |
GEN_ADDR(R_PC),L(R_PC,LWORD),NEXT(FALLTHRU) |
| 0x16a |
|
; |
E_R(ER_MDR),E_L(R_PC),ALU(OP_SUB,WORD,NO_CARRY),L(R_MDR,LWORD),NEXT(Push16) |
| 0x16b |
CallA |
; |
DEC_TO_Z(R_SP),DATA,NEXT(FALLTHRU) |
| 0x16c |
|
; |
WRITELO,DEC_TO_Z(R_MAR),DATA,L(R_SP,LWORD),NEXT(FALLTHRU) |
| 0x16d |
|
; |
WRITEHI,TO_Z(R_A),L(R_PC,LWORD),CODE,NEXT(Fetch) |
| 0x16e |
LdClr |
; |
READLO,NEXT(FALLTHRU) |
| 0x16f |
|
; |
TO_Z(R_MDR),L(R_A,LBYTE),NEXT(Whi) |
| 0x170 |
Wcpte |
; |
E_L(R_A),MISC(M_LPTE),NEXT(PCtoMAR) |
| 0x171 |
Enter |
; |
LDIMMLO,NEXT(FALLTHRU) |
| 0x172 |
|
; |
GEN_ADDR(R_SP),DATA,NEXT(FALLTHRU) |
| 0x173 |
|
; |
TO_Z(R_SP),L(R_MDR,LWORD),NEXT(FALLTHRU) |
| 0x174 |
|
; |
DEC_TO_Z(R_MAR),DATA,NEXT(FALLTHRU) |
| 0x175 |
|
; |
WRITELO,DEC_TO_Z(R_MAR),DATA,L(R_SP,LWORD),NEXT(FALLTHRU) |
| 0x176 |
|
; |
WRITEHI,TO_Z(R_MAR),L(R_SP,LWORD),NEXT(PCtoMAR) |
| 0x177 |
Bcopy |
; |
CBR(B_NEGATED,FALLTHRU) |
| 0x178 |
|
; |
TO_Z(R_B),DATA,NEXT(FALLTHRU) |
| 0x179 |
|
; |
READLO,TO_Z(R_A),DATA,NEXT(Bcopy0) |
| 0x17a |
ToSys |
; |
CBR(B_NEGATED,FALLTHRU) |
| 0x17b |
|
; |
TO_Z(R_B),SET_ADR(DATA_SPACE,PTB_OVERRIDE),NEXT(FALLTHRU) |
| 0x17c |
|
; |
READLO,TO_Z(R_A),DATA,NEXT(FALLTHRU) |
| 0x17d |
Bcopy0 |
; |
WRITELO,INC_TO_Z(R_MAR),L(R_A,LWORD),NEXT(FALLTHRU) |
| 0x17e |
Bcopy1 |
; |
INC_TO_Z(R_B),L(R_B,LWORD),NEXT(FALLTHRU) |
| 0x17f |
Bcopy2 |
; |
DEC_TO_Z(R_C),L(R_C,LWORD),NEXT(FALLTHRU) |
| 0x180 |
BackupPC |
; |
DEC_TO_Z(R_PC),L(R_PC,LWORD),CODE,NEXT(Fetch) |
| 0x181 |
FromSys |
; |
CBR(B_NEGATED,FALLTHRU) |
| 0x182 |
|
; |
TO_Z(R_B),DATA,NEXT(FALLTHRU) |
| 0x183 |
|
; |
READLO,TO_Z(R_A),SET_ADR(DATA_SPACE,PTB_OVERRIDE),NEXT(FALLTHRU) |
| 0x184 |
|
; |
WRITELO,INC_TO_Z(R_MAR),L(R_A,LWORD),NEXT(Bcopy1) |
| 0x185 |
Fault |
; |
TO_MDR(R_MSW),NEXT(FALLTHRU) |
| 0x186 |
|
; |
ZERO_TO_Z,MISC(M_LEI),LMODE(1),NEXT(FALLTHRU) |
| 0x187 |
|
; |
DEC_TO_Z(R_SSP),DATA,NEXT(FALLTHRU) |
| 0x188 |
|
; |
PUSHLO,NEXT(FALLTHRU) |
| 0x189 |
|
; |
PUSHHI,NEXT(FALLTHRU) |
| 0x18a |
|
; |
TO_MDR(R_SP),NEXT(FALLTHRU) |
| 0x18b |
|
; |
PUSHLO,NEXT(FALLTHRU) |
| 0x18c |
|
; |
PUSHHI,NEXT(FALLTHRU) |
| 0x18d |
|
; |
TO_MDR(R_TPC),NEXT(FALLTHRU) |
| 0x18e |
|
; |
PUSHLO,NEXT(FALLTHRU) |
| 0x18f |
|
; |
PUSHHI,NEXT(FALLTHRU) |
| 0x190 |
|
; |
TO_MDR(R_A),NEXT(FALLTHRU) |
| 0x191 |
|
; |
PUSHLO,NEXT(FALLTHRU) |
| 0x192 |
|
; |
PUSHHI,NEXT(FALLTHRU) |
| 0x193 |
|
; |
TO_MDR(R_B),NEXT(FALLTHRU) |
| 0x194 |
|
; |
PUSHLO,NEXT(FALLTHRU) |
| 0x195 |
|
; |
PUSHHI,NEXT(FALLTHRU) |
| 0x196 |
|
; |
TO_MDR(R_C),NEXT(FALLTHRU) |
| 0x197 |
|
; |
PUSHLO,NEXT(FALLTHRU) |
| 0x198 |
|
; |
PUSHHI,NEXT(FALLTHRU) |
| 0x199 |
|
; |
TO_MDR(R_DP),NEXT(FALLTHRU) |
| 0x19a |
|
; |
PUSHLO,L(R_SP,LWORD),NEXT(FALLTHRU) |
| 0x19b |
|
; |
PUSHHI,NEXT(FALLTHRU) |
| 0x19c |
|
; |
TO_Z(R_PC),L(R_A,LWORD),NEXT(FALLTHRU) |
| 0x19d |
|
; |
TO_Z(R_FCODE),DATA,L(R_C,LWORD),NEXT(FALLTHRU) |
| 0x19e |
|
; |
POPHI,NEXT(FALLTHRU) |
| 0x19f |
|
; |
POPLO,NEXT(FALLTHRU) |
| 0x1a0 |
|
; |
ZERO_TO_Z,L(R_DP,LWORD),NEXT(FALLTHRU) |
| 0x1a1 |
|
; |
FROM_MDR(R_PC),CODE,MISC(M_CLR_TRAP),NEXT(Fetch) |
| 0x1a2 |
Reti |
; |
TO_Z(R_SP),DATA,NEXT(FALLTHRU) |
| 0x1a3 |
|
; |
POPHI,NEXT(FALLTHRU) |
| 0x1a4 |
|
; |
POPLO,NEXT(FALLTHRU) |
| 0x1a5 |
|
; |
FROM_MDR(R_DP),NEXT(FALLTHRU) |
| 0x1a6 |
|
; |
POPHI,NEXT(FALLTHRU) |
| 0x1a7 |
|
; |
POPLO,NEXT(FALLTHRU) |
| 0x1a8 |
|
; |
FROM_MDR(R_C),NEXT(FALLTHRU) |
| 0x1a9 |
|
; |
POPHI,NEXT(FALLTHRU) |
| 0x1aa |
|
; |
POPLO,NEXT(FALLTHRU) |
| 0x1ab |
|
; |
FROM_MDR(R_B),NEXT(FALLTHRU) |
| 0x1ac |
|
; |
POPHI,NEXT(FALLTHRU) |
| 0x1ad |
|
; |
POPLO,NEXT(FALLTHRU) |
| 0x1ae |
|
; |
FROM_MDR(R_A),NEXT(FALLTHRU) |
| 0x1af |
|
; |
POPHI,NEXT(FALLTHRU) |
| 0x1b0 |
|
; |
POPLO,NEXT(FALLTHRU) |
| 0x1b1 |
|
; |
FROM_MDR(R_PC),NEXT(FALLTHRU) |
| 0x1b2 |
|
; |
POPHI,NEXT(FALLTHRU) |
| 0x1b3 |
|
; |
POPLO,NEXT(FALLTHRU) |
| 0x1b4 |
|
; |
TO_Z(R_MDR),MISC(M_COMMIT),NEXT(FALLTHRU) |
| 0x1b5 |
|
; |
POPHI,NEXT(FALLTHRU) |
| 0x1b6 |
|
; |
READLO,INC_TO_Z(R_MAR),L(R_SP,LWORD),NEXT(FALLTHRU) |
| 0x1b7 |
|
; |
TO_Z(R_MDR),L(R_MSW,LWORD),LMODE(1),LPAGING(1),MISC(M_LEI),NEXT(FALLTHRU) |
| 0x1b8 |
|
; |
TO_Z(R_TPC),L(R_SP,LWORD),NEXT(PCtoMAR) |
| 0x1b9 |
Syscall |
; |
TO_Z(R_MDR),L(R_A,LWORD),NEXT(FALLTHRU) |
| 0x1ba |
|
; |
MISC(M_SYSCALL),NEXT(Unreachable) |
| 0x1bb |
Ldcode8 |
; |
LDLO,NEXT(LdiA8) |
| 0x1bc |
Wdpte |
; |
E_L(R_A),MISC(M_LPTE),NEXT(PCtoMAR) |
| 0x1bd |
Shlb16 |
; |
E_L(R_B),E_R(ER_MDR),ALU(OP_ADD,WORD,NO_CARRY),L(R_B,LWORD),NEXT(Fetch) |
| 0x1be |
Shla16 |
; |
E_L(R_A),E_R(ER_MDR),ALU(OP_ADD,WORD,NO_CARRY),L(R_A,LWORD),NEXT(Fetch) |
| 0x1bf |
Aluop16_16 |
; |
LDIMMLO,NEXT(Aluop16) |
| 0x1c0 |
Cmpb16_16 |
; |
LDIMMLO,NEXT(Cmpb16) |
| 0x1c1 |
Cmp16_16 |
; |
LDIMMLO,NEXT(Cmp16) |
| 0x1c2 |
PCtoMAR |
; |
TO_Z(R_PC),CODE,NEXT(Fetch) |
| 0x1c3 |
Vshl |
; |
COMPARE_0(R_C),MISC(M_SET_FLAGS),NEXT(FALLTHRU) |
| 0x1c4 |
|
; |
CBR(B_NEGATED,FALLTHRU) |
| 0x1c5 |
|
; |
COMPARE_0(R_MDR),MISC(M_SET_FLAGS),NEXT(FALLTHRU) |
| 0x1c6 |
|
; |
CBR(B_NEGATED,FALLTHRU) |
| 0x1c7 |
|
; |
E_L(R_MDR),E_R(ER_MDR),ALU(OP_ADD,WORD,NO_CARRY),L(R_IR_REG,LWORD),NEXT(Bcopy2) |
| 0x1c8 |
Vshr |
; |
COMPARE_0(R_C),MISC(M_SET_FLAGS),NEXT(FALLTHRU) |
| 0x1c9 |
|
; |
CBR(B_NEGATED,FALLTHRU) |
| 0x1ca |
|
; |
COMPARE_0(R_MDR),MISC(M_SET_FLAGS),NEXT(FALLTHRU) |
| 0x1cb |
|
; |
CBR(B_NEGATED,FALLTHRU) |
| 0x1cc |
|
; |
TO_Z(R_MDR),MISC(M_RSHIFT),L(R_IR_REG,LWORD),NEXT(Bcopy2) |
| 0x1cd |
LeaAAB2 |
; |
E_R(ER_MDR),E_L(R_MDR),ALU(OP_ADD,WORD,NO_CARRY),L(R_MDR,LWORD),NEXT(FALLTHRU) |
| 0x1ce |
LeaA1 |
; |
E_R(ER_MDR),E_L(R_A),ALU(OP_ADD,WORD,NO_CARRY),L(R_A,LWORD),NEXT(Fetch) |
| 0x1cf |
LeaBBA2 |
; |
E_R(ER_MDR),E_L(R_MDR),ALU(OP_ADD,WORD,NO_CARRY),L(R_MDR,LWORD),NEXT(FALLTHRU) |
| 0x1d0 |
LeaB1 |
; |
E_R(ER_MDR),E_L(R_B),ALU(OP_ADD,WORD,NO_CARRY),L(R_B,LWORD),NEXT(Fetch) |
| 0x1d1 |
LeaABA2 |
; |
E_R(ER_MDR),E_L(R_MDR),ALU(OP_ADD,WORD,NO_CARRY),L(R_MDR,LWORD),NEXT(FALLTHRU) |
| 0x1d2 |
|
; |
E_R(ER_MDR),E_L(R_B),ALU(OP_ADD,WORD,NO_CARRY),L(R_A,LWORD),NEXT(Fetch) |
| 0x1d3 |
LeaBAB2 |
; |
E_R(ER_MDR),E_L(R_MDR),ALU(OP_ADD,WORD,NO_CARRY),L(R_MDR,LWORD),NEXT(FALLTHRU) |
| 0x1d4 |
|
; |
E_R(ER_MDR),E_L(R_A),ALU(OP_ADD,WORD,NO_CARRY),L(R_B,LWORD),NEXT(Fetch) |
| 0x1d5 |
CopyMSWA |
; |
TO_Z(R_A),L(R_MSW,LWORD),LMODE(1),LPAGING(1),MISC(M_LEI),NEXT(PCtoMAR) |
| 0x1d6 |
Strcopy |
; |
READLO,TO_Z(R_A),DATA,NEXT(FALLTHRU) |
| 0x1d7 |
|
; |
WRITELO,COMPARE8_0(R_MDR),MISC(M_SET_FLAGS),NEXT(FALLTHRU) |
| 0x1d8 |
|
; |
TO_Z(R_PC),CODE,NEXT(FALLTHRU) |
| 0x1d9 |
|
; |
INC_TO_Z(R_A),L(R_A,LWORD),NEXT(FALLTHRU) |
| 0x1da |
|
; |
INC_TO_Z(R_B),L(R_B,LWORD),CBR(B_NEGATED,BackupPC) |
| 0x1db |
LeaShort |
; |
GEN_ADDR(R_SP),L(R_IR_REG,LWORD),NEXT(Fetch) |
| 0x1dc |
Mcpy4 |
; |
READHI,INC_TO_Z(R_MAR),DATA,NEXT(FALLTHRU) |
| 0x1dd |
|
; |
READLO,TO_Z(R_B),DATA,NEXT(FALLTHRU) |
| 0x1de |
|
; |
TO_Z(R_MDR),L(R_C,LWORD),NEXT(FALLTHRU) |
| 0x1df |
|
; |
READHI,INC_TO_Z(R_MAR),DATA,NEXT(FALLTHRU) |
| 0x1e0 |
|
; |
READLO,TO_Z(R_A),DATA,NEXT(FALLTHRU) |
| 0x1e1 |
|
; |
WRITEHI,INC_TO_Z(R_MAR),DATA,NEXT(FALLTHRU) |
| 0x1e2 |
|
; |
WRITELO,INC_TO_Z(R_MAR),DATA,NEXT(FALLTHRU) |
| 0x1e3 |
|
; |
TO_Z(R_C),L(R_MDR,LWORD),NEXT(FALLTHRU) |
| 0x1e4 |
|
; |
WRITEHI,INC_TO_Z(R_MAR),DATA,NEXT(FALLTHRU) |
| 0x1e5 |
|
; |
WRITELO,INC_TO_Z(R_MAR),L(R_A,LWORD),NEXT(FALLTHRU) |
| 0x1e6 |
|
; |
INC2_TO_Z(R_B),L(R_B,LWORD),NEXT(FALLTHRU) |
| 0x1e7 |
|
; |
INC2_TO_Z(R_B),L(R_B,LWORD),NEXT(PCtoMAR) |
| 0x1e8 |
Mop16 |
; |
READLO,NEXT(FALLTHRU) |
| 0x1e9 |
|
; |
WRITELO,DEC_TO_Z(R_MAR),DATA,NEXT(FALLTHRU) |
| 0x1ea |
|
; |
READHI,NEXT(FALLTHRU) |
| 0x1eb |
|
; |
WRITEHI,TO_Z(R_MDR),L(R_C,LWORD),NEXT(FALLTHRU) |
| 0x1ec |
|
; |
DEC_TO_Z(R_B),DATA,NEXT(FALLTHRU) |
| 0x1ed |
|
; |
READLO,DEC_TO_Z(R_MAR),DATA,NEXT(FALLTHRU) |
| 0x1ee |
|
; |
READHI,TO_Z(R_MAR),L(R_B,LWORD),NEXT(FALLTHRU) |
| 0x1ef |
|
; |
E_L(R_C),E_R(ER_MDR),ALU(OP_IR13,WORD,NO_CARRY),L(R_MDR,LWORD),MISC(M_SET_FLAGS),NEXT(FALLTHRU) |
| 0x1f0 |
Mop16a |
; |
DEC_TO_Z(R_A),DATA,NEXT(FALLTHRU) |
| 0x1f1 |
|
; |
WRITELO,DEC_TO_Z(R_MAR),DATA,L(R_A,LWORD),NEXT(Whi) |
| 0x1f2 |
Mop16Carry |
; |
READLO,NEXT(FALLTHRU) |
| 0x1f3 |
|
; |
WRITELO,DEC_TO_Z(R_MAR),DATA,NEXT(FALLTHRU) |
| 0x1f4 |
|
; |
READHI,NEXT(FALLTHRU) |
| 0x1f5 |
|
; |
WRITEHI,TO_Z(R_MDR),L(R_C,LWORD),READHI,NEXT(FALLTHRU) |
| 0x1f6 |
|
; |
DEC_TO_Z(R_B),DATA,NEXT(FALLTHRU) |
| 0x1f7 |
|
; |
READLO,DEC_TO_Z(R_MAR),DATA,NEXT(FALLTHRU) |
| 0x1f8 |
|
; |
READHI,TO_Z(R_MAR),L(R_B,LWORD),NEXT(FALLTHRU) |
| 0x1f9 |
|
; |
E_L(R_C),E_R(ER_MDR),ALU(OP_IR13,WORD,CARRY_IN),L(R_MDR,LWORD),MISC(M_SET_FLAGS),NEXT(Mop16a) |
| 0x1fa |
ToSys1 |
; |
COMPARE_0(R_C),MISC(M_SET_FLAGS),NEXT(ToSys) |
| 0x1fb |
FromSys1 |
; |
COMPARE_0(R_C),MISC(M_SET_FLAGS),NEXT(FromSys) |
| 0x1fc |
|
; |
|
| 0x1fd |
|
; |
|
| 0x1fe |
Unreachable |
; |
NEXT(Unreachable) |
| 0x1ff |
UNUSABLE |
; |
|
| 0x200 |
Unreach_0x200 |
; |
NEXT(Unreach_0x200) |
| 0x201 |
next |
; |
EXT,TO_Z(R_DP),DATA,NEXT(Fnext) |
| 0x202 |
run |
; |
EXT,TO_Z(R_C),DATA,NEXT(Frun) |
| 0x203 |
inc DP |
; |
INC_TO_Z(R_DP),L(R_DP,LWORD),NEXT(Fetch) |
| 0x204 |
inc2 DP |
; |
INC2_TO_Z(R_DP),L(R_DP,LWORD),NEXT(Fetch) |
| 0x205 |
ldle.16
A,(B) |
; |
EXT,TO_Z(R_B),DATA,NEXT(Ldle16) |
| 0x206 |
ld.8 A,(DP++) |
; |
EXT,TO_Z(R_DP),DATA,NEXT(Auto8) |
| 0x207 |
ld.8 B,(DP++) |
; |
EXT,TO_Z(R_DP),DATA,NEXT(Auto8) |
| 0x208 |
copy B,DP |
; |
TO_Z(R_DP),L(R_B,LWORD),NEXT(Fetch) |
| 0x209 |
copy DP,C |
; |
TO_Z(R_C),L(R_DP,LWORD),NEXT(Fetch) |
| 0x20a |
copy FLAGS,A |
; |
TO_Z(R_A),L(R_MSW,LWORD),NEXT(Fetch) |
| 0x20b |
xor.16 DP,DP |
; |
ZERO_TO_Z,L(R_DP,LWORD),NEXT(Fetch) |
| 0x20c |
stle.16
(B),A |
; |
EXT,TO_Z(R_B),DATA,NEXT(Stle16) |
| 0x20d |
Unused_0x20d |
; |
DO_HALT,NEXT(Fetch) |
| 0x20e |
ld.16 A,(DP++) |
; |
EXT,TO_Z(R_DP),DATA,NEXT(Auto16) |
| 0x20f |
ld.16 B,(DP++) |
; |
EXT,TO_Z(R_DP),DATA,NEXT(Auto16) |
| 0x210 |
ld.8 A,(C) |
; |
TO_Z(R_C),DATA,NEXT(x13d) |
| 0x211 |
ld.16 A,(C) |
; |
TO_Z(R_C),DATA,NEXT(x143) |
| 0x212 |
ld.8 A,(DP) |
; |
TO_Z(R_DP),DATA,NEXT(x13d) |
| 0x213 |
ld.16 A,(DP) |
; |
TO_Z(R_DP),DATA,NEXT(x143) |
| 0x214 |
ld.8 A,[abs16] |
; |
EXT,LDIMMHI,NEXT(Ldabsa8) |
| 0x215 |
ld.8 B,[abs16] |
; |
EXT,LDIMMHI,NEXT(Ldabsb8) |
| 0x216 |
ld.16 A,[abs16] |
; |
EXT,LDIMMHI,NEXT(Ldabsa16) |
| 0x217 |
ld.16 B,[abs16] |
; |
EXT,LDIMMHI,NEXT(Ldabsb16) |
| 0x218 |
st.8 [abs16],A |
; |
EXT,LDIMMHI,NEXT(Stabsa8) |
| 0x219 |
st.8 [abs16],B |
; |
EXT,LDIMMHI,NEXT(Stabsb8) |
| 0x21a |
st.16 [abs16],A |
; |
EXT,LDIMMHI,NEXT(Stabsa16) |
| 0x21b |
st.16 [abs16],B |
; |
EXT,LDIMMHI,NEXT(Stabsb16) |
| 0x21c |
copy C,MSW |
; |
TO_Z(R_MSW),L(R_C,LWORD),NEXT(Fetch) |
| 0x21d |
copy FLAGS,C |
; |
TO_Z(R_C),L(R_MSW,LWORD),NEXT(Fetch) |
| 0x21e |
zext A |
; |
EXT,TO_Z(R_A),L(R_MDR,LWORD),NEXT(Zexta) |
| 0x21f |
zext B |
; |
EXT,TO_Z(R_B),L(R_MDR,LWORD),NEXT(Zextb) |
| 0x220 |
add.16 DP,A |
; |
EXT,TO_Z(R_A),L(R_MDR,LWORD),NEXT(Adddpa) |
| 0x221 |
st.16 [abs16],c |
; |
EXT,LDIMMHI,NEXT(Stabsc) |
| 0x222 |
ld.16 c,[abs16] |
; |
EXT,LDIMMHI,NEXT(Ldabsc) |
| 0x223 |
st.16 [abs16],dp |
; |
EXT,LDIMMHI,NEXT(Stabsdp) |
| 0x224 |
ld.16 dp,[abs16] |
; |
EXT,LDIMMHI,NEXT(Ldabsc) |
| 0x225 |
Unused_0x225 |
; |
DO_HALT,NEXT(Fetch) |
| 0x226 |
Unused_0x226 |
; |
DO_HALT,NEXT(Fetch) |
| 0x227 |
Unused_0x227 |
; |
DO_HALT,NEXT(Fetch) |
| 0x228 |
ldhi.8
A,#u16(DP) |
; |
EXT,LDIMMHI,NEXT(Ldhi8) |
| 0x229 |
ldhi.8
A,(B) |
; |
EXT,TO_Z(R_B),DATA,NEXT(Ldhi8a) |
| 0x22a |
Unused_0x22a |
; |
DO_HALT,NEXT(Fetch) |
| 0x22b |
Unused_0x22b |
; |
DO_HALT,NEXT(Fetch) |
| 0x22c |
Unused_0x22c |
; |
DO_HALT,NEXT(Fetch) |
| 0x22d |
Unused_0x22d |
; |
DO_HALT,NEXT(Fetch) |
| 0x22e |
ld.16 A,(C++) |
; |
EXT,TO_Z(R_C),DATA,NEXT(Auto16c) |
| 0x22f |
ld.16 B,(C++) |
; |
EXT,TO_Z(R_C),DATA,NEXT(Auto16c) |
| 0x230 |
sthi.8
#u16(DP),A |
; |
EXT,LDIMMHI,NEXT(Sthi8) |
| 0x231 |
sthi.8
(B),A |
; |
EXT,TO_Z(R_B),DATA,NEXT(Sthi8a) |
| 0x232 |
Unused_0x232 |
; |
DO_HALT,NEXT(Fetch) |
| 0x233 |
Unused_0x233 |
; |
DO_HALT,NEXT(Fetch) |
| 0x234 |
Unused_0x234 |
; |
DO_HALT,NEXT(Fetch) |
| 0x235 |
Unused_0x235 |
; |
DO_HALT,NEXT(Fetch) |
| 0x236 |
Unused_0x236 |
; |
DO_HALT,NEXT(Fetch) |
| 0x237 |
Unused_0x237 |
; |
DO_HALT,NEXT(Fetch) |
| 0x238 |
Unused_0x238 |
; |
DO_HALT,NEXT(Fetch) |
| 0x239 |
Unused_0x239 |
; |
DO_HALT,NEXT(Fetch) |
| 0x23a |
Unused_0x23a |
; |
DO_HALT,NEXT(Fetch) |
| 0x23b |
Unused_0x23b |
; |
DO_HALT,NEXT(Fetch) |
| 0x23c |
Unused_0x23c |
; |
DO_HALT,NEXT(Fetch) |
| 0x23d |
Unused_0x23d |
; |
DO_HALT,NEXT(Fetch) |
| 0x23e |
Unused_0x23e |
; |
DO_HALT,NEXT(Fetch) |
| 0x23f |
Unused_0x23f |
; |
DO_HALT,NEXT(Fetch) |
| 0x240 |
cmp.8 A,[abs16] |
; |
EXT,LDIMMHI,NEXT(Cmpabs8) |
| 0x241 |
zcf |
; |
EXT,E_L(R_MDR),E_R(ER_IMM),IMMVAL(IMM_NEG2),ALU(OP_SUB,BYTE,NO_CARRY),L(R_MDR,LBYTE),NEXT(Zcf) |
| 0x242 |
Unused_0x242 |
; |
DO_HALT,NEXT(Fetch) |
| 0x243 |
Unused_0x243 |
; |
DO_HALT,NEXT(Fetch) |
| 0x244 |
Unused_0x244 |
; |
DO_HALT,NEXT(Fetch) |
| 0x245 |
Unused_0x245 |
; |
DO_HALT,NEXT(Fetch) |
| 0x246 |
cpuid |
; |
E_L(R_MDR),E_R(ER_IMM),IMMVAL(IMM_1),ALU(OP_ADD,WORD,NO_CARRY),L(R_A,LWORD),NEXT(Fetch) |
| 0x247 |
Unused_0x247 |
; |
DO_HALT,NEXT(Fetch) |
| 0x248 |
cmp.16 A,[abs16] |
; |
EXT,LDIMMHI,NEXT(Cmpabs16) |
| 0x249 |
Unused_0x249 |
; |
DO_HALT,NEXT(Fetch) |
| 0x24a |
Unused_0x24a |
; |
DO_HALT,NEXT(Fetch) |
| 0x24b |
Unused_0x24b |
; |
DO_HALT,NEXT(Fetch) |
| 0x24c |
Unused_0x24c |
; |
DO_HALT,NEXT(Fetch) |
| 0x24d |
Unused_0x24d |
; |
DO_HALT,NEXT(Fetch) |
| 0x24e |
Unused_0x24e |
; |
DO_HALT,NEXT(Fetch) |
| 0x24f |
Unused_0x24f |
; |
DO_HALT,NEXT(Fetch) |
| 0x250 |
scf |
; |
EXT,E_L(R_MDR),E_R(ER_IMM),IMMVAL(IMM_NEG2),ALU(OP_SUB,BYTE,NO_CARRY),L(R_MDR,LBYTE),NEXT(UpdateCarry) |
| 0x251 |
Unused_0x251 |
; |
DO_HALT,NEXT(Fetch) |
| 0x252 |
Unused_0x252 |
; |
DO_HALT,NEXT(Fetch) |
| 0x253 |
Unused_0x253 |
; |
DO_HALT,NEXT(Fetch) |
| 0x254 |
Unused_0x254 |
; |
DO_HALT,NEXT(Fetch) |
| 0x255 |
Unused_0x255 |
; |
DO_HALT,NEXT(Fetch) |
| 0x256 |
Unused_0x256 |
; |
DO_HALT,NEXT(Fetch) |
| 0x257 |
Unused_0x257 |
; |
DO_HALT,NEXT(Fetch) |
| 0x258 |
Unused_0x258 |
; |
DO_HALT,NEXT(Fetch) |
| 0x259 |
Unused_0x259 |
; |
DO_HALT,NEXT(Fetch) |
| 0x25a |
Unused_0x25a |
; |
DO_HALT,NEXT(Fetch) |
| 0x25b |
Unused_0x25b |
; |
DO_HALT,NEXT(Fetch) |
| 0x25c |
Unused_0x25c |
; |
DO_HALT,NEXT(Fetch) |
| 0x25d |
Unused_0x25d |
; |
DO_HALT,NEXT(Fetch) |
| 0x25e |
Unused_0x25e |
; |
DO_HALT,NEXT(Fetch) |
| 0x25f |
Unused_0x25f |
; |
DO_HALT,NEXT(Fetch) |
| 0x260 |
Unused_0x260 |
; |
DO_HALT,NEXT(Fetch) |
| 0x261 |
Unused_0x261 |
; |
DO_HALT,NEXT(Fetch) |
| 0x262 |
Unused_0x262 |
; |
DO_HALT,NEXT(Fetch) |
| 0x263 |
Unused_0x263 |
; |
DO_HALT,NEXT(Fetch) |
| 0x264 |
Unused_0x264 |
; |
DO_HALT,NEXT(Fetch) |
| 0x265 |
Unused_0x265 |
; |
DO_HALT,NEXT(Fetch) |
| 0x266 |
Unused_0x266 |
; |
DO_HALT,NEXT(Fetch) |
| 0x267 |
Unused_0x267 |
; |
DO_HALT,NEXT(Fetch) |
| 0x268 |
Unused_0x268 |
; |
DO_HALT,NEXT(Fetch) |
| 0x269 |
Unused_0x269 |
; |
DO_HALT,NEXT(Fetch) |
| 0x26a |
Unused_0x26a |
; |
DO_HALT,NEXT(Fetch) |
| 0x26b |
Unused_0x26b |
; |
DO_HALT,NEXT(Fetch) |
| 0x26c |
Unused_0x26c |
; |
DO_HALT,NEXT(Fetch) |
| 0x26d |
Unused_0x26d |
; |
DO_HALT,NEXT(Fetch) |
| 0x26e |
Unused_0x26e |
; |
DO_HALT,NEXT(Fetch) |
| 0x26f |
Unused_0x26f |
; |
DO_HALT,NEXT(Fetch) |
| 0x270 |
Unused_0x270 |
; |
DO_HALT,NEXT(Fetch) |
| 0x271 |
Unused_0x271 |
; |
DO_HALT,NEXT(Fetch) |
| 0x272 |
Unused_0x272 |
; |
DO_HALT,NEXT(Fetch) |
| 0x273 |
Unused_0x273 |
; |
DO_HALT,NEXT(Fetch) |
| 0x274 |
Unused_0x274 |
; |
DO_HALT,NEXT(Fetch) |
| 0x275 |
Unused_0x275 |
; |
DO_HALT,NEXT(Fetch) |
| 0x276 |
Unused_0x276 |
; |
DO_HALT,NEXT(Fetch) |
| 0x277 |
Unused_0x277 |
; |
DO_HALT,NEXT(Fetch) |
| 0x278 |
Unused_0x278 |
; |
DO_HALT,NEXT(Fetch) |
| 0x279 |
Unused_0x279 |
; |
DO_HALT,NEXT(Fetch) |
| 0x27a |
Unused_0x27a |
; |
DO_HALT,NEXT(Fetch) |
| 0x27b |
Unused_0x27b |
; |
DO_HALT,NEXT(Fetch) |
| 0x27c |
Unused_0x27c |
; |
DO_HALT,NEXT(Fetch) |
| 0x27d |
Unused_0x27d |
; |
DO_HALT,NEXT(Fetch) |
| 0x27e |
adc.8
A,A |
; |
EXT,TO_Z(R_A),L(R_MDR,LBYTE),NEXT(Adc8) |
| 0x27f |
adc.8
A,B |
; |
EXT,TO_Z(R_B),L(R_MDR,LBYTE),NEXT(Adc8) |
| 0x280 |
Unused_0x280 |
; |
DO_HALT,NEXT(Fetch) |
| 0x281 |
Unused_0x281 |
; |
DO_HALT,NEXT(Fetch) |
| 0x282 |
Unused_0x282 |
; |
DO_HALT,NEXT(Fetch) |
| 0x283 |
Unused_0x283 |
; |
DO_HALT,NEXT(Fetch) |
| 0x284 |
Unused_0x284 |
; |
DO_HALT,NEXT(Fetch) |
| 0x285 |
Unused_0x285 |
; |
DO_HALT,NEXT(Fetch) |
| 0x286 |
Unused_0x286 |
; |
DO_HALT,NEXT(Fetch) |
| 0x287 |
Unused_0x287 |
; |
DO_HALT,NEXT(Fetch) |
| 0x288 |
Unused_0x288 |
; |
DO_HALT,NEXT(Fetch) |
| 0x289 |
Unused_0x289 |
; |
DO_HALT,NEXT(Fetch) |
| 0x28a |
Unused_0x28a |
; |
DO_HALT,NEXT(Fetch) |
| 0x28b |
trapo |
; |
MISC(M_TRAPO),NEXT(Fetch) |
| 0x28c |
Unused_0x28c |
; |
DO_HALT,NEXT(Fetch) |
| 0x28d |
Unused_0x28d |
; |
DO_HALT,NEXT(Fetch) |
| 0x28e |
Unused_0x28e |
; |
DO_HALT,NEXT(Fetch) |
| 0x28f |
Unused_0x28f |
; |
DO_HALT,NEXT(Fetch) |
| 0x290 |
cmpb.eq.8 A,[abs16],#d8 |
; |
EXT,LDIMMHI,NEXT(Xcmpb8) |
| 0x291 |
Unused_0x291 |
; |
DO_HALT,NEXT(Fetch) |
| 0x292 |
Unused_0x292 |
; |
DO_HALT,NEXT(Fetch) |
| 0x293 |
Unused_0x293 |
; |
DO_HALT,NEXT(Fetch) |
| 0x294 |
Unused_0x294 |
; |
DO_HALT,NEXT(Fetch) |
| 0x295 |
Unused_0x295 |
; |
DO_HALT,NEXT(Fetch) |
| 0x296 |
Unused_0x296 |
; |
DO_HALT,NEXT(Fetch) |
| 0x297 |
Unused_0x297 |
; |
DO_HALT,NEXT(Fetch) |
| 0x298 |
cmpb.eq.16 A,[abs16],#d8 |
; |
EXT,LDIMMHI,NEXT(Xcmpb16) |
| 0x299 |
Unused_0x299 |
; |
DO_HALT,NEXT(Fetch) |
| 0x29a |
Unused_0x29a |
; |
DO_HALT,NEXT(Fetch) |
| 0x29b |
Unused_0x29b |
; |
DO_HALT,NEXT(Fetch) |
| 0x29c |
Unused_0x29c |
; |
DO_HALT,NEXT(Fetch) |
| 0x29d |
Unused_0x29d |
; |
DO_HALT,NEXT(Fetch) |
| 0x29e |
Unused_0x29e |
; |
DO_HALT,NEXT(Fetch) |
| 0x29f |
Unused_0x29f |
; |
DO_HALT,NEXT(Fetch) |
| 0x2a0 |
cmpb.lt.8 A,[abs16],#d8 |
; |
EXT,LDIMMHI,NEXT(Xcmpb8) |
| 0x2a1 |
Unused_0x2a1 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2a2 |
Unused_0x2a2 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2a3 |
Unused_0x2a3 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2a4 |
Unused_0x2a4 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2a5 |
Unused_0x2a5 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2a6 |
Unused_0x2a6 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2a7 |
Unused_0x2a7 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2a8 |
cmpb.lt.16 A,[abs16],#d8 |
; |
EXT,LDIMMHI,NEXT(Xcmpb16) |
| 0x2a9 |
Unused_0x2a9 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2aa |
Unused_0x2aa |
; |
DO_HALT,NEXT(Fetch) |
| 0x2ab |
Unused_0x2ab |
; |
DO_HALT,NEXT(Fetch) |
| 0x2ac |
Unused_0x2ac |
; |
DO_HALT,NEXT(Fetch) |
| 0x2ad |
Unused_0x2ad |
; |
DO_HALT,NEXT(Fetch) |
| 0x2ae |
Unused_0x2ae |
; |
DO_HALT,NEXT(Fetch) |
| 0x2af |
Unused_0x2af |
; |
DO_HALT,NEXT(Fetch) |
| 0x2b0 |
cmpb.le.8 A,[abs16],#d8 |
; |
EXT,LDIMMHI,NEXT(Xcmpb8) |
| 0x2b1 |
Unused_0x2b1 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2b2 |
Unused_0x2b2 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2b3 |
Unused_0x2b3 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2b4 |
Unused_0x2b4 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2b5 |
Unused_0x2b5 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2b6 |
Unused_0x2b6 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2b7 |
Unused_0x2b7 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2b8 |
cmpb.le.16 A,[abs16],#d8 |
; |
EXT,LDIMMHI,NEXT(Xcmpb16) |
| 0x2b9 |
Unused_0x2b9 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2ba |
Unused_0x2ba |
; |
DO_HALT,NEXT(Fetch) |
| 0x2bb |
Unused_0x2bb |
; |
DO_HALT,NEXT(Fetch) |
| 0x2bc |
Unused_0x2bc |
; |
DO_HALT,NEXT(Fetch) |
| 0x2bd |
Unused_0x2bd |
; |
DO_HALT,NEXT(Fetch) |
| 0x2be |
Unused_0x2be |
; |
DO_HALT,NEXT(Fetch) |
| 0x2bf |
Unused_0x2bf |
; |
DO_HALT,NEXT(Fetch) |
| 0x2c0 |
Unused_0x2c0 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2c1 |
Unused_0x2c1 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2c2 |
Unused_0x2c2 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2c3 |
Unused_0x2c3 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2c4 |
Unused_0x2c4 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2c5 |
Unused_0x2c5 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2c6 |
ccf |
; |
EXT,E_L(R_MDR),E_R(ER_IMM),IMMVAL(IMM_NEG2),ALU(OP_SUB,BYTE,NO_CARRY),L(R_MDR,LBYTE),NEXT(UpdateCarry) |
| 0x2c7 |
xor.8
A,B |
; |
TO_Z(R_B),L(R_MDR,LWORD),NEXT(Aluop8) |
| 0x2c8 |
Unused_0x2c8 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2c9 |
Unused_0x2c9 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2ca |
Unused_0x2ca |
; |
DO_HALT,NEXT(Fetch) |
| 0x2cb |
Unused_0x2cb |
; |
DO_HALT,NEXT(Fetch) |
| 0x2cc |
Unused_0x2cc |
; |
DO_HALT,NEXT(Fetch) |
| 0x2cd |
Unused_0x2cd |
; |
DO_HALT,NEXT(Fetch) |
| 0x2ce |
Unused_0x2ce |
; |
DO_HALT,NEXT(Fetch) |
| 0x2cf |
Unused_0x2cf |
; |
DO_HALT,NEXT(Fetch) |
| 0x2d0 |
Unused_0x2d0 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2d1 |
Unused_0x2d1 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2d2 |
Unused_0x2d2 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2d3 |
Unused_0x2d3 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2d4 |
Unused_0x2d4 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2d5 |
Unused_0x2d5 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2d6 |
Unused_0x2d6 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2d7 |
Unused_0x2d7 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2d8 |
Unused_0x2d8 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2d9 |
Unused_0x2d9 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2da |
Unused_0x2da |
; |
DO_HALT,NEXT(Fetch) |
| 0x2db |
Unused_0x2db |
; |
DO_HALT,NEXT(Fetch) |
| 0x2dc |
Unused_0x2dc |
; |
DO_HALT,NEXT(Fetch) |
| 0x2dd |
Unused_0x2dd |
; |
DO_HALT,NEXT(Fetch) |
| 0x2de |
Unused_0x2de |
; |
DO_HALT,NEXT(Fetch) |
| 0x2df |
Unused_0x2df |
; |
DO_HALT,NEXT(Fetch) |
| 0x2e0 |
Unused_0x2e0 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2e1 |
Unused_0x2e1 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2e2 |
Unused_0x2e2 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2e3 |
Unused_0x2e3 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2e4 |
Unused_0x2e4 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2e5 |
Unused_0x2e5 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2e6 |
Unused_0x2e6 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2e7 |
Unused_0x2e7 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2e8 |
Unused_0x2e8 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2e9 |
Unused_0x2e9 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2ea |
Unused_0x2ea |
; |
DO_HALT,NEXT(Fetch) |
| 0x2eb |
Unused_0x2eb |
; |
DO_HALT,NEXT(Fetch) |
| 0x2ec |
Unused_0x2ec |
; |
DO_HALT,NEXT(Fetch) |
| 0x2ed |
sbc.8
A,B |
; |
EXT,TO_Z(R_B),L(R_MDR,LBYTE),NEXT(Sbc8) |
| 0x2ee |
Unused_0x2ee |
; |
DO_HALT,NEXT(Fetch) |
| 0x2ef |
Unused_0x2ef |
; |
DO_HALT,NEXT(Fetch) |
| 0x2f0 |
cmpb.ne.8 A,[abs16],#d8 |
; |
EXT,LDIMMHI,NEXT(Xcmpb8) |
| 0x2f1 |
exch A,C |
; |
EXT,TO_Z(R_A),L(R_MDR,LWORD),NEXT(ExchAC) |
| 0x2f2 |
exch B,C |
; |
EXT,TO_Z(R_C),L(R_MDR,LWORD),NEXT(ExchBC) |
| 0x2f3 |
exch A,B |
; |
EXT,TO_Z(R_A),L(R_MDR,LWORD),NEXT(ExchAB) |
| 0x2f4 |
Unused_0x2f4 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2f5 |
Unused_0x2f5 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2f6 |
Unused_0x2f6 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2f7 |
Unused_0x2f7 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2f8 |
cmpb.ne.16 A,[abs16],#d8 |
; |
EXT,LDIMMHI,NEXT(Xcmpb16) |
| 0x2f9 |
Unused_0x2f9 |
; |
DO_HALT,NEXT(Fetch) |
| 0x2fa |
Unused_0x2fa |
; |
DO_HALT,NEXT(Fetch) |
| 0x2fb |
Unused_0x2fb |
; |
DO_HALT,NEXT(Fetch) |
| 0x2fc |
Unused_0x2fc |
; |
DO_HALT,NEXT(Fetch) |
| 0x2fd |
Unused_0x2fd |
; |
DO_HALT,NEXT(Fetch) |
| 0x2fe |
Unused_0x2fe |
; |
DO_HALT,NEXT(Fetch) |
| 0x2ff |
Unused_0x2ff |
; |
DO_HALT,NEXT(Fetch) |
| 0x300 |
|
; |
|
| 0x301 |
ExchAB |
; |
EXT,TO_Z(R_B),L(R_A,LWORD),NEXT(FALLTHRU) |
| 0x302 |
ExchToB |
; |
TO_Z(R_MDR),L(R_B,LWORD),NEXT(Fetch) |
| 0x303 |
ExchBC |
; |
EXT,TO_Z(R_B),L(R_C,LWORD),NEXT(ExchToB) |
| 0x304 |
ExchAC |
; |
EXT,TO_Z(R_C),L(R_A,LWORD),NEXT(FALLTHRU) |
| 0x305 |
ExchToC |
; |
TO_Z(R_MDR),L(R_C,LWORD),NEXT(Fetch) |
| 0x306 |
UpdateCarry |
; |
E_L(R_MSW),E_R(ER_MDR),ALU(OP_IR13,WORD,NO_CARRY),L(R_MSW,LWORD),NEXT(Fetch) |
| 0x307 |
Fnext |
; |
EXT,READHI,INC_TO_Z(R_MAR),DATA,NEXT(FALLTHRU) |
| 0x308 |
|
; |
EXT,READLO,INC_TO_Z(R_MAR),L(R_DP,LWORD),NEXT(FALLTHRU) |
| 0x309 |
|
; |
EXT,TO_Z(R_MDR),DATA,NEXT(FALLTHRU) |
| 0x30a |
Frun |
; |
EXT,READHI,INC_TO_Z(R_MAR),DATA,NEXT(FALLTHRU) |
| 0x30b |
|
; |
EXT,READLO,INC_TO_Z(R_MAR),L(R_C,LWORD),NEXT(FALLTHRU) |
| 0x30c |
|
; |
TO_Z(R_MDR),L(R_PC,LWORD),CODE,NEXT(Fetch) |
| 0x30d |
Auto8 |
; |
EXT,READLO,INC_TO_Z(R_MAR),L(R_DP,LWORD),NEXT(FALLTHRU) |
| 0x30e |
|
; |
TO_Z(R_MDR),L(R_IR_REG,LBYTE),NEXT(PCtoMAR) |
| 0x30f |
Auto16 |
; |
EXT,LDHI,NEXT(FALLTHRU) |
| 0x310 |
|
; |
EXT,READLO,INC_TO_Z(R_MAR),L(R_DP,LWORD),NEXT(FALLTHRU) |
| 0x311 |
Auto16x |
; |
TO_Z(R_MDR),L(R_IR_REG,LWORD),NEXT(PCtoMAR) |
| 0x312 |
Ldabsa8 |
; |
EXT,LDIMMLO,NEXT(FALLTHRU) |
| 0x313 |
|
; |
TO_Z(R_MDR),DATA,NEXT(x13d) |
| 0x314 |
Ldabsb8 |
; |
EXT,LDIMMLO,NEXT(FALLTHRU) |
| 0x315 |
|
; |
TO_Z(R_MDR),DATA,NEXT(x140) |
| 0x316 |
Ldabsa16 |
; |
EXT,LDIMMLO,NEXT(FALLTHRU) |
| 0x317 |
|
; |
TO_Z(R_MDR),DATA,NEXT(x143) |
| 0x318 |
Ldabsb16 |
; |
EXT,LDIMMLO,NEXT(FALLTHRU) |
| 0x319 |
|
; |
TO_Z(R_MDR),DATA,NEXT(x147) |
| 0x31a |
Stabsa8 |
; |
EXT,LDIMMLO,NEXT(FALLTHRU) |
| 0x31b |
|
; |
TO_Z(R_MDR),DATA,NEXT(x14b) |
| 0x31c |
Stabsb8 |
; |
EXT,LDIMMLO,NEXT(FALLTHRU) |
| 0x31d |
|
; |
TO_Z(R_MDR),DATA,NEXT(x153) |
| 0x31e |
Stabsa16 |
; |
EXT,LDIMMLO,NEXT(FALLTHRU) |
| 0x31f |
|
; |
TO_Z(R_MDR),DATA,NEXT(x14f) |
| 0x320 |
Stabsb16 |
; |
EXT,LDIMMLO,NEXT(FALLTHRU) |
| 0x321 |
|
; |
TO_Z(R_MDR),DATA,NEXT(x156) |
| 0x322 |
Cmpabs16 |
; |
EXT,LDIMMLO,NEXT(FALLTHRU) |
| 0x323 |
|
; |
TO_Z(R_MDR),DATA,NEXT(x11e) |
| 0x324 |
Cmpabs8 |
; |
EXT,LDIMMLO,NEXT(FALLTHRU) |
| 0x325 |
|
; |
TO_Z(R_MDR),DATA,NEXT(x11a) |
| 0x326 |
Zexta |
; |
EXT,E_L(R_A),E_R(ER_IMM),IMMVAL(IMM_0),ALU(OP_AND,WORD,NO_CARRY),L(R_A,LWORD),NEXT(FALLTHRU) |
| 0x327 |
|
; |
TO_Z(R_MDR),L(R_A,LBYTE),NEXT(Fetch) |
| 0x328 |
Zextb |
; |
EXT,E_L(R_B),E_R(ER_IMM),IMMVAL(IMM_0),ALU(OP_AND,WORD,NO_CARRY),L(R_B,LWORD),NEXT(FALLTHRU) |
| 0x329 |
|
; |
TO_Z(R_MDR),L(R_B,LBYTE),NEXT(Fetch) |
| 0x32a |
Adddpa |
; |
E_L(R_DP),E_R(ER_MDR),ALU(OP_ADD,WORD,NO_CARRY),L(R_DP,LWORD),NEXT(Fetch) |
| 0x32b |
Xcmpb8 |
; |
EXT,LDIMMLO,NEXT(FALLTHRU) |
| 0x32c |
|
; |
TO_Z(R_MDR),DATA,NEXT(X123) |
| 0x32d |
Xcmpb16 |
; |
EXT,LDIMMLO,NEXT(FALLTHRU) |
| 0x32e |
|
; |
TO_Z(R_MDR),DATA,NEXT(X127) |
| 0x32f |
Stabsc |
; |
EXT,LDIMMLO,NEXT(FALLTHRU) |
| 0x330 |
|
; |
EXT,TO_Z(R_MDR),DATA,NEXT(FALLTHRU) |
| 0x331 |
|
; |
TO_Z(R_C),L(R_MDR,LWORD),NEXT(Shi) |
| 0x332 |
Stabsdp |
; |
EXT,LDIMMLO,NEXT(FALLTHRU) |
| 0x333 |
|
; |
EXT,TO_Z(R_MDR),DATA,NEXT(FALLTHRU) |
| 0x334 |
|
; |
TO_Z(R_DP),L(R_MDR,LWORD),NEXT(Shi) |
| 0x335 |
Ldabsc |
; |
EXT,LDIMMLO,NEXT(FALLTHRU) |
| 0x336 |
|
; |
EXT,TO_Z(R_MDR),DATA,NEXT(FALLTHRU) |
| 0x337 |
|
; |
EXT,LDHI,DATA,NEXT(FALLTHRU) |
| 0x338 |
|
; |
EXT,LDLO,DATA,NEXT(FALLTHRU) |
| 0x339 |
|
; |
TO_Z(R_MDR),L(R_IR_REG,LWORD),NEXT(Fetch) |
| 0x33a |
Auto16c |
; |
EXT,LDHI,NEXT(FALLTHRU) |
| 0x33b |
|
; |
EXT,READLO,INC_TO_Z(R_MAR),L(R_C,LWORD),NEXT(Auto16x) |
| 0x33c |
Adc8 |
; |
E_L(R_A),E_R(ER_MDR),ALU(OP_ADD,BYTE,CARRY_IN),L(R_A,LBYTE),MISC(M_SET_FLAGS),NEXT(Fetch) |
| 0x33d |
Sbc8 |
; |
E_L(R_A),E_R(ER_MDR),ALU(OP_SUB,BYTE,CARRY_IN),L(R_A,LBYTE),MISC(M_SET_FLAGS),NEXT(Fetch) |
| 0x33e |
Ldle16 |
; |
EXT,READLO,INC_TO_Z(R_MAR),DATA,NEXT(FALLTHRU) |
| 0x33f |
|
; |
READHI,TO_Z(R_PC),CODE,NEXT(LdiA16) |
| 0x340 |
Stle16 |
; |
EXT,TO_Z(R_A),L(R_MDR,LWORD),NEXT(FALLTHRU) |
| 0x341 |
|
; |
EXT,WRITELO,INC_TO_Z(R_MAR),DATA,NEXT(FALLTHRU) |
| 0x342 |
|
; |
WRITEHI,TO_Z(R_PC),CODE,NEXT(Fetch) |
| 0x343 |
Zcf |
; |
EXT,E_L(R_MDR),E_R(ER_IMM),IMMVAL(IMM_NEG1),ALU(OP_IR13,BYTE,NO_CARRY),L(R_MDR,LBYTE),NEXT(FALLTHRU) |
| 0x344 |
|
; |
E_L(R_MSW),E_R(ER_MDR),ALU(OP_AND,BYTE,NO_CARRY),L(R_MSW,LWORD),NEXT(Fetch) |
| 0x345 |
Ldhi8 |
; |
EXT,LDIMMLO,NEXT(FALLTHRU) |
| 0x346 |
|
; |
EXT,GEN_ADDR(R_IR_BASE),DATA,NEXT(FALLTHRU) |
| 0x347 |
Ldhi8a |
; |
EXT,TO_Z(R_A),L(R_MDR,LWORD),NEXT(FALLTHRU) |
| 0x348 |
|
; |
READHI,TO_Z(R_PC),CODE,NEXT(LdiA16) |
| 0x349 |
Sthi8 |
; |
EXT,LDIMMLO,NEXT(FALLTHRU) |
| 0x34a |
|
; |
EXT,GEN_ADDR(R_IR_BASE),DATA,NEXT(FALLTHRU) |
| 0x34b |
Sthi8a |
; |
EXT,TO_Z(R_A),L(R_MDR,LWORD),NEXT(FALLTHRU) |
| 0x34c |
|
; |
WRITEHI,TO_Z(R_PC),CODE,NEXT(Fetch) |
| 0x34d |
|
; |
|
| 0x34e |
|
; |
|
| 0x34f |
|
; |
|
| 0x350 |
|
; |
|
| 0x351 |
|
; |
|
| 0x352 |
|
; |
|
| 0x353 |
|
; |
|
| 0x354 |
|
; |
|
| 0x355 |
|
; |
|
| 0x356 |
|
; |
|
| 0x357 |
|
; |
|
| 0x358 |
|
; |
|
| 0x359 |
|
; |
|
| 0x35a |
|
; |
|
| 0x35b |
|
; |
|
| 0x35c |
|
; |
|
| 0x35d |
|
; |
|
| 0x35e |
|
; |
|
| 0x35f |
|
; |
|
| 0x360 |
|
; |
|
| 0x361 |
|
; |
|
| 0x362 |
|
; |
|
| 0x363 |
|
; |
|
| 0x364 |
|
; |
|
| 0x365 |
|
; |
|
| 0x366 |
|
; |
|
| 0x367 |
|
; |
|
| 0x368 |
|
; |
|
| 0x369 |
|
; |
|
| 0x36a |
|
; |
|
| 0x36b |
|
; |
|
| 0x36c |
|
; |
|
| 0x36d |
|
; |
|
| 0x36e |
|
; |
|
| 0x36f |
|
; |
|
| 0x370 |
|
; |
|
| 0x371 |
|
; |
|
| 0x372 |
|
; |
|
| 0x373 |
|
; |
|
| 0x374 |
|
; |
|
| 0x375 |
|
; |
|
| 0x376 |
|
; |
|
| 0x377 |
|
; |
|
| 0x378 |
|
; |
|
| 0x379 |
|
; |
|
| 0x37a |
|
; |
|
| 0x37b |
|
; |
|
| 0x37c |
|
; |
|
| 0x37d |
|
; |
|
| 0x37e |
|
; |
|
| 0x37f |
|
; |
|
| 0x380 |
|
; |
|
| 0x381 |
|
; |
|
| 0x382 |
|
; |
|
| 0x383 |
|
; |
|
| 0x384 |
|
; |
|
| 0x385 |
|
; |
|
| 0x386 |
|
; |
|
| 0x387 |
|
; |
|
| 0x388 |
|
; |
|
| 0x389 |
|
; |
|
| 0x38a |
|
; |
|
| 0x38b |
|
; |
|
| 0x38c |
|
; |
|
| 0x38d |
|
; |
|
| 0x38e |
|
; |
|
| 0x38f |
|
; |
|
| 0x390 |
|
; |
|
| 0x391 |
|
; |
|
| 0x392 |
|
; |
|
| 0x393 |
|
; |
|
| 0x394 |
|
; |
|
| 0x395 |
|
; |
|
| 0x396 |
|
; |
|
| 0x397 |
|
; |
|
| 0x398 |
|
; |
|
| 0x399 |
|
; |
|
| 0x39a |
|
; |
|
| 0x39b |
|
; |
|
| 0x39c |
|
; |
|
| 0x39d |
|
; |
|
| 0x39e |
|
; |
|
| 0x39f |
|
; |
|
| 0x3a0 |
|
; |
|
| 0x3a1 |
|
; |
|
| 0x3a2 |
|
; |
|
| 0x3a3 |
|
; |
|
| 0x3a4 |
|
; |
|
| 0x3a5 |
|
; |
|
| 0x3a6 |
|
; |
|
| 0x3a7 |
|
; |
|
| 0x3a8 |
|
; |
|
| 0x3a9 |
|
; |
|
| 0x3aa |
|
; |
|
| 0x3ab |
|
; |
|
| 0x3ac |
|
; |
|
| 0x3ad |
|
; |
|
| 0x3ae |
|
; |
|
| 0x3af |
|
; |
|
| 0x3b0 |
|
; |
|
| 0x3b1 |
|
; |
|
| 0x3b2 |
|
; |
|
| 0x3b3 |
|
; |
|
| 0x3b4 |
|
; |
|
| 0x3b5 |
|
; |
|
| 0x3b6 |
|
; |
|
| 0x3b7 |
|
; |
|
| 0x3b8 |
|
; |
|
| 0x3b9 |
|
; |
|
| 0x3ba |
|
; |
|
| 0x3bb |
|
; |
|
| 0x3bc |
|
; |
|
| 0x3bd |
|
; |
|
| 0x3be |
|
; |
|
| 0x3bf |
|
; |
|
| 0x3c0 |
|
; |
|
| 0x3c1 |
|
; |
|
| 0x3c2 |
|
; |
|
| 0x3c3 |
|
; |
|
| 0x3c4 |
|
; |
|
| 0x3c5 |
|
; |
|
| 0x3c6 |
|
; |
|
| 0x3c7 |
|
; |
|
| 0x3c8 |
|
; |
|
| 0x3c9 |
|
; |
|
| 0x3ca |
|
; |
|
| 0x3cb |
|
; |
|
| 0x3cc |
|
; |
|
| 0x3cd |
|
; |
|
| 0x3ce |
|
; |
|
| 0x3cf |
|
; |
|
| 0x3d0 |
|
; |
|
| 0x3d1 |
|
; |
|
| 0x3d2 |
|
; |
|
| 0x3d3 |
|
; |
|
| 0x3d4 |
|
; |
|
| 0x3d5 |
|
; |
|
| 0x3d6 |
|
; |
|
| 0x3d7 |
|
; |
|
| 0x3d8 |
|
; |
|
| 0x3d9 |
|
; |
|
| 0x3da |
|
; |
|
| 0x3db |
|
; |
|
| 0x3dc |
|
; |
|
| 0x3dd |
|
; |
|
| 0x3de |
|
; |
|
| 0x3df |
|
; |
|
| 0x3e0 |
|
; |
|
| 0x3e1 |
|
; |
|
| 0x3e2 |
|
; |
|
| 0x3e3 |
|
; |
|
| 0x3e4 |
|
; |
|
| 0x3e5 |
|
; |
|
| 0x3e6 |
|
; |
|
| 0x3e7 |
|
; |
|
| 0x3e8 |
|
; |
|
| 0x3e9 |
|
; |
|
| 0x3ea |
|
; |
|
| 0x3eb |
|
; |
|
| 0x3ec |
|
; |
|
| 0x3ed |
|
; |
|
| 0x3ee |
|
; |
|
| 0x3ef |
|
; |
|
| 0x3f0 |
|
; |
|
| 0x3f1 |
|
; |
|
| 0x3f2 |
|
; |
|
| 0x3f3 |
|
; |
|
| 0x3f4 |
|
; |
|
| 0x3f5 |
|
; |
|
| 0x3f6 |
|
; |
|
| 0x3f7 |
|
; |
|
| 0x3f8 |
|
; |
|
| 0x3f9 |
|
; |
|
| 0x3fa |
|
; |
|
| 0x3fb |
|
; |
|
| 0x3fc |
|
; |
|
| 0x3fd |
|
; |
|
| 0x3fe |
|
; |
|
| 0x3ff |
|
; |
|
//
ENDPREPROCESS prombits.h

|