UTMC Application Note_________________________________________ UT80CRH196KD Instruction Execution Times (in State Times) Instructions are listed below by their hexadecimal opcode designator and corresponding mnemonic. The instruction execution times are denoted by their state time equivalent (1 State Time = 2 * XTAL1 period). • Single number state times denote Direct or Immediate address executions times. • Dual number state times (SFR/MEM) indicate SFR as the execution time using SFRs and internal memory, and MEM as the execution time using the memory controller. • Indirect address modes list execution times as Normal:(SFR/MEM) / Auto-Increment: (SFR/MEM). • Indexed address modes list execution times as Short:(SFR/MEM) / Long: (SFR/MEM). Additionally, the effects of Program Status Flag settings are listed. PSW Flag Symbols • • • • • • Opcode Checkmark (√) indicates that a flag is set or cleared as appropriate. Hyphen (-) indicates that the flag is not modified. A one or zero, (1)(0) indicates that the flag will be in that state after the instruction. An ‘s’ indicates that the instruction may set the flag if it is appropriate, but will not clear the flag. A ‘c’ indicates that the flag can be cleared but not set by the instruction. A question mark (?) indicates that the flag will be left in an unknown state after the operation. Mnemonic Length in bytes Addressing PSW Flags Z N C V Execution Time VT ST UTMC INTEL UT80CRH196KD 00 SKIP 2 - - - - - - 3 3 01 CLR 2 Direct 1 0 0 0 - - 3 3 02 NOT 2 Direct √ √ 0 0 - - 3 3 03 NEG 2 Direct √ √ √ √ s - 3 3 04 XCH 3 Direct - - - - - - 5 5 05 DEC 2 Direct √ √ √ √ s - 3 3 06 EXT 2 Direct √ √ 0 0 - - 3 4 07 INC 2 Direct √ √ √ √ s - 3 3 08 SHR 3 Direct √ √ √ 0 - √ 4+1/shft 6+1/shft 09 SHL 3 Direct √ √ √ √ s - 4+1/shft 6+1/shft 0A SHRA 3 Direct √ √ √ 0 - √ 4+1/shft 6+1/shft 0B XCH 4/5 Indexed - - - - - - (8/13)/(8/13) (8/13)/(9/14) 0C SHRL 3 Direct √ √ √ 0 - √ 6+1/shft 7+1/shft 0D SHLL 3 Direct √ √ √ √ s - 6+1/shft 7+1/shft 0E SHRAL 3 Direct √ √ √ 0 - √ 6+1/shft 7+1/shft 0F NORML 3 Direct √ √ 0 - - - 7+1/shft 8+1/shft 10 Unim OpCd 1 - - - - - - 16 - 11 CLRB 2 Direct 1 0 0 0 - - 3 3 12 NOTB 2 Direct √ √ 0 0 - - 3 3 13 NEGB 2 Direct √ √ √ √ s - 3 3 06/12/98 1 of 6 Opcode Mnemonic Length in bytes Addressing PSW Flags Z N C V Execution Time VT ST UTMC INTEL UT80CRH196KD 14 XCHB 3 Direct - - - - - - 5 5 15 DECB 2 Direct √ √ √ √ s - 3 3 16 EXTB 2 Direct √ √ 0 0 - - 3 4 17 INCB 2 Direct √ √ √ √ s - 3 3 18 SHRB 3 Direct √ √ √ 0 - √ 4+1/shft 6+1/shft 19 SHLB 3 Direct √ √ √ √ s - 4+1/shft 6+1/shft 1A SHRAB 3 Direct √ √ √ 0 - √ 4+1/shft 6+1/shft 1B XCHB 4/5 Indexed - - - - - - (8/13)/(8/13) (8/13)/(9/14) 1C-1F Unim OpCd 1 - - - - - - 16 - 20-27 SJMP 2 - - - - - - 7 7 28-2F SCALL 2 - - - - - - 9/12 11/13 30-37 JBC 3 - - - - - - 5/9 5/9 38-3F JBS 3 - - - - - - 5/9 5/9 40 AND (3 op) 4 Direct √ √ 0 0 - - 4 5 41 AND (3 op) 5 Immediate √ √ 0 0 - - 4 6 42 AND (3 op) 4 Indirect √ √ 0 0 - - (6/8)/(7/9) (7/10)/(8/11) 43 AND (3 op) 5/6 Indexed √ √ 0 0 - - (6/8)/(6/8) (7/10)/(8/11) 44 ADD (3 op) 4 Direct √ √ √ √ s - 4 4 45 ADD (3 op) 5 Immediate √ √ √ √ s - 4 5 46 ADD (3 op) 4 Indirect √ √ √ √ s - (6/8)/(7/9) (7/10)/(8/11) 47 ADD (3 op) 5/6 Indexed √ √ √ √ s - (6/8)/(6/8) (7/10)/(8/11) 48 SUB (3 op) 4 Direct √ √ √ √ s - 4 4 49 SUB (3 op) 5 Immediate √ √ √ √ s - 4 5 4A SUB (3 op) 4 Indirect √ √ √ √ s - (6/8)/(7/9) (7/10)/(8/11) 4B SUB (3 op) 5/6 Indexed √ √ √ √ s - (6/8)/(6/8) (7/10)/(8/11) 4C MULU (3 op) 4 Direct - - - - - - 6 14 4D MULU (3 op) 5 Immediate - - - - - - 6 15 4E MULU (3 op) 4 Indirect - - - - - - (8/10)/(9/11) (16/19)/(17/19) 4F MULU (3 op) 5/6 Indexed - - - - - - (8/10)/(8/10) (17/20)/(18/21) 50 ANDB (3 op) 4 Direct √ √ 0 0 - - 4 5 51 ANDB (3 op) 4 Immediate √ √ 0 0 - - 4 6 52 ANDB (3 op) 4 Indirect √ √ 0 0 - - (6/8)/(7/9) (7/10)/(8/11) 53 ANDB (3 op) 5/6 Indexed √ √ 0 0 - - (6/8)/(6/8) (7/10)/(8/11) 54 ADDB (3 op) 4 Direct √ √ √ √ s - 4 5 55 ADDB (3 op) 4 Immediate √ √ √ √ s - 4 6 56 ADDB (3 op) 4 Indirect √ √ √ √ s - (6/8)/(7/9) (7/10)/(8/11) 57 ADDB (3 op) 5/6 Indexed √ √ √ √ s - (6/8)/(6/8) (7/10)/(8/11) 58 SUBB (3 op) 4 Direct √ √ √ √ s - 4 5 59 SUBB (3 op) 4 Immediate √ √ √ √ s - 4 6 5A SUBB (3 op) 4 Indirect √ √ √ √ s - (6/8)/(7/9) (7/10)/(8/11) 5B SUBB (3 op) 5/6 Indexed √ √ √ √ s - (6/8)/(6/8) (7/10)/(8/11) 5C MULUB (3 op) 4 Direct - - - - - - 5 10 5D MULUB (3 op) 4 Immediate - - - - - - 5 10 5E MULUB (3 op) 4 Indirect - - - - - - (7/9)/(8/10) (12/15)/(13/15) 06/12/98 2 of 6 Opcode Mnemonic Length in bytes Addressing PSW Flags Z N C V Execution Time VT ST UTMC INTEL UT80CRH196KD 5F MULUB (3 op) Indexed - - - - - - (7/9)/(7/9) (12/16)/(14/17) 60 AND (2 op) 5/6 3 Direct √ √ 0 0 - - 4 4 61 AND (2 op) 4 Immediate √ √ 0 0 - - 4 5 62 AND (2 op) 3 Indirect √ √ 0 0 - - (6/8)/(7/9) (6/8)/(7/9) 63 AND (2 op) 4/5 Indexed √ √ 0 0 - - (6/8)/(6/8) (6/8)/(7/9) 64 ADD (2 op) 3 Direct √ √ √ √ s - 4 4 65 ADD (2 op) 4 Immediate √ √ √ √ s - 4 5 66 ADD (2 op) 3 Indirect √ √ √ √ s - (6/8)/(7/9) (6/8)/(7/9) 67 ADD (2 op) 4/5 Indexed √ √ √ √ s - (6/8)/(6/8) (6/8)/(7/9) 68 SUB (2 op) 3 Direct √ √ √ √ s - 4 4 69 SUB (2 op) 4 Immediate √ √ √ √ s - 4 5 6A SUB (2 op) 3 Indirect √ √ √ √ s - (6/8)/(7/9) (6/8)/(7/9) 6B SUB (2 op) 4/5 Indexed √ √ √ √ s - (6/8)/(6/8) (6/8)/(7/9) 6C MULU (2 op) 3 Direct - - - - - - 6 14 6D MULU (2 op) 4 Immediate - - - - - - 6 15 6E MULU (2 op) 3 Indirect - - - - - - (8/10)/(9/11) (16/19)/(17/19) 6F MULU (2 op) 4/5 Indexed - - - - - - (8/10)/(8/10) (17/20)/(18/21) 70 ANDB (2 op) 3 Direct √ √ 0 0 - - 4 4 71 ANDB (2 op) 3 Immediate √ √ 0 0 - - 4 5 72 ANDB (2 op) 3 Indirect √ √ 0 0 - - (6/8)/(7/9) (6/8)/(7/9) 73 ANDB (2 op) 4/5 Indexed √ √ 0 0 - - (6/8)/(6/8) (6/8)/(7/9) 74 ADDB (2 op) 3 Direct √ √ √ √ s - 4 4 75 ADDB (2 op) 3 Immediate √ √ √ √ s - 4 5 76 ADDB (2 op) 3 Indirect √ √ √ √ s - (6/8)/(7/9) (6/8)/(7/9) 77 ADDB (2 op) 4/5 Indexed √ √ √ √ s - (6/8)/(6/8) (6/8)/(7/9) 78 SUBB (2 op) 3 Direct √ √ √ √ s - 4 4 79 SUBB (2 op) 3 Immediate √ √ √ √ s - 4 5 7A SUBB (2 op) 3 Indirect √ √ √ √ s - (6/8)/(7/9) (6/8)/(7/9) 7B SUBB (2 op) 4/5 Indexed √ √ √ √ s - (6/8)/(6/8) (6/8)/(7/9) 7C MULUB (2 op) 3 Direct - - - - - - 5 10 7D MULUB (2 op) 3 Immediate - - - - - - 5 10 7E MULUB (2 op) 3 Indirect - - - - - - (7/9)/(8/10) (12/15)/(13/15) 7F MULUB (2 op) 4/5 Indexed - - - - - - (7/9)/(7/9) (12/16)/(14/17) 80 OR 3 Direct √ √ 0 0 - - 4 4 81 OR 4 Immediate √ √ 0 0 - - 4 5 82 OR 3 Indirect √ √ 0 0 - - (6/8)/(7/9) (6/8)/(7/9) 83 OR 4/5 Indexed √ √ 0 0 - - (6/8)/(6/8) (6/8)/(7/9) 84 XOR 3 Direct √ √ 0 0 - - 4 4 85 XOR 4 Immediate √ √ 0 0 - - 4 5 86 XOR 3 Indirect √ √ 0 0 - - (6/8)/(7/9) (6/8)/(7/9) 87 XOR 4/5 Indexed √ √ 0 0 - - (6/8)/(6/8) (6/8)/(7/9) 88 CMP 3 Direct √ √ √ √ s - 4 4 89 CMP 4 Immediate √ √ √ √ s - 4 5 8A CMP 3 Indirect √ √ √ √ s - (6/8)/(7/9) (6/8)/(7/9) 06/12/98 3 of 6 Opcode Mnemonic Length in bytes Addressing PSW Flags Z N C V Execution Time VT ST UTMC INTEL UT80CRH196KD 8B CMP 4/5 Indexed √ √ √ √ s - (6/8)/(6/8) (6/8)/(7/9) 8C DIVU 3 Direct - - - √ s - 22 24 8D DIVU 4 Immediate - - - √ s - 22 25 8E DIVU 3 Indirect - - - √ s - (24/26)/(25/27) (26/29)/(27/30) 8F DIVU 4/5 Indexed - - - √ s - (24/26)/(24/26) (27/30)/(28/30) 90 ORB 3 Direct √ √ 0 0 - - 4 4 91 ORB 3 Immediate √ √ 0 0 - - 4 5 92 ORB 3 Indirect √ √ 0 0 - - (6/8)/(7/9) (6/8)/(7/9) 93 ORB 4/5 Indexed √ √ 0 0 - - (6/8)/(6/8) (6/8)/(7/9) 94 XORB 3 Direct √ √ 0 0 - - 4 4 95 XORB 3 Immediate √ √ 0 0 - - 4 5 96 XORB 3 Indirect √ √ 0 0 - - (6/8)/(7/9) (6/8)/(7/9) 97 XORB 4/5 Indexed √ √ 0 0 - - (6/8)/(6/8) (6/8)/(7/9) 98 CMPB 3 Direct √ √ √ √ s - 4 4 99 CMPB 3 Immediate √ √ √ √ s - 4 5 9A CMPB 3 Indirect √ √ √ √ s - (6/8)/(7/9) (6/8)/(7/9) 9B CMPB 4/5 Indexed √ √ √ √ s - (6/8)/(6/8) (6/8)/(7/9) 9C DIVUB 3 Direct - - - √ s - 10 16 9D DIVUB 3 Immediate - - - √ s - 10 16 9E DIVUB 3 Indirect - - - √ s - (12/14)/(13/15) (18/21)/(19/22) 4/5 9F DIVUB Indexed - - - √ s - (12/14)/(12/14) (19/22)/(20/23) A0 LD 3 Direct - - - - - - 4 4 A1 LD 4 Immediate - - - - - - 4 5 A2 LD 3 Indirect - - - - - - (6/8)/(7/9) (5/8)/(6/8) A3 LD 4/5 Indexed - - - - - - (6/8)/(6/8) (6/9)/(7/10) A4 ADDC 3 Direct c √ √ √ s - 4 4 A5 ADDC 4 Immediate c √ √ √ s - 4 5 A6 ADDC 3 Indirect c √ √ √ s - (6/8)/(7/9) (6/8)/(7/9) A7 ADDC 4/5 Indexed c √ √ √ s - (6/8)/(6/8) (6/8)/(7/9) A8 SUBC 3 Direct c √ √ √ s - 4 4 A9 SUBC 4 Immediate c √ √ √ s - 4 5 AA SUBC 3 Indirect c √ √ √ s - (6/8)/(7/9) (6/8)/(7/9) AB SUBC 4/5 Indexed c √ √ √ s - (6/8)/(6/8) (6/8)/(7/9) AC LDBZE 3 Direct - - - - - - 4 4 AD LDBZE 3 Immediate - - - - - - 4 4 AE LDBZE 3 Indirect - - - - - - (6/8)/(7/9) (5/8)/(6/8) AF LDBZE 4/5 Indexed - - - - - - (6/8)/(6/8) (6/9)/(7/10) B0 LDB 3 Direct - - - - - - 4 4 B1 LDB 3 Immediate - - - - - - 4 5 B2 LDB 3 Indirect - - - - - - (6/8)/(7/9) (6/8)/(7/9) B3 LDB 4/5 Indexed - - - - - - (6/8)/(6/8) (6/8)/(7/9) B4 ADDCB 3 Direct c √ √ √ s - 4 4 B5 ADDCB 3 Immediate c √ √ √ s - 4 5 B6 ADDCB 3 Indirect c √ √ √ s - (6/8)/(7/9) (6/8)/(7/9) 06/12/98 4 of 6 Opcode Mnemonic Length in bytes Addressing PSW Flags Z N C V Execution Time VT ST UTMC INTEL UT80CRH196KD B7 ADDCB 4/5 Indexed c √ √ √ s - (6/8)/(6/8) (6/8)/(7/9) B8 SUBCB 3 Direct c √ √ √ s - 4 4 B9 SUBCB 3 Immediate c √ √ √ s - 4 5 BA SUBCB 3 Indirect c √ √ √ s - (6/8)/(7/9) (6/8)/(7/9) BB SUBCB 4/5 Indexed c √ √ √ s - (6/8)/(6/8) (6/8)/(7/9) BC LDBSE 3 Direct - - - - - - 4 4 BD LDBSE 3 Immediate - - - - - - 4 4 BE LDBSE 3 Indirect - - - - - - (6/8)/(7/9) (5/8)/(6/8) BF LDBSE 4/5 Indexed - - - - - - (6/8)/(6/8) (6/9)/7/10) C0 ST 3 Direct - - - - - - 4 4 C1 BMOV 3 Direct - - - - - - 6+4/wd+2/ext 6+8/wd C2 ST 3 Indirect - - - - - - (6/8)/(7/9) (5/8)/(6/9) C3 ST 4/5 Indexed - - - - - - (6/8)/(6/8) (6/9)/(7/10) C4 STB 3 Direct - - - - - - 4 4 C5 CMPL 3 Direct - - - - - - 7 7 C6 STB 3 Indirect - - - - - - (6/8)/(7/9) (5/8)/(6/8) C7 STB 4/5 Indexed - - - - - - (6/8)/(6/8) (6/9)/(7/10) C8 PUSH 2 Direct - - - - - - 5/8 8 C9 PUSH 3 Immediate - - - - - - 5/8 9 CA PUSH 2 Indirect - - - - - - {(7/9)/(8/10)}/{( 10/12)/(11/13)} (11/14)/12/15) CB PUSH 3/4 Indexed - - - - - - {(7/9)/(7/9)}/{(1 0/12)/(10/12)} (12/15)/(13/16) CC POP 2 Direct - - - - - - 5/7 8 CD BMOVi 3 Direct - - - - - - 7+4/wd+2/ext 7+8/wd+14/ext CE POP 2 Indirect - - - - - - {(7/9)/(8/10)}/{( 10/12)/(11/13)} (10/12)/(11/13) CF POP 3/4 Indexed - - - - - - {(7/9)/(7/9)}/{(1 0/12)/(10/12)} (11/13)/(12/14) D0 JNST 2 - - - - - - 4/7 (no jump/jump) 4/8 (no jump/jump) D1 JNH 2 - - - - - - 4/7 (no jump/jump) 4/8 (no jump/jump) D2 JGT 2 - - - - - - 4/7 (no jump/jump) 4/8 (no jump/jump) D3 JNC 2 - - - - - - 4/7 (no jump/jump) 4/8 (no jump/jump) D4 JNVT 2 - - - - 0 - 4/7 (no jump/jump) 4/8 (no jump/jump) D5 JNV 2 - - - - - - 4/7 (no jump/jump) 4/8 (no jump/jump) D6 JGE 2 - - - - - - 4/7 (no jump/jump) 4/8 (no jump/jump) D7 JNE 2 - - - - - - 4/7 (no jump/jump) 4/8 (no jump/jump) D8 JST 2 - - - - - - 4/7 (no 4/8 (no 06/12/98 5 of 6 Opcode Mnemonic Length in bytes Addressing PSW Flags Z N C V Execution Time VT ST UTMC INTEL UT80CRH196KD jump/jump) jump/jump) D9 JH 2 - - - - - - 4/7 (no jump/jump) 4/8 (no jump/jump) DA JLE 2 - - - - - - 4/7 (no jump/jump) 4/8 (no jump/jump) DB JC 2 - - - - - - 4/7 (no jump/jump) 4/8 (no jump/jump) DC JVT 2 - - - - 0 - 4/7 (no jump/jump) 4/8 (no jump/jump) DD JV 2 - - - - - - 4/7 (no jump/jump) 4/8 (no jump/jump) DE JLT 2 - - - - - - 4/7 (no jump/jump) 4/8 (no jump/jump) DF JE 2 - - - - - - 4/7 (no jump/jump) 4/8 (no jump/jump) E0 DJNZ 3 - - - - 0 - 5/9 5/9 E1 DJNZW 3 - - - - - - 5/9 6/10 E2 TIJMP 4 - - - - - - 14/16/18 15/18/21 E3 BR 2 - - - - - - 9 7 Unim OpCd 1 - - - - 0 - 16 - LJMP 3 - - - - - - 7 7 E4-E6 E7 E8-EB Unim OpCd 1 - - - - - - 16 - EC DPTS 1 - - - - - - 2 2 ED EPTS 1 - - - - 0 - 2 2 EE Unim OpCd 1 - - - - - - 16 - EF LCALL 3 - - - - - - 9/12 13 F0 RET 1 - - - - - - 9/11 14 F1 Unim OpCd - - - - - - 16 - F2 PUSHF 1 0 0 0 0 0 0 5/7 8 F3 POPF 1 √ √ √ √ √ √ 5/7 10 F4 PUSHA 1 0 0 0 0 0 0 8/12 18 F5 POPA 1 √ √ √ √ √ √ 8/12 18 F6 IDLPD 2 - - - - - - 8/25 8/25 F7 TRAP 1 - - - - - - 16 16 F8 CLRC 1 - - 0 - - - 2 2 F9 SETC 1 - - 1 - - - 2 2 FA DI 1 - - - - - - 2 2 FB EI 1 - - - - - - 2 2 FC CLRVT 1 - - - - 0 - 2 2 FD NOP 1 - - - - - - 2 2 FE SGND 1 - - - - - - 2 - FF RST 1 0 0 0 0 0 0 22 20 06/12/98 6 of 6