Date: 19980205 From: Tito Smailagich Organization: ENIC To: Mot-68HC11-Apps@freeware.mcu.motsps.com Subject: Re: MC68HC11 instruction set Message sent by TITO SMAILAGICH to the mot-68hc11-apps Mailing List. ------------------------------------------------------------------------------ ENIC - TITO SMAILAGICH - 29. NOVEMBRA 20/21 - YU 11000 - BELGRADE - YUGOSLAVIA ------------------------------------------------------------------------------ Tel: +381 11 3226-387 E-MAIL: epetrozl@EUnet.yu ------------------------------------------------------------------------------ 308 RAZLICITIH KODOVA INSTRUKCIJA MC68HC11 ------------------------------------------ 00 TEST 1 * TEST OPERATION TEST MODE ONLY 01 NOP 1 2 NO OPERATION 02 IDIV 1 41 INTEGER DIVIDE 03 FDIV 1 41 FRACTIONAL DIVIDE 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 BRSET DIR 4 6 BRANCH IF BITS SET 13 BRCLR DIR 4 6 BRANCH IF BITS CLEAR 14 BSET DIR 3 6 SET BITS IN MEMORY 15 BCLR DIR 3 6 CLEAR BITS IN MEMORY 16 TAB 1 2 TRANSFER ACCUMULATOR A TO ACCUMULATOR B 17 TBA 1 2 TRANSFER FROM ACCUMULATOR B TO ACCUMULATOR A 18 08 INY 2 4 INCREMENT INDEX REGISTER Y 18 09 DEY 2 4 DECREMENT INDEX REGISTER Y 18 1C BSET IND,Y 4 8 SET BITS IN MEMORY 18 1D BCLR IND,Y 4 8 CLEAR BITS IN MEMORY 18 1E BRSET IND,Y 5 8 BRANCH IF BITS SET 18 1F BRCLR IND,Y 5 8 BRANCH IF BITS CLEAR 18 30 TSY 2 4 TRANSFER FROM STACK POINTER TO INDEX REGISTER Y 18 35 TYS 2 3 TRANSFER FROM INDEX REGISTER Y TO STACK POINTER 18 38 PULY 2 6 PULL INDEX REGISTER Y FROM STACK 18 3A ABY 2 4 ADD ACCUMULATOR B TO INDEX REGISTER Y 18 3C PSHY 2 5 PUSH INDEX REGISTER Y ONTO STACK 18 60 NEG IND,Y 3 7 NEGATE 18 63 COM IND,Y 3 7 COMPLEMENT 18 64 LSR IND,Y 3 7 LOGICAL SHIFT RIGHT 18 66 ROR IND,Y 3 7 ROTATE RIGHT 18 67 ASR IND,Y 3 7 ARITHMETIC SHIFT RIGHT 18 68 ASL / LSL IND,Y 3 7 ARITHMETIC / LOGICAL SHIFT LEFT 18 69 ROL IND,Y 3 7 ROTATE LEFT 18 6A DEC IND,Y 3 7 DECREMENT 18 6C INC IND,Y 3 7 INCREMENT 18 6D TST IND,Y 3 7 TEST 18 6E JMP IND,Y 3 4 JUMP 18 6F CLR IND,Y 3 7 CLEAR 18 8C CPY IMM 4 5 COMPARE INDEX REGISTER Y 18 8F XGDY 2 4 EXCHANGE DOUBLE ACCUMULATOR AND INDEX REG Y 18 9C CPY DIR 3 6 COMPARE INDEX REGISTER Y 18 A0 SUBA IND,Y 3 5 SUBTRACT 18 A1 CMPA IND,Y 3 5 COMPARE 18 A2 SBCA IND,Y 3 5 SUBTRACT WITH CARRY 18 A3 SUBD IND,Y 3 7 SUBTRACT DOUBLE ACCUMULATOR 18 A4 ANDA IND,Y 3 5 LOGICAL AND 18 A5 BITA IND,Y 3 5 BIT TEST 18 A6 LDAA IND,Y 3 5 LOAD ACCUMULATOR 18 A7 STAA IND,Y 3 5 STORE ACCUMULATOR 18 A8 EORA IND,Y 3 5 EXCLUSIVE OR 18 A9 ADCA IND,Y 3 5 ADD WITH CARRY 18 AA ORAA IND,Y 3 5 INCLUSIVE OR 18 AB ADDA IND,Y 3 5 ADD WITHOUT CARRY 18 AC CPY IND,Y 3 7 COMPARE INDEX REGISTER Y 18 AD JSR IND,Y 3 7 JUMP TO SUBROUTINE 18 AE LDS IND,Y 3 6 LOAD STACK POINTER 18 AF STS IND,Y 3 6 STORE STACK POINTER 18 BC CPY EXT 4 7 COMPARE INDEX REGISTER Y 18 CE LDY IMM 4 4 LOAD INDEX REGISTER Y 18 DE LDY DIR 3 5 LOAD INDEX REGISTER Y 18 DF STY DIR 3 5 STORE INDEX REGISTER Y 18 E0 SUBB IND,Y 3 5 SUBTRACT 18 E1 CMPB IND,Y 3 5 COMPARE 18 E2 SBCB IND,Y 3 5 SUBTRACT WITH CARRY 18 E3 ADDD IND,Y 3 7 ADD DOUBLE ACCUMULATOR 18 E4 ANDB IND,Y 3 5 LOGICAL AND 18 E5 BITB IND,Y 3 5 BIT TEST 18 E6 LDAB IND,Y 3 5 LOAD ACCUMULATOR 18 E7 STAB IND,Y 3 5 STORE ACCUMULATOR 18 E8 EORB IND,Y 3 5 EXCLUSIVE OR 18 E9 ADCB IND,Y 3 5 ADD WITH CARRY 18 EA ORAB IND,Y 3 5 INCLUSIVE OR 18 EB ADDB IND,Y 3 5 ADD WITHOUT CARRY 18 EC LDD IND,Y 3 6 LOAD DOUBLE ACCUMULATOR 18 ED STD IND,Y 3 6 STORE DOUBLE ACCUMULATOR 18 EE LDY IND,Y 3 6 LOAD INDEX REGISTER Y 18 EF STY IND,Y 3 6 STORE INDEX REGISTER Y 18 FE LDY EXT 4 6 LOAD INDEX REGISTER Y 18 FF STY EXT 4 6 STORE INDEX REGISTER Y 19 DAA 1 2 DECIMAL ADJUST ACCUMULATOR A 1A 83 CPD IMM 4 5 COMPARE DOUBLE ACCUMULATOR 1A 93 CPD DIR 3 6 COMPARE DOUBLE ACCUMULATOR 1A A3 CPD IND,X 3 7 COMPARE DOUBLE ACCUMULATOR 1A AC CPY IND,X 3 7 COMPARE INDEX REGISTER Y 1A B3 CPD EXT 4 7 COMPARE DOUBLE ACCUMULATOR 1A EE LDY IND,X 3 6 LOAD INDEX REGISTER Y 1A EF STY IND,X 3 6 STORE INDEX REGISTER Y 1B ABA 1 2 ADD ACCUMULATOR B TO ACCUMULATOR A 1C BSET IND,X 3 7 SET BITS IN MEMORY 1D BCLR IND,X 3 7 CLEAR BITS IN MEMORY 1E BRSET IND,X 4 7 BRANCH IF BITS SET 1F BRCLR IND,X 4 7 BRANCH IF BITS CLEAR 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 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 XGDX 1 3 EXCHANGE DOUBLE ACCUMULATOR AND INDEX REG X 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 A1 CMPA IND,X 2 4 COMPARE A2 SBCA IND,X 2 4 SUBTRACT WITH CARRY A3 SUBD IND,X 2 6 SUBTRACT DOUBLE ACCUMULATOR A4 ANDA IND,X 2 4 LOGICAL AND A5 BITA IND,X 2 4 BIT TEST A6 LDAA IND,X 2 4 LOAD ACCUMULATOR A7 STAA IND,X 2 4 STORE ACCUMULATOR A8 EORA IND,X 2 4 EXCLUSIVE OR A9 ADCA IND,X 2 4 ADD WITH CARRY AA ORAA IND,X 2 4 INCLUSIVE OR AB ADDA IND,X 2 4 ADD WITHOUT CARRY AC CPX IND,X 2 6 COMPARE INDEX REGISTER X AD JSR IND,X 2 6 JUMP TO SUBROUTINE AE LDS IND,X 2 5 LOAD STACK POINTER AF STS IND,X 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 A3 CPD IND,Y 3 7 COMPARE DOUBLE ACCUMULATOR CD AC CPX IND,Y 3 7 COMPARE INDEX REGISTER X CD EE LDX IND,Y 3 6 LOAD INDEX REGISTER X CD EF STX IND,Y 3 6 STORE INDEX REGISTER X CE LDX IMM 3 3 LOAD INDEX REGISTER X CF STOP 1 2 STOP PROCESSING 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 E1 CMPB IND,X 2 4 COMPARE E2 SBCB IND,X 2 4 SUBTRACT WITH CARRY E3 ADDD IND,X 2 6 ADD DOUBLE ACCUMULATOR E4 ANDB IND,X 2 4 LOGICAL AND E5 BITB IND,X 2 4 BIT TEST E6 LDAB IND,X 2 4 LOAD ACCUMULATOR E7 STAB IND,X 2 4 STORE ACCUMULATOR E8 EORB IND,X 2 4 EXCLUSIVE OR E9 ADCB IND,X 2 4 ADD WITH CARRY EA ORAB IND,X 2 4 INCLUSIVE OR EB ADDB IND,X 2 4 ADD WITHOUT CARRY EC LDD IND,X 2 5 LOAD DOUBLE ACCUMULATOR ED STD IND,X 2 5 STORE DOUBLE ACCUMULATOR EE LDX IND,X 2 5 LOAD INDEX REGISTER X EF 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 To unsubscribe, send mail to Majordomo@freeware.mcu.motsps.com. In the message body, put unsubscribe mot-68hc11-apps http://www.mcu.motsps.com/lit/faq/major.html#zubscribe