background image

82

R0L      Divisor

R1                             Dividend

R1       Remainder                       Quotient             (*1)

R1                             Dividend

R2                 H'00                  Dividend (High)         (*2)

R1      Partial remainder       Dividend   (Low)      

R2       Partial remainder       Quotient    (High)         (*3)

R1      Remainder                  Quotient    (Low)

R2                              Quotient      

    (*4)

Содержание H8/300L Series

Страница 1: ...H8 300L Series Programming Manual ...

Страница 2: ...the characteristics and performance of Hitachi s semiconductor products Hitachi assumes no responsibility for any intellectual property claims or other problems that may result from applications based on the examples described herein 5 No license is granted by implication or otherwise under any patents or other rights of any third party or Hitachi Ltd 6 MEDICAL APPLICATIONS Hitachi s products are ...

Страница 3: ...ection 2 Instruction Set 31 2 1 Explanation Format 31 ADD add binary byte 31 2 2 Instructions 36 2 2 1 1 ADD add binary byte 36 2 2 1 2 ADD add binary word 37 2 2 2 ADDS add with sign extension 38 2 2 3 ADDX add with extend carry 39 2 2 4 AND AND logical 40 2 2 5 ANDC AND control register 41 2 2 6 BAND bit AND 42 2 2 7 Bcc branch conditionally 44 2 2 8 BCLR bit clear 47 2 2 9 BIAND bit invert AND ...

Страница 4: ...word 93 2 2 32 5 MOV move data byte 95 2 2 32 6 MOV move data word 96 2 2 33 MULXU multiply extend as unsigned 98 2 2 34 NEG negate 99 2 2 35 NOP no operation 100 2 2 36 NOT NOT logical complement 101 2 2 37 OR inclusive OR logical 102 2 2 38 ORC inclusive OR control register 103 2 2 39 POP pop data 104 2 2 40 PUSH push data 105 2 2 41 ROTL rotate left 106 2 2 42 ROTR rotate right 107 2 2 43 ROTXL...

Страница 5: ...ions 130 2 5 Number of Execution States 138 Section 3 CPU Operation States 145 3 1 Program Execution State 146 3 2 Exception Handling States 146 3 2 1 Types and Priorities of Exception Handling 146 3 2 2 Exception Sources and Vector Table 148 3 2 3 Outline of Exception Handling Operation 148 3 3 Reset State 149 3 4 Power Down State 149 Section 4 Basic Operation Timing 151 4 1 On chip Memory RAM RO...

Страница 6: ...iv ...

Страница 7: ...it general registers and a concise optimized instruction set This manual gives detailed descriptions of the H8 300L instructions The descriptions apply to all chips in the H8 300L Series Assembly language programmers should also read the separate H8 300 Series Cross Assembler User s Manual For hardware details refer to the hardware manual of the specific chip ...

Страница 8: ...2 ...

Страница 9: ...ions Powerful bit manipulation instructions 8 addressing modes Register direct Rn Register indirect Rn Register indirect with displacement d 16 Rn Register indirect with post increment pre decrement Rn Rn Absolute address aa 8 aa 16 Immediate xx 8 xx 16 Program counter relative d 8 PC Memory indirect aa 8 64 kbyte address space High speed operation All frequently used instructions are executed in ...

Страница 10: ...nd DIVXU 16 bits 8 bits instructions operate on word data The DAA and DAS instruction perform decimal arithmetic adjustments on byte data in packed BCD form Each 4 bit of the byte is treated as a decimal digit Data Structure in General Registers Data of all the sizes above can be stored in general registers as shown in figure 1 1 Data type Register No Data format 1 Bit data RnH Don t care 7 6 5 4 ...

Страница 11: ......

Страница 12: ...6 8 bit general registers R0H R0L R7H R7L which can also be accessed as eight 16 bit registers R0 to R7 There are two control registers the 16 bit program counter PC and the 8 bit condition code register CCR 7 R0H R0L R1L R1H R2L R2H R3L R3H R4L R4H R5L R5H R6L R6H R7L R7H SP 7 0 0 SP Stack Pointer 15 0 PC Program Counter Condition Code Register Carry flag Overflow flag Zero flag Negative flag Hal...

Страница 13: ...an be coded as a synonym for R7 As indicated in figure 1 4 R7 SP points to the top of the stack Unused area SP R7 Stack area Figure 1 4 Stack Pointer 1 2 2 Control Registers The CPU has a 16 bit program counter PC and an 8 bit condition code register CCR 1 Program Counter PC This 16 bit register indicates the address of the next instruction the CPU will execute Instructions are fetched by 16 bit w...

Страница 14: ......

Страница 15: ...transfer MOV POP PUSH 1 Arithmetic operations ADD SUB ADDX SUBX INC DEC ADDS SUBS DAA DAS MULXU DIVXU CMP NEG 14 Logic operations AND OR XOR NOT 4 Shift SHAL SHAR SHLL SHLR ROTL ROTR ROTXL ROTXR 8 Bit manipulation BSET BCLR BNOT BTST BAND BIAND BOR BIOR BXOR BIXOR BLD BILD BST BIST 14 Branch Bcc JMP BSR JSR RTS 5 System control RTE SLEEP LDC STC ANDC ORC XORC NOP 8 Block data transfer EEPMOV 1 Tot...

Страница 16: ...ondition code register N N negative bit of CCR Z Z zero bit of CCR V V overflow bit of CCR C C carry bit of CCR PC Program counter SP Stack pointer R7 Imm Immediate data op Operation field disp Displacement Addition Subtraction Multiplication Division AND logical OR logical Exclusive OR logical Move Not 3 8 16 3 bit 8 bit or 16 bit length ...

Страница 17: ...Rn aa 16 xx 8 or xx 16 Rn and Rn addressing modes are available for byte or word data The aa 8 addressing mode is available for byte data only The R7 and R7 modes require word operands Do not specify byte size for these two modes POP W SP Rn Pops a 16 bit general register from the stack Equivalent to MOV W SP Rn PUSH W Rn SP Pushes a 16 bit general register onto the stack Equivalent to MOV W Rn SP...

Страница 18: ... 1 Rd Rd 2 Rd Adds or subtracts immediate data to or from data in a general register The immediate data must be 1 or 2 DAA DAS B Rd decimal adjust Rd Decimal adjusts adjusts to packed BCD an addition or subtraction result in a general register by referring to the condition code register MULXU B Rd Rs Rd Performs 8 bit 8 bit unsigned multiplication on data in two general registers providing a 16 bi...

Страница 19: ...eneral register and another general register or immediate data NOT B Rd Rd Obtains the one s complement logical complement of general register contents Size Operand size B Byte Table 1 5 Shift Instructions Instruction Size Function SHAL SHAR B Rd shift Rd Performs an arithmetic shift operation on general register contents SHLL SHLR B Rd shift Rd Performs a logical shift operation on general regist...

Страница 20: ...it No of EAd C ANDs the C flag with the inverse of a specified bit in a general register or memory The bit number is specified by 3 bit immediate data BOR BIOR B B C bit No of EAd C ORs the C flag with a specified bit in a general register or memory C bit No of EAd C ORs the C flag with the inverse of a specified bit in a general register or memory The bit number is specified by 3 bit immediate da...

Страница 21: ...rry Clear High or Same C 0 BCS BLO Carry Set Low C 1 BNE Not Equal Z 0 BEQ Equal Z 1 BVC Overflow Clear V 0 BVS Overflow Set V 1 BPL Plus N 0 BMI Minus N 1 BGE Greater or Equal N V 0 BLT Less Than N V 1 BGT Greater Than Z N V 0 BLE Less or Equal Z N V 1 JMP Branches unconditionally to a specified address BSR Branches to a subroutine at a specified displacement from the current address JSR Branches...

Страница 22: ...RC B CCR Imm CCR Logically exclusive ORs the condition code register with immediate data NOP PC 2 PC Only increments the program counter Size Operand size B Byte Table 1 9 Block Data Transfer Instruction Instruction Size Function EEPMOV if R4L 0 then repeat RS R6 R4L 1 R4L until R4L 0 else next Moves a data block according to parameters set in general registers R4L R5 and R6 R4L size of block byte...

Страница 23: ...t 0 in port control register 4 PCR4 under the following conditions P47 Input pin Low P46 Input pin High P45 P40 Output pins Low The intended purpose of this BCLR instruction is to switch P40 from output to input Before Execution of BCLR Instruction P47 P46 P45 P44 P43 P42 P41 P40 Input output Input Input Output Output Output Output Output Output Pin state Low High Low Low Low Low Low Low PCR4 0 0 ...

Страница 24: ...a register PDR4 under the following conditions P47 Input pin Low P46 Input pin High P45 P40 Output pins Low The intended purpose of this BSET instruction is to switch the output level at P40 from Low to High Before Execution of BSET Instruction P47 P46 P45 P44 P43 P42 P41 P40 Input output Input Input Output Output Output Output Output Output Pin state Low High Low Low Low Low Low Low PCR4 0 0 1 1 ...

Страница 25: ... P45 to P40 are output pins for these pins the CPU reads the value in PDR4 The CPU therefore reads the value of port 4 as H 40 although the actual value in PDR4 is H 80 Next the CPU sets bit 0 of the read data to 1 changing the value to H 41 Finally the CPU writes this value H 41 back to PDR4 to complete the BSET instruction As a result bit 0 in PDR4 is set to 0 switching pin P40 to High output Ho...

Страница 26: ...abs 7 op 8 0 15 15 7 8 7 8 0 0 15 op 7 8 0 Rn Rn Rm or Rm Rn op d 16 Rm Rn or Rn d 16 Rm op Rm Rn or Rn Rm op IMM op Rn xx 8 op IMM xx 16 Rn POP PUSH MOV r r m n r r m n r r m n r r aa 8 Rn or Rn aa 8 n r n r aa 16 Rn or Rn aa 16 n r n r n r Notation op Operation field r r Register field disp Displacement abs Absolute address IMM Immediate data m n Figure 1 5 Instruction Format of Data Transfer In...

Страница 27: ...8 0 MULXU DIVXU op m ADDX SUBX Rm DAS NEG NOT ADDS SUBS INC DEC DAA 15 15 op xx 8 ADD ADDX SUBX CMP 7 7 8 8 0 IMM 0 AND OR XOR Rm 15 15 op AND OR XOR xx 8 7 7 8 8 0 0 SHAL SHAR SHLL SHLR op op IMM ROTL ROTR ROTXL ROTXR r n r n r m r n r m r n r n r Notation op Operation field r r Register field IMM Immediate data m n n r n r Figure 1 6 Instruction Format of Arithmetic Logic and Shift Instructions ...

Страница 28: ...Rn 7 8 IMM n 0 op 15 op Bit No register direct Rm Operand register indirect Rn 7 8 0 0 0 0 0 0 0 0 0 op 15 op Operand absolute aa 8 Bit No register direct Rm 7 8 abs 0 0 0 0 0 op 15 BAND BOR BXOR BLD BST Operand register direct Rn Bit No immediate xx 3 7 8 IMM 0 op op 15 op 15 op Operand register indirect Rn Bit No immediate xx 3 Operand absolute aa 8 Bit No immediate xx 3 7 8 abs IMM IMM 0 0 0 0 ...

Страница 29: ...nd register indirect Rn Bit No immediate xx 3 op 15 op Operand absolute aa 8 Bit No immediate xx 3 7 8 IMM abs 0 0 0 0 0 BIAND BIOR BIXOR BILD BIST r n r Notation op Operation field r r Register field abs Absolute address IMM Immediate data m n Figure 1 7 Instruction Format of Bit Manipulation Instructions Cont ...

Страница 30: ... 0 op 15 15 15 7 7 8 op 8 7 8 op 0 disp 0 BSR 0 op disp m abs abs 0 0 0 JMP aa 16 JMP aa 8 0 0 0 0 op JSR Rm 15 15 op op 15 abs 7 7 8 8 0 0 RTS JSR aa 8 abs 7 op 8 0 JSR aa 16 Notation op Operation field cc Condition field r Register field disp Displacement abs Absolute address m r m r Figure 1 8 Instruction Format of Branching Instructions ...

Страница 31: ...ng Modes and Effective Address Calculation Table 1 10 lists the eight addressing modes and their assembly language notation Each instruction can use a specific subset of these addressing modes Arithmetic logic and shift instructions use register direct addressing 1 The ADD B ADDX SUBX CMP B AND OR and XOR instructions can also use immediate addressing 6 The MOV instruction uses all the addressing ...

Страница 32: ...d 4 which is added to the contents of the specified general register to obtain the operand address For the MOV W instruction the resulting address must be even 4 Register Indirect with Post Increment or Pre Decrement Rn or Rn Register indirect with post increment Rn The Rn mode is used with MOV instructions that load registers from memory It is similar to the register indirect mode but the 16 bit ...

Страница 33: ...de is used to generate branch addresses in the Bcc and BSR instructions An 8 bit value in byte 2 of the instruction code is added as a sign extended value to the program counter contents The result must be an even number The possible branching range is 126 to 128 bytes 63 to 64 words from the current address 8 Memory Indirect aa 8 This mode can be used by the JMP and JSR instructions The second by...

Страница 34: ...ress Calculation 1 No Addressing mode instruction format Effective address calculation Effective address 1 Register direct Rn None OP reg m reg n reg m 15 8 7 4 3 0 reg n 3 0 3 0 Operand are contained in registers m and n 2 Register indirect Rn OP reg 15 7 6 4 3 0 Operand is at address indicated by register 16 bit register contents 15 0 15 0 ...

Страница 35: ...placement 4 Register indirect with pre decrement Rn 16 bit register contents op reg 15 7 6 4 3 0 15 0 15 0 Register is decremented before operand access 1 or 2 Register indirect with post increment Rn 16 bit register contents OP reg 15 7 6 4 3 0 15 0 15 0 Register is incremented after operand access 1 or 2 1 for a byte operand 2 for a word operand 5 Absolute address aa 8 None H FF OP 15 8 7 0 abs ...

Страница 36: ...mediate data Immediate xx 16 None OP IMM 15 0 Operand is 2 byte immediate data 7 PC relative d 8 PC PC contents disp OP 15 8 7 0 15 0 15 0 disp Sign extension Destination address 8 Memory indirect aa 8 H 00 OP 15 8 7 0 15 0 abs 16 bit memory contents 15 8 7 0 Destination address 15 0 rag regm regn General register op Operation field disp Displacement abs Absolute address IMM Immediate data ...

Страница 37: ...e Condition Code I H N Z V C I Previous value remains unchanged H Set to 1 when there is a carry from bit 3 otherwise cleared to 0 N Set to 1 when the result is negative otherwise cleared to 0 Z Set to 1 when the result is zero otherwise cleared to 0 V Set to 1 when an overflow occurs otherwise cleared to 0 C Set to 1 when there is a carry from bit 7 otherwise cleared to 0 Description This instruc...

Страница 38: ... page Operation The instruction is described in symbolic notation The following symbols are used Symbol Meaning Rd General register destination Rs General register source Rn General register EAd Destination operand EAs Source operand PC Program counter SP Stack pointer CCR Condition code register N N negative flag of CCR Z Z zero flag of CCR V V overflow flag of CCR C C carry flag of CCR disp Disp...

Страница 39: ...rect with displacement Rn Rn Register indirect with post increment pre decrement aa 8 aa 16 Absolute address xx 8 xx 16 Immediate d 8 PC Program counter relative aa 8 Memory indirect Operand size Word or byte Byte size is indicated for bit manipulation instructions because these instructions access a full byte in order to read or write one bit Condition code The effect of instruction execution on ...

Страница 40: ...rs are 8 bit or 16 bit registers depending on the size of the operand For 8 bit registers the lower three bits of rs rd or rn give the register number The most significant bit is 1 if the lower byte of the register is used or 0 if the upper byte is used Registers are thus indicated as follows 16 Bit register Register rs rd or rn 0 0 0 0 0 1 1 1 1 R0 R1 R7 8 Bit registers rs rd or rn Register 0 0 0...

Страница 41: ...arry flag in CCR Bit No 5 C H FF02 BLD 5 H FF02 8 The addressing mode and operand size apply to the register or memory byte containing the bit Number of States Required for Execution The number of states indicated is the number required when the instruction and any memory operands are located in on chip ROM or RAM If ...

Страница 42: ...leared to 0 N Set to 1 when the result is negative otherwise cleared to 0 Z Set to 1 when the result is zero otherwise cleared to 0 V Set to 1 when an overflow occurs otherwise cleared to 0 C Set to 1 when there is a carry from bit 7 otherwise cleared to 0 Description This instruction adds the source operand to the contents of an 8 bit general register and places the result in the general register...

Страница 43: ... Z Set to 1 when the result is zero otherwise cleared to 0 V Set to 1 when an overflow occurs otherwise cleared to 0 C Set to 1 when there is a carry from bit 15 otherwise cleared to 0 Description This instruction adds word data in two general registers and places the result in the second general register Instruction Formats and Number of Execution States Instruction code Addressing mode Mnem Oper...

Страница 44: ...us value remains unchanged C Previous value remains unchanged Description This instruction adds the immediate value 1 or 2 to word data in a general register Unlike the ADD instruction it does not affect the condition code flags Instruction Formats and Number of Execution States Instruction code Addressing mode Mnem Operands 1st byte 2nd byte 3rd byte 4th byte No of states Register direct ADDS 1 R...

Страница 45: ... zero otherwise cleared to 0 V Set to 1 when an overflow occurs otherwise cleared to 0 C Set to 1 when there is a carry from bit 7 otherwise cleared to 0 Description This instruction adds the source operand and carry flag to the contents of an 8 bit general register and places the result in the general register Instruction Formats and Number of Execution States Instruction code Addressing mode Mne...

Страница 46: ......

Страница 47: ... 0 of the immediate data Description This instruction ANDs the condition code register CCR with immediate data and places the result in the condition code register Bits 6 and 4 are ANDed as well as the flag bits No interrupt requests are accepted immediately after this instruction All interrupts including the nonmaskable interrupt NMI are deferred until after the next instruction Instruction Forma...

Страница 48: ......

Страница 49: ...umber of Execution States Instruction code Addressing mode Mnem Operands 1st byte 2nd byte 3rd byte 4th byte No of states Register direct BAND xx 3 Rd 7 6 0 IMM rd 2 Register indirect BAND xx 3 Rd 7 C 0 rd 0 7 6 0 IMM 0 6 Absolute address BAND xx 3 aa 8 7 E abs 7 6 0 IMM 0 6 Register direct register indirect or absolute addressing ...

Страница 50: ...us value remains unchanged C Previous value remains unchanged Description If the specified condition is false this instruction does nothing the next instruction is executed If the specified condition is true a signed displacement is added to the address of the next instruction and execution branches to the resulting address The displacement is a signed 8 bit value which must be even The branch des...

Страница 51: ... 0 1 Carry Set Low C 1 X Y Unsigned BNE 0 1 1 0 Not Equal Z 0 X Y Signed or unsigned BEQ 0 1 1 1 Equal Z 1 X Y Signed or unsigned BVC 1 0 0 0 Overflow Clear V 0 BVS 1 0 0 1 Overflow Set V 1 BPL 1 0 1 0 Plus N 0 BMI 1 0 1 1 Minus N 1 BGE 1 1 0 0 Greater or Equal N V 0 X Y Signed BLT 1 1 0 1 Less Than N V 1 X Y Signed BGT 1 1 1 0 Greater Than Z N V 0 X Y Signed BLE 1 1 1 1 Less or Equal Z N V 1 X Y ...

Страница 52: ...p 4 PC relative BLS d 8 4 3 disp 4 PC relative BCC BHS d 8 4 4 disp 4 PC relative BCS BLO d 8 4 5 disp 4 PC relative BNE d 8 4 6 disp 4 PC relative BEQ d 8 4 7 disp 4 PC relative BVC d 8 4 8 disp 4 PC relative BVS d 8 4 9 disp 4 PC relative BPL d 8 4 A disp 4 PC relative BMI d 8 4 B disp 4 PC relative BGE d 8 4 C disp 4 PC relative BLT d 8 4 D disp 4 PC relative BGT d 8 4 E disp 4 PC relative BLE ...

Страница 53: ...ious value remains unchanged V Previous value remains unchanged C Previous value remains unchanged Description This instruction clears a specified bit in the destination operand to 0 The bit number can be specified by 3 bit immediate data or by the lower three bits of an 8 bit general register The destination operand can be located in a general register or memory The specified bit is not tested be...

Страница 54: ...ion code Addressing mode Mnem Operands 1st byte 2nd byte 3rd byte 4th byte No of states Register direct BCLR xx 3 Rd 7 2 0 IMM rd 2 Register indirect BCLR xx 3 Rd 7 D 0 rd 0 7 2 0 IMM 0 8 Absolute address BCLR xx 3 aa 8 7 F abs 7 2 0 IMM 0 8 Register direct BCLR Rn Rd 6 2 rn rd 2 Register indirect BCLR Rn Rd 7 D 0 rd 0 6 2 rn 0 8 Absolute address BCLR Rn aa 8 7 F abs 6 2 rn 0 8 ...

Страница 55: ... value remains unchanged Z Previous value remains unchanged V Previous value remains unchanged C ANDed with the inverse of the specified bit Description This instruction ANDs the inverse of a specified bit with the carry flag and places the result in the carry flag The specified bit can be located in a general register or memory The bit number is specified by 3 bit immediate data The operation is ...

Страница 56: ... Number of Execution States Instruction code Addressing mode Mnem Operands 1st byte 2nd byte 3rd byte 4th byte No of states Register direct BIAND xx 3 Rd 7 6 1 IMM rd 2 Register indirect BIAND xx 3 Rd 7 C 0 rd 0 7 6 1 IMM 0 6 Absolute address BIAND xx 3 aa 8 7 E abs 7 6 1 IMM 0 6 Register direct register indirect or absolute addressing ...

Страница 57: ...changed N Previous value remains unchanged Z Previous value remains unchanged V Previous value remains unchanged C Loaded with the inverse of the specified bit Description This instruction loads the inverse of a specified bit into the carry flag The specified bit can be located in a general register or memory The bit number is specified by 3 bit immediate data The operation is shown schematically ...

Страница 58: ... Number of Execution States Instruction code Addressing mode Mnem Operands 1st byte 2nd byte 3rd byte 4th byte No of states Register direct BILD xx 3 Rd 7 7 1 IMM rd 2 Register indirect BILD xx 3 Rd 7 C 0 rd 0 7 7 1 IMM 0 6 Absolute address BILD xx 3 aa 8 7 E abs 7 7 1 IMM 0 6 Register direct register indirect or absolute addressing ...

Страница 59: ...vious value remains unchanged Z Previous value remains unchanged V Previous value remains unchanged C ORed with the inverse of the specified bit Description This instruction ORs the inverse of a specified bit with the carry flag and places the result in the carry flag The specified bit can be located in a general register or memory The bit number is specified by 3 bit immediate data The operation ...

Страница 60: ......

Страница 61: ...us value remains unchanged N Previous value remains unchanged Z Previous value remains unchanged V Previous value remains unchanged C Previous value remains unchanged Description This instruction stores the inverse of the carry flag to a specified bit location in a general register or memory The bit number is specified by 3 bit immediate data The operation is shown schematically below ...

Страница 62: ...and Number of Execution States Instruction code Addressing mode Mnem Operands 1st byte 2nd byte 3rd byte 4th byte No of states Register direct BIST xx 3 Rd 6 7 1 IMM rd 2 Register indirect BIST xx 3 Rd 7 D 0 rd 0 6 7 1 IMM 0 8 Absolute address BIST xx 3 aa 8 7 F abs 6 7 1 IMM 0 8 Register direct register indirect or absolute addressing ...

Страница 63: ...ue remains unchanged Z Previous value remains unchanged V Previous value remains unchanged C Exclusive ORed with the inverse of the specified bit Description This instruction exclusive ORs the inverse of a specified bit with the carry flag and places the result in the carry flag The specified bit can be located in a general register or memory The bit number is specified by 3 bit immediate data The...

Страница 64: ... Number of Execution States Instruction code Addressing mode Mnem Operands 1st byte 2nd byte 3rd byte 4th byte No of states Register direct BIXOR xx 3 Rd 7 5 1 IMM rd 2 Register indirect BIXOR xx 3 Rd 7 C 0 rd 0 7 5 1 IMM 0 6 Absolute address BIXOR xx 3 aa 8 7 E abs 7 5 1 IMM 0 6 Register direct register indirect or absolute addressing ...

Страница 65: ...vious value remains unchanged Z Previous value remains unchanged V Previous value remains unchanged C Loaded with the specified bit Description This instruction loads a specified bit into the carry flag The specified bit can be located in a general register or memory The bit number is specified by 3 bit immediate data The operation is shown schematically below The value of the specified bit is not...

Страница 66: ...umber of Execution States Instruction code Addressing mode Mnem Operands 1st byte 2nd byte 3rd byte 4th byte No of states Register direct BLD xx 3 Rd 7 7 0 IMM rd 2 Register indirect BLD xx 3 Rd 7 C 0 rd 0 7 7 0 IMM 0 6 Absolute address BLD xx 3 aa 8 7 E abs 7 7 0 IMM 0 6 Register direct register indirect or absolute addressing ...

Страница 67: ...s value remains unchanged N Previous value remains unchanged Z Previous value remains unchanged V Previous value remains unchanged C Previous value remains unchanged Description This instruction inverts a specified bit in a general register or memory location The bit number is specified by 3 bit immediate data or by the lower three bits of a general register The operation is shown schematically be...

Страница 68: ...rmats and Number of Execution States Instruction code Addressing mode Mnem Operands 1st byte 2nd byte 3rd byte 4th byte No of states Register direct BNOT xx 3 Rd 7 1 0 IMM rd 2 Register indirect BNOT xx 3 Rd 7 D 0 rd 0 7 1 0 IMM 0 8 Absolute address BNOT xx 3 aa 8 7 F abs 7 1 0 IMM 0 8 Register direct BNOT Rn Rd 6 1 rn rd 2 Register indirect BNOT Rn Rd 7 D 0 rd 0 6 1 rn 0 8 Absolute address BNOT R...

Страница 69: ...nged N Previous value remains unchanged Z Previous value remains unchanged V Previous value remains unchanged C ORed with the specified bit Description This instruction ORs a specified bit with the carry flag and places the result in the carry flag The specified bit can be located in a general register or memory The bit number is specified by 3 bit immediate data The operation is shown schematical...

Страница 70: ...Number of Execution States Instruction code Addressing mode Mnem Operands 1st byte 2nd byte 3rd byte 4th byte No of states Register direct BOR xx 3 Rd 7 4 0 IMM rd 2 Register indirect BOR xx 3 Rd 7 C 0 rd 0 7 4 0 IMM 0 6 Absolute address BOR xx 3 aa 8 7 4 abs 7 4 0 IMM 0 6 Register direct register indirect or absolute addressing ...

Страница 71: ...ious value remains unchanged V Previous value remains unchanged C Previous value remains unchanged Description This instruction sets a specified bit in the destination operand to 1 The bit number can be specified by 3 bit immediate data or by the lower three bits of an 8 bit general register The destination operand can be located in a general register or memory The specified bit is not tested befo...

Страница 72: ...ion code Addressing mode Mnem Operands 1st byte 2nd byte 3rd byte 4th byte No of states Register direct BSET xx 3 Rd 7 0 0 IMM rd 2 Register indirect BSET xx 3 Rd 7 D 0 rd 0 7 0 0 IMM 0 8 Absolute address BSET xx 3 aa 8 7 F abs 7 0 0 IMM 0 8 Register direct BSET Rn Rd 6 0 rn rd 2 Register indirect BSET Rn Rd 7 D 0 rd 0 6 0 rn 0 8 Absolute address BSET Rn aa 8 7 F abs 6 0 rn 0 8 ...

Страница 73: ...pushes the program counter PC value onto the stack then adds a specified displacement to the program counter value and branches to the resulting address The program counter value used is the address of the instruction following the BSR instruction The displacement is a signed 8 bit value which must be even The possible branching range is 126 to 128 bytes from the address of the BSR instruction Ins...

Страница 74: ...ious value remains unchanged N Previous value remains unchanged Z Previous value remains unchanged V Previous value remains unchanged C Previous value remains unchanged Description This instruction stores the carry flag to a specified flag location in a general register or memory The bit number is specified by 3 bit immediate data The operation is shown schematically below ...

Страница 75: ...es Instruction code Addressing mode Mnem Operands 1st byte 2nd byte 3rd byte 4th byte No of states Register direct BST xx 3 Rd 6 7 0 IMM rd 2 Register indirect BST xx 3 Rd 7 D 0 rd 0 6 7 0 IMM 0 8 Absolute address BST xx 3 aa 8 7 F abs 6 7 0 IMM 0 8 Register direct register indirect or absolute addressing ...

Страница 76: ...ns unchanged Z Set to 1 when the specified bit is zero otherwise cleared to 0 V Previous value remains unchanged C Previous value remains unchanged Description This instruction tests a specified bit in a general register or memory location and sets or clears the Zero flag accordingly The bit number can be specified by 3 bit immediate data or by the lower three bits of an 8 bit general register The...

Страница 77: ...Execution States Instruction code Addressing mode Mnem Operands 1st byte 2nd byte 3rd byte 4th byte No of states Register direct BTST xx 3 Rd 7 3 0 IMM rd 2 Register indirect BTST xx 3 Rd 7 C 0 rd 0 7 3 0 IMM 0 6 Absolute address BTST xx 3 aa 8 7 E abs 7 3 0 IMM 0 6 Register direct BTST Rn Rd 6 3 rn rd 2 Register indirect BTST Rn Rd 7 C 0 rd 0 6 3 rn 0 6 Absolute address BTST Rn aa 8 7 E abs 6 3 r...

Страница 78: ...evious value remains unchanged Z Previous value remains unchanged V Previous value remains unchanged C Exclusive ORed with the specified bit Description This instruction exclusive ORs a specified bit with the carry flag and places the result in the carry flag The specified bit can be located in a general register or memory The bit number is specified by 3 bit immediate data The operation is shown ...

Страница 79: ...umber of Execution States Instruction code Addressing mode Mnem Operands 1st byte 2nd byte 3rd byte 4th byte No of states Register direct BXOR xx 3 Rd 7 5 0 IMM rd 2 Register indirect BXOR xx 3 Rd 7 C 0 rd 0 7 5 0 IMM 0 6 Absolute address BXOR xx 3 aa 8 7 E abs 7 5 0 IMM 0 6 Register direct register indirect or absolute addressing ...

Страница 80: ...d to 0 V Set to 1 when an overflow occurs otherwise cleared to 0 C Set to 1 when there is a borrow from bit 7 otherwise cleared to 0 Description This instruction subtracts an 8 bit source register or immediate data from an 8 bit destination register and sets the condition code flags according to the result The destination register is not altered Instruction Formats and Number of Execution States I...

Страница 81: ...sult is zero otherwise cleared to 0 V Set to 1 when an overflow occurs otherwise cleared to 0 C Set to 1 when there is a borrow from bit 15 otherwise cleared to 0 Description This instruction subtracts a source register from a destination register and sets the condition code flags according to the result The destination register is not altered Instruction Formats and Number of Execution States Ins...

Страница 82: ...eared to 0 V Unpredictable C Set to 1 when there is a carry from bit 7 otherwise left unchanged Description When the result of an addition operation performed by the ADD B or ADDX instruction on 4 bit BCD data is contained in an 8 bit general register and the carry and half carry flags the DAA instruction adjusts the result by adding H 00 H 06 H 60 or H 66 to the general register according to the ...

Страница 83: ......

Страница 84: ...tion on 4 bit BCD data is contained in an 8 bit general register and the carry and half carry flags the DAA instruction adjusts the result by adding H 00 H FA H A0 or H 9A to the general register according to the table below Valid results are not assured if this instruction is executed under conditions other than those stated above Status before adjustment C flag Upper nibble H flag Lower nibble V...

Страница 85: ...hen the result is zero otherwise cleared to 0 V Set to 1 when an overflow occurs the previous value in Rd was H 80 otherwise cleared to 0 C Previous value remains unchanged Description This instruction decrements an 8 bit general register and places the result in the general register Instruction Formats and Number of Execution States Instruction code Addressing mode Mnem Operands 1st byte 2nd byte...

Страница 86: ... value remains unchanged Description This instruction divides a 16 bit general register by an 8 bit general register and places the result in the 16 bit general register The quotient is placed in the lower byte The remainder is placed in the upper byte The operation is shown schematically below Rd Rs RdH RdL Dividend Divisor Remainder Quotient 16 bits 8 bits 8 bits 8 bits Rd Valid results Kd N Z a...

Страница 87: ...sion an overflow will occur if the divisor byte is equal to or less than the upper byte of the dividend For example H FFFF H 01 H FFFF causes an overflow The quotient has more than 8 bits Overflows can be avoided by using a subprogram like the following A work register is required To perform DIVXU R0L R1 MOV B H 00 R2H CMP B R0L R1H BCC L1 DIVXU R0L R1 1 MOV B R1L R2L BRA L2 L1 MOV B R1H R2L 2 DIV...

Страница 88: ...82 R0L Divisor R1 Dividend R1 Remainder Quotient 1 R1 Dividend R2 H 00 Dividend High 2 R1 Partial remainder Dividend Low R2 Partial remainder Quotient High 3 R1 Remainder Quotient Low R2 Quotient 4 ...

Страница 89: ...k of data from the memory location specified in general register R5 to the memory location specified in general register R6 General register R4L gives the byte length of the block Data are transferred a byte at a time After each byte transfer R5 and R6 are incremented and R4Lis decremented When R4L reaches 0 the transfer ends and the next instruction is executed No interrupt requests are accepted ...

Страница 90: ...Instruction code Addressing mode Mnem Operands 1st byte 2nd byte 3rd byte 4th byte No of states EEPMOV 7 B 5 C 5 9 8 F 9 4n n is the initial value in R4L 0 n 255 Although n bytes of data are transferred memory is accessed 2 n 1 times requiring 4 n 1 states ...

Страница 91: ...hen the result is zero otherwise cleared to 0 V Set to 1 when an overflow occurs the previous value in Rd was H 7F otherwise cleared to 0 C Previous value remains unchanged Description This instruction increments an 8 bit general register and places the result in the general register Instruction Formats and Number of Execution States Instruction code Addressing mode Mnem Operands 1st byte 2nd byte...

Страница 92: ...revious value remains unchanged C Previous value remains unchanged Description This instruction branches unconditionally to a specified destination address The destination address must be even Instruction Formats and Number of Execution States Instruction code Addressing mode Mnem Operands 1st byte 2nd byte 3rd byte 4th byte No of states Register indirect JMP Rn 5 9 0 rn 0 4 Absolute address JMP a...

Страница 93: ...anged Description This instruction pushes the program counter onto the stack then branches to a specified destination address The program counter value pushed on the stack is the address of the instruction following the JSR instruction The destination address must be even Instruction Formats and Number of Execution States Instruction code Addressing mode Mnem Operands 1st byte 2nd byte 3rd byte 4t...

Страница 94: ...m the source operand Description This instruction loads the source operand contents into the condition code register CCR Bits 4 and 6 are loaded as well as the flag bits No interrupt requests are accepted immediately after this instruction All interrupts are deferred until after the next instruction Instruction Formats and Number of Execution States Instruction code Addressing mode Mnem Operands 1...

Страница 95: ...89 2 2 32 1 MOV move data byte Operation Rs Rd Assembly Language Format MOV B Rs Rd Operand Size Byte Condition Code I H N Z V C 0 ...

Страница 96: ...o 0 Z Set to 1 when the data value is zero otherwise cleared to 0 V Cleared to 0 C Previous value remains unchanged Description This instruction moves one word of data from a source register to a destination register and sets condition code flags according to the data value Instruction Formats and Number of Execution States Instruction code Addressing mode Mnem Operands 1st byte 2nd byte 3rd byte ...

Страница 97: ...is negative otherwise cleared to 0 Z Set to 1 when the data value is zero otherwise cleared to 0 V Cleared to 0 C Previous value remains unchanged Description This instruction moves one byte of data from a source operand to a destination register and sets condition code flags according to the data value The MOV B R7 Rd instruction should never be used because it leaves an odd value in the stack po...

Страница 98: ...e 4th byte No of states Immediate MOV B xx 8 Rd F rd IMM 2 Register indirect MOV B RS Rd 6 8 0 rs rd 4 Register indirect with displacement MOV B d 16 Rs Rd 6 E 0 rs rd disp 6 Register indirect with post increment MOV B Rs Rd 6 C 0 rs rd 6 Absolute address MOV B aa 8 Rd 2 rd abs 4 Absolute address MOV B aa 16 Rd 6 A 0 rd abs 6 ...

Страница 99: ...eared to 0 V Cleared to 0 C Previous value remains unchanged Description This instruction moves one word of data from a source operand to a destination register and sets condition code flags according to the data value If the source operand is in memory it must be located at an even address MOV W R7 Rd is identical in machine language to POP W Rd Note that the LSIs in the H8 300L Series contain on...

Страница 100: ...d byte 3rd byte 4th byte No of states Immediate MOV W xx 16 Rd 7 9 0 0 rd IMM 4 Register indirect MOV W RS Rd 6 9 0 rs 0 rd 4 Register indirect with displacement MOV W d 16 Rs Rd 6 F 0 rs 0 rd disp 6 Register indirect with post increment MOV W Rs Rd 6 D 0 rs 0 rd 6 Absolute address MOV W aa 16 Rd 6 B 0 0 rd abs 6 ...

Страница 101: ...ng to the data value The MOV B Rs R7 instruction should never be used because it leaves an odd value in the stack pointer See section 3 2 3 for details The instruction MOV B RnH Rn or MOV B RnL Rn decrements register Rn then moves the upper or lower byte of the decremented result to memory Instruction Formats and Number of Execution States Instruction code Addressing mode Mnem Operands 1st byte 2n...

Страница 102: ...vious value remains unchanged Description This instruction moves one word of data from a general register to memory and sets condition code flags according to the data value The destination address in memory must be even MOV W Rs R7 is identical in machine language to PUSH W Rs The instruction MOV W Rn Rn decrements register Rn by 2 then moves the decremented result to memory Note that the LSIs in...

Страница 103: ... Operands 1st byte 2nd byte 3rd byte 4th byte No of states Register indirect MOV W Rs Rd 6 9 1 rd 0 rs 4 Register indirect with displacement MOV W Rs d 16 Rd 6 F 1 rd 0 rs disp 6 Register indirect with pre decrement MOV W Rs Rd 6 D 1 rd 0 rs 6 Absolute address MOV W Rs aa 16 6 B 8 0 rs abs 6 ...

Страница 104: ...egister and places the result in the destination register The source register is an 8 bit register The destination register is a 1 6 bit register containing the data to be multiplied in the lower byte The upper byte is ignored The result is placed in both bytes of the destination register The operation is shown schematically below Don t care Multiplicand X Multiplier Product Rd Rs Rd 8 bits 8 bits...

Страница 105: ...ister was H 80 otherwise cleared to 0 C Set to 1 when there is a borrow from bit 7 the previous contents of the destination register was not H 00 otherwise cleared to 0 Description This instruction replaces the contents of an 8 bit general register with its two s complement subtracts the register contents from H 00 If the original contents of the destination register was H 80 the register value re...

Страница 106: ...Z Previous value remains unchanged V Previous value remains unchanged C Previous value remains unchanged Description This instruction only increments the program counter causing the next instruction to be executed The internal state of the CPU does not change Instruction Formats and Number of Execution States Instruction code Addressing mode Mnem Operands 1st byte 2nd byte 3rd byte 4th byte No of ...

Страница 107: ...e cleared to 0 Z Set to 1 when the result is zero otherwise cleared to 0 V Cleared to 0 C Previous value remains unchanged Description This instruction replaces the contents of an 8 bit general register with its one s complement subtracts the register contents from H FF Instruction Formats and Number of Execution States Instruction code Addressing mode Mnem Operands 1st byte 2nd byte 3rd byte 4th ...

Страница 108: ... Z Set to 1 when the result is zero otherwise cleared to 0 V Cleared to 0 C Previous value remains unchanged Description This instruction ORs the source operand with the contents of an 8 bit general register and places the result in the general register Instruction Formats and Number of Execution States Instruction code Addressing mode Mnem Operands 1st byte 2nd byte 3rd byte 4th byte No of states...

Страница 109: ...te data C ORed with bit 0 of the immediate data Description This instruction ORs the condition code register CCR with immediate data and places the result in the condition code register Bits 6 and 4 are ORed as well as the flag bits No interrupt requests are accepted immediately after this instruction All interrupts are deferred until after the next instruction Instruction Formats and Number of Ex...

Страница 110: ... when the data value is zero otherwise cleared to 0 V Cleared to 0 C Previous value remains unchanged Description This instruction pops data from the stack to a 16 bit general register and sets condition code flags according to the data value POP W Rn is identical in machine language to MOV W SP Rn Instruction Formats and Number of Execution States Instruction code Addressing mode Mnem Operands 1s...

Страница 111: ...hen the data value is zero otherwise cleared to 0 V Cleared to 0 C Previous value remains unchanged Description This instruction pushes data from a 16 bit general register onto the stack and sets condition code flags according to the data value PUSH W Rn is identical in machine language to MOV W Rn SP Instruction Formats and Number of Execution States Instruction code Addressing mode Mnem Operands...

Страница 112: ...otherwise cleared to 0 V Cleared to 0 C Receives the previous value in bit 7 Description This instruction rotates an 8 bit general register one bit to the left The most significant bit is rotated to the least significant bit and also copied to the carry flag The operation is shown schematically below C Bit 7 Bit 0 MSB LSB Instruction Formats and Number of Execution States Instruction code Addressi...

Страница 113: ... otherwise cleared to 0 V Cleared to 0 C Receives the previous value in bit 0 Description This instruction rotates an 8 bit general register one bit to the right The least significant bit is rotated to the most significant bit and also copied to the carry flag The operation is shown schematically below Bit 7 Bit 0 C MSB LSB Instruction Formats and Number of Execution States Instruction code Addres...

Страница 114: ...cleared to 0 V Cleared to 0 C Receives the previous value in bit 7 Description This instruction rotates an 8 bit general register one bit to the left through the carry flag The carry flag is rotated into the least significant bit of the register The most significant bit rotates into the carry flag The operation is shown schematically below C Bit 7 Bit 0 MSB LSB Instruction Formats and Number of Ex...

Страница 115: ...therwise cleared to 0 V Cleared to 0 C Receives the previous value in bit 0 Description This instruction rotates an 8 bit general register one bit to the right through the carry flag The least significant bit is rotated into the carry flag The carry flag rotates into the most significant bit The operation is shown schematically below Bit 7 Bit 0 C MSB LSB Instruction Formats and Number of Executio...

Страница 116: ......

Страница 117: ...ous value remains unchanged C Previous value remains unchanged Description This instruction returns from a subroutine It pops the program counter PC from the stack Program execution continues from the address restored to the program counter The PC contents at the time of execution of this instruction are lost Instruction Formats and Number of Execution States Instruction code Addressing mode Mnem ...

Страница 118: ...wise cleared to 0 C Receives the previous value in bit 7 Description This instruction shifts an 8 bit general register one bit to the left The most significant bit shifts into the carry flag and the least significant bit is cleared to 0 The operation is shown schematically below C Bit 7 Bit 0 MSB LSB 0 The SHAL instruction is identical to the SHLL instruction except for its effect on the overflow ...

Страница 119: ...hen the result is negative otherwise cleared to 0 Z Set to 1 when the result is zero otherwise cleared to 0 V Cleared to 0 C Receives the previous value in bit 0 Description This instruction shifts an 8 bit general register one bit to the right The most significant bit remains unchanged The sign of the result does not change The least significant bit shifts into the carry flag The operation is sho...

Страница 120: ...114 Instruction Formats and Number of Execution States Instruction code Addressing mode Mnem Operands 1st byte 2nd byte 3rd byte 4th byte No of states Register direct SHAR Rd 1 1 8 rd 2 ...

Страница 121: ... cleared to 0 Z Set to 1 when the result is zero otherwise cleared to 0 V Cleared to 0 C Receives the previous value in bit 0 Description This instruction shifts an 8 bit general register one bit to the left The least significant bit is cleared to 0 The most significant bit shifts into the carry flag The operation is shown schematically below C Bit 7 Bit 0 MSB LSB 0 The SHLL instruction is identic...

Страница 122: ...116 Instruction Formats and Number of Execution States Instruction code Addressing mode Mnem Operands 1st byte 2nd byte 3rd byte 4th byte No of states Register direct SHLL Rd 1 0 0 rd 2 ...

Страница 123: ...ged N Set to 1 when the result is negative otherwise cleared to 0 Z Set to 1 when the result is zero otherwise cleared to 0 V Cleared to 0 C Receives the previous value in bit 0 Description This instruction shifts an 8 bit general register one bit to the right The most significant bit is cleared to 0 The least significant bit shifts into the carry flag The operation is shown schematically below Bi...

Страница 124: ...118 Instruction Formats and Number of Execution States Instruction code Addressing mode Mnem Operands 1st byte 2nd byte 3rd byte 4th byte No of states Register direct SHLR Rd 1 1 0 rd 2 ...

Страница 125: ...n mode Its internal state remains unchanged but the CPU stops executing instructions and waits for an exception handling request interrupt or reset When it receives an exception handling request the CPU exits the power down mode and begins the exception handling sequence If the interrupt mask I bit is set to 1 the power down mode can be released only by a nonmaskable interrupt NMI or reset For inf...

Страница 126: ...ged Z Previous value remains unchanged V Previous value remains unchanged C Previous value remains unchanged Description This instruction copies the condition code register CCR to a specified general register Bits 6 and 4 are copied as well as the flag bits Instruction Formats and Number of Execution States Instruction code Addressing mode Mnem Operands 1 st byte 2nd byte 3rd byte 4th byte No of s...

Страница 127: ...en an overflow occurs otherwise cleared to 0 C Set to 1 when there is a borrow from bit 7 otherwise cleared to 0 Description This instruction subtracts an 8 bit source register from an 8 bit destination register and places the result in the destination register Only register direct addressing is supported To subtract immediate data it is necessary to use the SUBX B instruction first setting the ze...

Страница 128: ...122 Instruction Formats and Number of Execution States Instruction code Addressing mode Mnem Operands 1st byte 2nd byte 3rd byte 4th byte No of states Register direct SUB B Rs Rd 1 8 rs rd 2 ...

Страница 129: ...1 when the result is zero otherwise cleared to 0 V Set to 1 when an overflow occurs otherwise cleared to 0 C Set to 1 when there is a borrow from bit 15 otherwise cleared to 0 Description This instruction subtracts a 16 bit source register from a 16 bit destination register and places the result in the destination register Instruction Formats and Number of Execution States Instruction code Address...

Страница 130: ...s value remains unchanged C Previous value remains unchanged Description This instruction subtracts the immediate value 1 or 2 from word data in a general register Unlike the SUB instruction it does not affect the condition code flags The SUBS instruction does not permit byte operands Instruction Formats and Number of Execution States Instruction code Addressing mode Mnem Operands 1 st byte 2nd by...

Страница 131: ...he result is zero otherwise cleared to 0 V Set to 1 when an overflow occurs otherwise cleared to 0 C Set to 1 when there is a borrow from bit 7 otherwise cleared to 0 Description This instruction subtracts the source operand and carry flag from the contents of an 8 bit general register and places the result in the general register Instruction Formats and Number of Execution States Instruction code...

Страница 132: ...t to 1 when the result is zero otherwise cleared to 0 V Cleared to 0 C Previous value remains unchanged Description This instruction exclusive ORs the source operand with the contents of an 8 bit general register and places the result in the general register Instruction Formats and Number of Execution States Instruction code Addressing mode Mnem Operands 1st byte 2nd byte 3rd byte 4th byte No of s...

Страница 133: ... Exclusive ORed with bit 0 of the immediate data Description This instruction exclusive ORs the condition code register CCR with immediate data and places the result in the condition code register Bits 6 and 4 are exclusive ORed as well as the flag bits No interrupt requests are accepted immediately after this instruction All interrupts including the nonmaskable interrupt NMI are deferred until af...

Страница 134: ...0L CPU Only the first byte bits 15 to 8 of the first word of the instruction code is indicated here Indicates that the most significant bit of the 2nd byte bit 7 of 1st word of instruction code is 0 Indicates that the most significant bit of the 2nd byte bit 7 of 1st word of instruction code is 1 ...

Страница 135: ...BSR BOR BIOR BXOR BIXOR BAND BIAND ANDC AND BNE RTE LDC BEQ NOT NEG BLD BILD BST BIST ADD SUB BVC BVS MOV INC DEC BPL JMP ADDS SUBS BMI EEPMOV MOV CMP BGE BLT ADDX SUBX BGT JSR DAA DAS BLE MOV ADD ADDX CMP SUBX OR XOR AND MOV MOV The PUSH and POP instructions are equivalent in machine language to the MOV instruction See the descriptions of individual instructions in section 2 2 Instructions for de...

Страница 136: ...2 0 4 MOV B aa 16 Rd B aa 16 Rd8 4 0 6 MOV B Rs Rd B Rs8 Rd16 2 0 4 MOV B Rs d 16 Rd B Rs8 d 16 Rd16 4 0 6 MOV B Rs Rd B Rd16 1 Rd16 Rs8 Rd16 2 0 6 MOV B Rs aa 8 B Rs8 aa 8 2 0 4 MOV B Rs aa 16 B Rs8 aa 16 4 0 6 MOV W xx 16 Rd W xx 16 RD 4 0 4 MOV W Rs Rd W Rs16 Rd16 2 0 2 MOV W Rs Rd Rs16 Rd16 2 0 4 MOV W d 16 Rs Rd W d 16 Rs16 Rd1 6 4 0 6 MOV W Rs Rd W Rs16 Rd16 Rs16 2 Rs16 2 0 6 MOV W aa 16 Rd ...

Страница 137: ... 2 3 2 SUB B Rs Rd B Rd8 Rs8 Rd8 2 2 SUB W Rs Rd W Rd16 Rs16 Rd16 2 1 2 SUBX B xx 8 Rd B Rd8 xx 8 C Rd8 2 2 2 SUBX B Rs Rd B Rd8 Rs8 C Rd8 2 2 2 SUBS W 1 Rd W Rd16 1 Rd16 2 2 SUBS W 2 Rd W Rd16 2 Rd16 2 2 DEC B Rd B Rd8 1 Rd8 2 2 DAS B Rd B Rd8 decimal adjust Rd8 2 2 NEG B Rd B 0 Rd Rd 2 2 CMP B xx 8 Rd B Rd8 xx 8 2 2 CMP B Rs Rd B Rd8 Rs8 2 2 CMP W Rs Rd W Rd16 Rs16 2 1 2 MULXU B Rs Rd B Rd8xRs8 ...

Страница 138: ...perand Size Operation xx 8 16 Rn Rn d 16 Rn Rn Rn aa 8 16 d 8 PC aa Implied Condition Code No of States I H N Z V0 C SHAL B Rd B b7 b0 0 C 2 2 SHAR B Rd B C b7 b0 2 0 2 SHLL B Rd B b7 b0 0 C 2 0 2 SHLR B Rd B b7 b0 0 C 2 0 0 2 ROTXL B Rd B C b7 b0 2 0 2 ROTXR B Rd B C b7 b0 2 0 2 ROTL B Rd B C ...

Страница 139: ...nic Operand Size Operation xx 8 16 Rn Rn d 16 Rn Rn Rn aa 8 16 d 8 PC aa Implied Condition Code No of States I H N Z V0 C BCLR xx 3 Rd B xx 3 of Rd8 0 2 2 BCLR xx 3 Rd B xx 3 of Rd16 0 4 8 BCLR xx 3 aa 8 B xx 3 of aa 8 0 4 8 BCLR Rn Rd Rd B Rn8 of Rd8 0 2 2 BCLR Rn Rd B Rn8 of Rd 16 0 4 8 ...

Страница 140: ...ondition Code No of States I H N Z V0 C BIST xx 3 Rd B xx 3 of Rd8 2 2 BIST xx 3 Rd B xx 3 of Rd16 4 8 BIST xx 3 aa8 B xx 3 of aa 8 4 8 BAND xx 3 Rd B C xx 3 of Rd8 C 2 2 BAND xx 3 Rd B C xx 3 of Rd16 C 4 6 BAND xx 3 aa 8 B C xx 3 of aa 8 C 4 6 BIAND xx 3 Rd B C RI 5G C 2 2 BIAND xx 3 Rd B C RI 5G C 4 6 BIAND xx 3 aa8 B C RI DD C 4 6 BOR xx 3 Rd B Cv xx 3 of Rd8 C 2 2 ...

Страница 141: ...I d 8 N 1 2 4 BGE d 8 N V 0 2 4 BLT d 8 N V 1 2 4 BGT d 8 Zv N V 0 2 4 BLE d 8 Zv N V 1 2 4 JMP Rn PC Rn16 2 4 JMP aa 16 PC aa 16 4 6 JMP aa 8 PC aa 8 2 8 BSR SP 2 SP PC SP PC PC d 8 2 6 JSR Rn SP 2 SP PC SP PC Rn16 2 6 JSR aa 16 SP 2 SP PC SP PC aa 16 4 8 JSR aa 8 SP 2 SP PC SP PC aa 8 2 8 RTS PC SP SP 2 SP 2 8 RTE CCR SP SP 2 SP PC SP SP 2 SP 2 10 SLEEP Transit to sleep mode 2 2 LDC xx 8 CCR B x...

Страница 142: ... d 16 Rn Rn Rn aa 8 16 d 8 PC aa Implied Condition Code No of States Branching Condition I H N Z V0 C BHI d 8 if condition is true then PC PC d 8 else next CvZ 0 2 4 BLS d 8 CvZ 1 2 4 BCC d 8 BHS d 8 C 0 2 4 BCS d 8 BLO d 8 C 1 2 4 BNE d 8 Z 0 2 4 BEQ d 8 Z 1 2 4 BVC d 8 V 0 2 4 BVS d 8 V 1 2 4 ...

Страница 143: ... assumed that the operation code and operand data are in on chip memory For other cases refer to section 2 5 Number of Execution States 1 Set to 1 when there is a carry or borrow at bit 11 otherwise cleared to 0 2 When the result is 0 the previous value remains unchanged otherwise cleared to 0 3 Set to 1 when there is a carry in the adjusted result otherwise the previous value remains unchanged 4 ...

Страница 144: ...n chip ROM and an on chip RAM is accessed 1 BSET 0 FF00 From table 2 4 I L 2 J K M N 0 From table 2 3 SI 2 SL 2 Number of states required for execution 2 2 2 2 8 When instruction is fetched from on chip ROM branch address is read from on chip ROM and on chip RAM is used for stack area 2 JSR 30 From table 2 4 I 2 J K 1 L M N 0 From table 2 3 SI SJ SK 2 Number of states required for execution 2 2 1 ...

Страница 145: ...W Rs Rd 1 ADDS ADDS W 1 2 Rd 1 ADDX ADDX B xx 8 Rd 1 ADDX B Rs Rd 1 AND AND B xx 8 Rd 1 AND B Rs Rd 1 ANDC ANDC xx 8 CCR 1 BAND BAND xx 3 Rd 1 BAND xx 3 Rd 2 1 BAND xx 3 aa 8 2 1 Bcc BRA d 8 BT d 8 2 BRN d 8 BF d 8 2 BHI d 8 2 BLS d 8 2 BCC d 8 BHS d 8 2 BCS d 8 BLO d 8 2 BNE d 8 2 BEQ d 8 2 BVC d 8 2 BVS d 8 2 BPL d 8 2 BMI d 8 2 BGE d 8 2 BLT d 8 2 BGT d 8 2 BLE d 8 2 BCLR BCLR xx 3 Rd 1 BCLR xx...

Страница 146: ... 1 BILD xx 3 Rd 2 1 BILD xx3 aa 8 2 1 BIOR BIOR xx 3 Rd 1 BIOR xx3 Rd 2 1 BIOR xx 3 aa 8 2 1 BIST BIST xx 3 Rd 1 BIST xx 3 Rd 2 2 BIST xx 3 aa 8 2 2 BIXOR BIXOR xx 3 Rd 1 BIXOR xx 3 Rd 2 1 BIXOR xx 3 aa 8 2 1 BLD BLD xx 3 Rd 1 BLD xx 3 Rd 2 2 BLD xx 3 aa 8 2 2 BNOT BNOT xx 3 Rd 1 BNOT XX 3 Rd 2 2 BNOT xx 3 aa 8 2 2 BNOT Rn Rd 1 BNOT Rn Rd 2 2 BNOT Rn aa 8 2 2 BOR BOR xx 3 Rd 1 BOR xx 3 Rd 2 1 BOR ...

Страница 147: ...xx 3 aa 8 2 2 BTST BTST xx 3 Rd 1 BTST xx 3 Rd 2 1 BTST xx 3 aa 8 2 1 BTST Rn Rd 1 BTST Rn Rd 2 1 BTST Rn aa 8 2 1 BXOR BXOR xx 3 Rd 1 BXOR xx 3 Rd 2 1 BXOR xx 3 aa 8 2 1 CMP CMP B xx 8 Rd 1 CMP B Rs Rd 1 CMP W Rs Rd 1 DAA DAA B Rd 1 DAS DAS B Rd 1 DEC DEC B Rd 1 DIVXU DIVXU B Rs Rd 1 12 EEPMOV EEPMOV 2 2n 2 1 INC INC B Rd 1 JMP JMP Rn 2 JMP aa 16 2 2 JMP aa 8 2 1 2 JSR JSR Rn 2 1 JSR aa 16 2 1 2 ...

Страница 148: ...16 Rd 2 1 MOV B Rs Rd 1 1 MOV B Rs d 16 Rd 2 1 MOV B Rs Rd 1 1 2 MOV B Rs aa 8 1 1 MOV B Rs aa 16 2 1 MOV W xx 16 Rd 2 MOV W Rs Rd 1 MOV W Rs Rd 1 1 MOV W d 16 Rs Rd 2 1 MOV W Rs Rd 1 1 2 MOV W aa 16 Rd 2 1 MOV W Rs Rd 1 1 MOV W Rs d 16 Rd 2 MOV W Rs Rd 1 1 2 MOV W Rs aa 16 2 1 MULXU MULXU B Rs Rd 1 12 NEG NEG B Rd 1 NOP NOP 1 NOT NOT B Rd 1 OR OR B xx 8 Rd 1 OR B Rs Rd 1 ORC ORC xx 8 CCR 1 POP PO...

Страница 149: ...TXR B Rd 1 RTE RTE 2 2 2 RTS RTS 2 1 2 SHLL SHLL B Rd 1 SHAL SHAL B Rd 1 SHAR SHAR B Rd 1 SHLR SHLR B Rd 1 SLEEP SLEEP 1 STC STC CCR Rd 1 SUB SUB B Rs Rd 1 SUB W Rs Rd 1 SUBS SUBS W 1 2 Rd 1 SUBX SUBX B xx 8 Rd 1 SUBX B Rs Rd 1 XOR XOR B xx 8 Rd 1 XOR B Rs Rd 1 XORC XORC xx 8 CCR 1 n Initial value in R4L The source and destination operands are accessed n 1 times each ...

Страница 150: ...144 ...

Страница 151: ......

Страница 152: ... its normal processing flow branching to a start address acquired from a vector table In exception handling caused by an interrupt PC and CCR values are saved to the stack with reference made to a stack pointer R7 3 2 1 Types and Priorities of Exception Handling Exception handling includes processing of reset exceptions and of interrupts Table 3 1 summarizes the factors causing each kind of except...

Страница 153: ...eption handling starts as soon as 5 6 pin changes from low to high Low Interrupt End of instruction execution When an interrupt request is made interrupt exception handling starts after execution of the present instruction is completed Interrupt detection is not made upon completion of ANDC ORC XORC and LDC instruction execution nor upon completion of reset exception handling ...

Страница 154: ...t high level and reset exception handling is started at the point when the reset conditions are met For details on reset conditions refer to the applicable hardware manual When reset exception handling is started the CPU gets a start address from the exception handling vector table and starts executing the exception handling routine from that address During execution of this routine and immediatel...

Страница 155: ...of register contents must always be done in word size and must start from an even numbered address Figure 3 4 Stack State after Completion of Interrupt Exception Handling 3 3 Reset State When the 5 6 pin goes to low level all processing stops and the system goes to reset state The I bit of the condition code register CCR is set masking all interrupts After the 5 6 pin is changed externally from lo...

Страница 156: ...150 ...

Страница 157: ...manual 4 1 On chip Memory RAM ROM Two state access is employed for high speed access to on chip memory The data bus width is 16 bits allowing access in byte or word size Figure 4 1 shows the on chip memory access cycle φ Internal address bus Internal read signal Internal data bus read access Internal write signal Internal data bus write access Note Bus cycle T1 state T2 state Address Read data Wri...

Страница 158: ...in byte size only Access to word data or instruction codes is not possible Figure 4 2 shows the on chip peripheral module access cycle φ Internal address bus Internal read signal Internal data bus read access Internal write signal Internal data bus write access Note An 8 bit data bus is used Bus cycle T1 state T2 state Address Read data Write data a Two state access ...

Отзывы: