5
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 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

MH6111 OPCODES (1)

Embed Size (px)

DESCRIPTION

opcodes mh6111

Citation preview

Page 1: MH6111 OPCODES (1)

00 TEST 1 * TEST OPERATION TEST MODE ONLY01 NOP 1 2 NO OPERATION02 AIM DIR 3 ? AND IN MEMORY03 OIM DIR 3 ? OR IN MEMORY04 LSRD 1 3 LOGICAL SHIFT RIGHT DOUBLE ACCUMULATOR05 ASLD / LSLD 1 3 ARITHMETIC / LOGICAL SHIFT LEFT DOUBLE ACC06 TAP 1 2 TRANSFER FROM ACC A TO CONDITION CODE REGISTER07 TPA 1 2 TRANSFER FROM CONDITION CODE REGISTER TO ACC A08 INX 1 3 INCREMENT INDEX REGISTER X09 DEX 1 3 DECREMENT INDEX REGISTER X0A CLV 1 2 CLEAR TWOS COMPLEMENT OVERFLOW BIT0B SEV 1 2 SET TWOS COMPLEMENT OVERFLOW BIT0C CLC 1 2 CLEAR CARRY0D SEC 1 2 SET CARRY0E CLI 1 2 CLEAR INTERRUPT MASK0F SEI 1 2 SET INTERRUPT MASK

10 SBA 1 2 SUBTRACT ACCUMULATORS11 CBA 1 2 COMPARE ACCUMULATORS14 IDIV DIR 2 6 INTEGER DIVIDE15 FDIV DIR 2 6 FRACTIONAL DIVIDE16 TAB 1 2 TRANSFER ACCUMULATOR A TO ACCUMULATOR B17 TBA 1 2 TRANSFER FROM ACCUMULATOR B TO ACCUMULATOR A18 XGXY 1 4 EXCHANGE REGISTER X AND REGISTER Y19 DAA 1 2 DECIMAL ADJUST ACCUMULATOR A1A XGDX 1 EXCHANGE DOUBLE ACCUMLATOR AND INDEX REG X1B ABA 1 2 ADD ACCUMULATOR B TO ACCUMULATOR A1C CPD IMM 3 5 COMPARE DOUBLE ACCUMULATOR1D CPD DIR 2 6 COMPARE DOUBLE ACCUMULATOR1F CPD EXT 3 7 COMPARE DOUBLE ACCUMULATOR

20 BRA 2 3 BRANCH ALWAYS21 BRN 2 3 BRANCH NEVER22 BHI 2 3 BRANCH IF HIGHER23 BLS 2 3 BRANCH IF LOWER OR SAME24 BCC / BHS 2 3 BRANCH IF CARRY CLR / BRANCH IF HIGHER OR SAME25 BCS / BLO 2 3 BRANCH IF CARRY SET / BRANCH IF LOWER26 BNE 2 3 BRANCH IF NOT EQUAL TO ZERO27 BEQ 2 3 BRANCH IF EQUAL28 BVC 2 3 BRANCH IF OVERFLOW CLEAR29 BVS 2 3 BRANCH IF OVERFLOW SET2A BPL 2 3 BRANCH IF PLUS2B BMI 2 3 BRANCH IF MINUS2C BGE 2 3 BRANCH IF GREATER THAN OR EQUAL TO ZERO2D BLT 2 3 BRANCH IF LESS THAN ZERO2E BGT 2 3 BRANCH IF GREATER THAN ZERO2F BLE 2 3 BRANCH IF LESS THAN OR EQUAL TO ZERO

30 TSX 1 3 TRANSFER FROM STACK POINTER TO INDEX REGISTER X31 INS 1 3 INCREMENT STACK POINTER32 PULA 1 4 PULL DATA FROM STACK33 PULB 1 4 PULL DATA FROM STACK34 DES 1 3 DECREMENT STACK POINTER35 TXS 1 3 TRANSFER FROM INDEX REGISTER X TO STACK POINTER36 PSHA 1 3 PUSH DATA ONTO STACK37 PSHB 1 3 PUSH DATA ONTO STACK38 PULX 1 5 PULL INDEX REGISTER X FROM STACK39 RTS 1 5 RETURN FROM SUBROUTINE3A ABX 1 3 ADD ACCUMULATOR B TO INDEX REGISTER X3B RTI 1 12 RETURN FROM INTERRUPT

Page 2: MH6111 OPCODES (1)

3C PSHX 1 4 PUSH INDEX REGISTER X ONTO STACK3D MUL 1 10 MULTIPLY UNSIGNED3E WAI 1 14 WAIT FOR INTERRUPT3F SWI 1 14 SOFTWARE INTERRUPT

40 NEGA 1 2 NEGATE43 COMA 1 2 COMPLEMENT44 LSRA 1 2 LOGICAL SHIFT RIGHT46 RORA 1 2 ROTATE RIGHT47 ASRA 1 2 ARITHMETIC SHIFT RIGHT48 ASLA / LSLA 1 2 ARITHMETIC / LOGICAL SHIFT LEFT49 ROLA 1 2 ROTATE LEFT4A DECA 1 2 DECREMENT4C INCA 1 2 INCREMENT4D TSTA 1 2 TEST4F CLRA 1 2 CLEAR

50 NEGB 1 2 NEGATE53 COMB 1 2 COMPLEMENT54 LSRB 1 2 LOGICAL SHIFT RIGHT56 RORB 1 2 ROTATE RIGHT57 ASRB 1 2 ARITHMETIC SHIFT RIGHT58 ASLB / LSLB 1 2 ARITHMETIC / LOGICAL SHIFT LEFT59 ROLB 1 2 ROTATE LEFT5A DECB 1 2 DECREMENT5C INCB 1 2 INCREMENT5D TSTB 1 2 TEST5F CLRB 1 2 CLEAR

60 NEG IND,X 2 6 NEGATE63 COM IND,X 2 6 COMPLEMENT64 LSR IND,X 2 6 LOGICAL SHIFT RIGHT66 ROR IND,X 2 6 ROTATE RIGHT67 ASR IND,X 2 6 ARITHMETIC SHIFT RIGHT68 ASL / LSL IND,X 2 6 ARITHMETIC / LOGICAL SHIFT LEFT69 ROL IND,X 2 6 ROTATE LEFT6A DEC IND,X 2 6 DECREMENT6C INC IND,X 2 6 INCREMENT6D TST IND,X 2 6 TEST6E JMP IND,X 2 3 JUMP6F CLR IND,X 2 6 CLEAR

70 NEG EXT 3 6 NEGATE73 COM EXT 3 6 COMPLEMENT74 LSR EXT 3 6 LOGICAL SHIFT RIGHT76 ROR EXT 3 6 ROTATE RIGHT77 ASR EXT 3 6 ARITHMETIC SHIFT RIGHT78 ASL / LSL EXT 3 6 ARITHMETIC / LOGICAL SHIFT LEFT79 ROL EXT 3 6 ROTATE LEFT7A DEC EXT 3 6 DECREMENT7C INC EXT 3 6 INCREMENT7D TST EXT 3 6 TEST7E JMP EXT 3 3 JUMP7F CLR EXT 3 6 CLEAR

80 SUBA IMM 2 2 SUBTRACT81 CMPA IMM 2 2 COMPARE82 SBCA IMM 2 2 SUBTRACT WITH CARRY83 SUBD IMM 3 4 SUBTRACT DOUBLE ACCUMULATOR84 ANDA IMM 2 2 LOGICAL AND

Page 3: MH6111 OPCODES (1)

85 BITA IMM 2 2 BIT TEST86 LDAA IMM 2 2 LOAD ACCUMULATOR87 BRSET DIR 4 BRANCH IF BIT(S) ARE SET88 EORA IMM 2 2 EXCLUSIVE OR89 ADCA IMM 2 2 ADD WITH CARRY8A ORAA IMM 2 2 INCLUSIVE OR8B ADDA IMM 2 2 ADD WITHOUT CARRY8C CPX IMM 3 4 COMPARE INDEX REGISTER X8D BSR 2 6 BRANCH TO SUBROUTINE8E LDS IMM 3 3 LOAD STACK POINTER8F BRCLR DIR 4 BRANCH IF BIT(S) ARE CLEAR

90 SUBA DIR 2 3 SUBTRACT91 CMPA DIR 2 3 COMPARE92 SBCA DIR 2 3 SUBTRACT WITH CARRY93 SUBD DIR 2 5 SUBTRACT DOUBLE ACCUMULATOR94 ANDA DIR 2 3 LOGICAL AND95 BITA DIR 2 3 BIT TEST96 LDAA DIR 2 3 LOAD ACCUMULATOR97 STAA DIR 2 3 STORE ACCUMULATOR98 EORA DIR 2 3 EXCLUSIVE OR99 ADCA DIR 2 3 ADD WITH CARRY9A ORAA DIR 2 3 INCLUSIVE OR9B ADDA DIR 2 3 ADD WITHOUT CARRY9C CPX DIR 2 5 COMPARE INDEX REGISTER X9D JSR DIR 2 5 JUMP TO SUBROUTINE9E LDS DIR 2 4 LOAD STACK POINTER9F STS DIR 2 4 STORE STACK POINTER

A0 SUBA IND,X 2 4 SUBTRACTA0 80 SUBA IND,Y 2 SUBTRACTA1 CMPA IND,X 2 4 COMPAREA1 80 CMPA IND,Y+ 2 COMPARE WITH/Y+A2 SBCA IND,X 2 4 SUBTRACT WITH CARRYA2 80 SBCA IND,Y 2 SUBTRACT WITH CARRYA3 SUBD IND,X 2 6 SUBTRACT DOUBLE ACCUMULATORA3 80 SUBD IND,Y 2 6 SUBTRACT DOUBLE ACCUMULATORA4 ANDA IND,X 2 4 LOGICAL ANDA4 80 ANDA IND,Y 2 4 LOGICAL ANDA5 BITA IND,X 2 4 BIT TESTA5 80 BITA IND,Y 2 4 BIT TESTA6 LDAA IND,X 2 4 LOAD ACCUMULATORA6 80 LDAA IND,Y+ 2 LOAD ACCUMULATOR WITH/Y+A7 STAA IND,X 2 4 STORE ACCUMULATORA7 80 STAA IND,Y 2 STORE ACCUMULATORA8 EORA IND,X 2 4 EXCLUSIVE ORA8 80 EORA IND,Y 2 4 EXCLUSIVE ORA9 ADCA IND,X 2 4 ADD WITH CARRYA9 80 ADCA IND,Y 2 4 ADD WITH CARRYAA ORAA IND,X 2 4 INCLUSIVE ORAA 80 ORAA IND,Y 2 4 INCLUSIVE ORAB ADDA IND,X 2 4 ADD WITHOUT CARRYAB 80 ADDA IND,Y 2 4 ADD WITHOUT CARRYAC CPX IND,X 2 6 COMPARE INDEX REGISTER XAC 80 CPX IND,Y 2 6 COMPARE INDEX REGISTER XAD JSR IND,X 2 6 JUMP TO SUBROUTINEAD 80 JSR IND,Y 2 JUMP TO SUBROUTINEAE LDS IND,X 2 5 LOAD STACK POINTERAE 80 LDS IND,Y 2 5 LOAD STACK POINTERAF STS IND,X 2 5 STORE STACK POINTER

Page 4: MH6111 OPCODES (1)

AF 80 STS IND,Y 2 5 STORE STACK POINTER

B0 SUBA EXT 3 4 SUBTRACTB1 CMPA EXT 3 4 COMPAREB2 SBCA EXT 3 4 SUBTRACT WITH CARRYB3 SUBD EXT 3 6 SUBTRACT DOUBLE ACCUMULATORB4 ANDA EXT 3 4 LOGICAL ANDB5 BITA EXT 3 4 BIT TESTB6 LDAA EXT 3 4 LOAD ACCUMULATORB7 STAA EXT 3 4 STORE ACCUMULATORB8 EORA EXT 3 4 EXCLUSIVE ORB9 ADCA EXT 3 4 ADD WITH CARRYBA ORAA EXT 3 4 INCLUSIVE ORBB ADDA EXT 3 4 ADD WITHOUT CARRYBC CPX EXT 3 6 COMPARE INDEX REGISTER XBD JSR EXT 3 6 JUMP TO SUBROUTINEBE LDS EXT 3 5 LOAD STACK POINTERBF STS EXT 3 5 STORE STACK POINTER

C0 SUBB IMM 2 2 SUBTRACTC1 CMPB IMM 2 2 COMPAREC2 SBCB IMM 2 2 SUBTRACT WITH CARRYC3 ADDD IMM 3 4 ADD DOUBLE ACCUMULATORC4 ANDB IMM 2 2 LOGICAL ANDC5 BITB IMM 2 2 BIT TESTC6 LDAB IMM 2 2 LOAD ACCUMULATORC8 EORB IMM 2 2 EXCLUSIVE ORC9 ADCB IMM 2 2 ADD WITH CARRYCA ORAB IMM 2 2 INCLUSIVE ORCB ADDB IMM 2 2 ADD WITHOUT CARRYCC LDD IMM 3 3 LOAD DOUBLE ACCUMULATOR

CD 08 INY 2 4 INCREMENT INDEX REGISTER YCD 09 DEY 2 4 DECREMENT INDEX REGISTER YCD 1A XGDY 2 EXCHANGE DOUBLE ACCUMULATOR AND INDEX REG YCD 3A ABY 2 ADD ACCUMULATOR B TO INDEX REG YCD 8C CMPY IMM, Y++ 4 CMPY INDEX REGISTER Y AND INCREMENT.CD CE LDY IMM 4 4 LOAD INDEX REGISTER YCD DF STY DIR 3 5 STORE INDEX REGISTER YCD EE LDY IND,X 3 6 LOAD INDEX REGISTER Y

CE LDX IMM 3 3 LOAD INDEX REGISTER XCF ***** 3 ?????

D0 SUBB DIR 2 3 SUBTRACTD1 CMPB DIR 2 3 COMPARED2 SBCB DIR 2 3 SUBTRACT WITH CARRYD3 ADDD DIR 2 5 ADD DOUBLE ACCUMULATORD4 ANDB DIR 2 3 LOGICAL ANDD5 BITB DIR 2 3 BIT TESTD6 LDAB DIR 2 3 LOAD ACCUMULATORD7 STAB DIR 2 3 STORE ACCUMULATORD8 EORB DIR 2 3 EXCLUSIVE ORD9 ADCB DIR 2 3 ADD WITH CARRYDA ORAB DIR 2 3 INCLUSIVE ORDB ADDB DIR 2 3 ADD WITHOUT CARRYDC LDD DIR 2 4 LOAD DOUBLE ACCUMULATORDD STD DIR 2 4 STORE DOUBLE ACCUMULATOR

Page 5: MH6111 OPCODES (1)

DE LDX DIR 2 4 LOAD INDEX REGISTER XDF STX DIR 2 4 STORE INDEX REGISTER X

E0 SUBB IND,X 2 4 SUBTRACTE0 80 SUBB IND,Y 2 4 SUBTRACTE1 CMPB IND,X 2 4 COMPAREE1 80 CMPB IND,Y 2 4 COMPAREE2 SBCB IND,X 2 4 SUBTRACT WITH CARRYE2 80 SBCB IND,Y 2 4 SUBTRACT WITH CARRYE3 ADDD IND,X 2 6 ADD DOUBLE ACCUMULATORE3 80 ADDD IND,Y 2 6 ADD DOUBLE ACCUMULATORE4 ANDB IND,X 2 4 LOGICAL ANDE4 80 ANDB IND,Y 2 4 LOGICAL ANDE5 BITB IND,X 2 4 BIT TESTE5 80 BITB IND,Y 2 4 BIT TESTE6 LDAB IND,X 2 4 LOAD ACCUMULATORE6 80 LDAB IND,Y 2 4 LOAD ACCUMULATORE7 STAB IND,X 2 4 STORE ACCUMULATORE7 80 STAB IND,Y 2 4 STORE ACCUMULATORE8 EORB IND,X 2 4 EXCLUSIVE ORE8 80 EORB IND,Y 2 4 EXCLUSIVE ORE9 ADCB IND,X 2 4 ADD WITH CARRYE9 80 ADCB IND,Y 2 4 ADD WITH CARRYEA ORAB IND,X 2 4 INCLUSIVE OREA 80 ORAB IND,Y 2 4 INCLUSIVE OREB ADDB IND,X 2 4 ADD WITHOUT CARRYEB 80 ADDB IND,Y 2 4 ADD WITHOUT CARRYEC LDD IND,X 2 5 LOAD DOUBLE ACCUMULATOREC 80 LDD IND,Y 2 5 LOAD DOUBLE ACCUMULATORED STD IND,X 2 5 STORE DOUBLE ACCUMULATORED 80 STD IND,Y 2 5 STORE DOUBLE ACCUMULATOREE LDX IND,X 2 5 LOAD INDEX REGISTER XEE 80 LDX IND,Y++ 2 5 LOAD INDEX REGISTER X WITH/Y++EF STX IND,X 2 5 STORE INDEX REGISTER XEF 80 STX IND,X 2 5 STORE INDEX REGISTER X

F0 SUBB EXT 3 4 SUBTRACTF1 CMPB EXT 3 4 COMPAREF2 SBCB EXT 3 4 SUBTRACT WITH CARRYF3 ADDD EXT 3 6 ADD DOUBLE ACCUMULATORF4 ANDB EXT 3 4 LOGICAL ANDF5 BITB EXT 3 4 BIT TESTF6 LDAB EXT 3 4 LOAD ACCUMULATORF7 STAB EXT 3 4 STORE ACCUMULATORF8 EORB EXT 3 4 EXCLUSIVE ORF9 ADCB EXT 3 4 ADD WITH CARRYFA ORAB EXT 3 4 INCLUSIVE ORFB ADDB EXT 3 4 ADD WITHOUT CARRYFC LDD EXT 3 5 LOAD DOUBLE ACCUMULATORFD STD EXT 3 5 STORE DOUBLE ACCUMULATORFE LDX EXT 3 5 LOAD INDEX REGISTER XFF STX EXT 3 5 STORE INDEX REGISTER X