IBM EM78P312N manual Instruction Set, Binary Instruction Hex Mnemonic Operation Status

Page 60

EM78P312N

8-Bit Microcontroller

5.19 Instruction Set

Each instruction in the instruction set is a 13-bit word divided into an OP code and one or more operands. Normally, all instructions are executed within one single instruction cycle (one instruction consists of 2 oscillator periods), unless the program counter is changed by instruction "MOV R2,A", "ADD R2,A", or by instructions of arithmetic or logic operation on R2 (e.g. "SUB R2,A", "BS(C) R2,6", "CLR R2", ⋅⋅⋅⋅). In this case, the execution takes two instruction cycles.

In case the instruction cycle specification is not suitable for certain applications, try to modify the instruction as follows:

(A)Change one instruction cycle to consist of 4 oscillator periods.

(B)The following commands are executed within two instruction cycles; "JMP", "CALL", "RET", "RETL", "RETI", including the conditional skip ("JBS", "JBC", "JZ", "JZA", "DJZ", "DJZA") instructions. In addition, instructions that are written to the program counter are executed within two instruction cycles.

Case (A) is selected by the CODE Option bit, called CLK. One instruction cycle consists of two oscillator clocks if CLK is low, and four oscillator clocks if CLK is high.

Note that once the 4 oscillator periods within one instruction cycle is selected as in Case (A), the internal clock source to TCC should be CLK=Fosc/4, not Fosc/2.

Furthermore, the instruction set has the following features:

(1)Every bit of any register can be set, cleared, or tested directly.

(2)The I/O register can be regarded as general register. That is, the same instruction can operate on I/O register.

Convention:

R = Register designator that specifies which one of the registers (including operation and general purpose registers) is to be utilized by the instruction.

b = Bit field designator that selects the value for the bit located in the register R and which affects the operation.

k = 8 or 10-bit constant or literal value

 

 

Binary Instruction

 

Hex

 

Mnemonic

 

Operation

 

Status

 

 

 

 

 

 

 

 

Affected

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0000

0000

0000

 

0000

 

NOP

 

 

No Operation

None

 

 

0

0000

0000

0001

 

0001

 

DAA

 

 

Decimal Adjust A

C

 

 

0

0000

0000

0010

 

0002

 

CONTW

 

 

A CONT

None

 

 

0

0000

0000

0011

 

0003

 

SLEP

 

 

0 WDT, Stop

T, P

 

 

 

 

 

 

oscillator

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0000

0000

0100

 

0004

 

WDTC

 

 

0 WDT

T, P

 

 

0

0000

0000

rrrr

 

000r

 

IOW

R

 

A IOCR

None 1

 

 

0

0000

0001

0000

 

0010

 

ENI

 

 

Enable Interrupt

None

 

 

0

0000

0001

0001

 

0011

 

DISI

 

 

Disable Interrupt

None

 

 

0

0000

0001

0010

 

0012

 

RET

 

 

[Top of Stack] PC

None

 

 

0

0000

0001

0011

 

0013

 

RETI

 

 

[Top of Stack] PC,

None

 

 

 

 

 

 

Enable Interrupt

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0000

0001

0100

 

0014

 

CONTR

 

 

CONT A

None

 

 

0

0000

0001

rrrr

 

001r

 

IOR

R

 

IOCR A

None 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

56

 

 

 

 

 

 

 

Product Specification (V1.0) 10.03.2006

(This specification is subject to change without further notice)

Image 60
Contents EM78P312N DOC. VersionElan Microelectronics Corporation Contents 14.1 16.116.2 16.3General Description Bit MicrocontrollerSymbol Pin No Type Function Pin DescriptionFunctional Block Diagram Function DescriptionOperating Registers Operating RegistersBit Microcontroller R0 Indirect Addressing Register R1 Time Clock /CounterR2 Program Counter & Stack User Memory Space R3 Status RegisterBit 7 ~ Bit 6 RBS1 ~ RBS0 R-Register page select RBS1 RBS0Bit 1 SIS Sleep and Idle mode select SIS = 0 Idle mode SIS = 1 Sleep modeBit 0 C Carry flag R4 RAM Select Register R5 System Control RegisterRB Timer/Counter 4 Control Register Bit Microcontroller R6 Port 6 I/O Data RegisterBit 7 ~ Bit 0 P67 ~ P60 8-bit Port 6 I/O data register R7 Port 7 I/O Data RegisterRC Timer 4 Data Buffer Clock Source Resolution Max. TimeTC4CK2 TC4CK1 TC4CK0 Fosc=8MBit Microcontroller RE Interrupt Status Flag Register RFInterrupt Status Flag RegisterBank 1 R5 TC3CR Timer/Counter 3 Control Register TC3M = 1 Capture mode Bank 1 R6 TC3DA Timer 3 Data Buffer aBank 1 R7 TC3DB Timer 3 Data Buffer B Bit 7 TC3CAP Software capture controlBank 1 R9 TC2DH Timer 2 Data Buffer High Byte Bank 1 RA TC2DL Timer 2 Data Buffer Low ByteTC2S = 0 Stop and counter clear Bank 1 RB Adcr AD Control RegisterBit 7 ~ Bit 0 ADE7 ~ ADE0 AD input pin enable control Bit 5~ Bit 4 ADCK1 ~ ADCK0 AD Conversion Time SelectBank 1 RC Adic AD Input Pin Control Bank 1 RD Addh AD High 8-bit Data BufferTEN = 0 Disable TEN = 1 Enable Bit Microcontroller Bank 1 RE Tbktc TBT/Keytone ControlBank 2 R5 URC1 Uart Control Register BitBank 2 R7 URS Uart Status Register Bit 7 URRD8 Receiving data BitBRATE2 BRATE1 BRATE0 TC2CK1 TC2CK0Bit 5 PRE Enable parity addition Bit 6 Even Select parity checkEven = 0 Odd parity Even = 1 Even parity Bank 2 R9 Urtd Uart Transmit Data BufferBit 5 ~ Bit 3 BRS0 ~ BRS2 SPI Clock Source Select Bit 2 EDS Data shift out edge selectEDS = 0 Rising edge EDS = 1 Falling edge Bit 0 WBE Write buffer empty flag. Read onlyPHE6x = 1 Disable P6x pull high Transfer ModeBank 3 RB PLC1 Pull Low Control Register SPID7 SPID6 SPID5 SPID4 SPID3 SPID2 SPID1 SPID0Special Purpose Registers IOC6 ~ IOC9 − I/O Port Control Register Intcr − INT Control Register Address 0BhINT1ES = 0 Rising edge INT1ES = 1 Falling edge TC2ES = 0 Rising edge TC2ES = 1 Falling edgeExternal Interrupt Adoscr − AD Offset Control Register Address 0ChCali Sign IMR2 − Interrupt Mask Register 2 Address 0Fh Uerrie Urie Utie Tbie EXIE1 TCIE0CPU Operation Mode Registers for CPU Operation ModeMode Switching Control Operation ModeSleep Mode Idle Mode Wake-up Signal R5 SIS = 1+SLEP R5 SIS= 0 + Slep InstructionAD Converter Wake-up MethodsOperation Mode Max. Frequency Max. Conversion Rate per Bit ADC Data RegisterSampling Time Conversion TimeTime Base Timer and Keytone Generator Address Name BitMUX Uart Universal Asynchronous Receiver/Transmitter Registers for Uart CircuitName Bit Uart Mode TransmittingReceiving Baud Rate GeneratorSPI Serial Peripheral Interface Registers for the SPI CircuitRbank Address Name Bit Shift Direction and Sample Phase Transfer ModeBit Transmit Mode Serial ClockBit Microcontroller Bit Receive Mode Bit Transmit/Receive ModeSCK pin Spis Multiple Device Connect /SSTimer/Counter Registers for Timer/Counter 2 CircuitTimer Mode Counter ModeWindow Mode Registers for Timer/Counter 3 Circuit 21 Window Mode Timing ChartCapture Mode 22 Configuration of Timer/Counter3Registers for Timer 4 Circuit TCIF4PDO Mode TCR4PWM Mode 12 TCC/WDT & PrescalerUp-counter TC4 InterruptReset and Wake-up Reset13 I/O Ports Wake-up from Sleep Mode Wake-up from Idle ModeAddress Name Reset Type Bit Summary of the Initialized Values for RegistersBit Microcontroller Register Bank SCRAddres URTD8 Reset Type Status of RST, T, and P of the Status RegisterBit Microcontroller General Purpose Registers Events that may affect the T and P Status28 Controller Reset Block Diagram InterruptOscillator Oscillator ModesCrystal Oscillator/Ceramic Resonators Crystal Summary of Maximum Operating SpeedsOscillator Type Frequency Mode Frequency C1 pF C2 pF 740 EM78P312N 809NExternal RC Oscillator Mode OS CIEnwdtb = 0 Enable Enwdtb = 1 Disable Code Option RegisterCode Option Register Word Bit 12 ~ 9 Not usedPower-on Considerations External Power-on Reset CircuitCustomer ID Register OSC = 0 RC type OSC = 1 Crystal typeResidue-Voltage Protection VddEM78P312N EM78P809NInstruction Set Binary Instruction Hex Mnemonic Operation StatusBinary Instruction Hex Mnemonic Operation Status Affected DECSymbol Parameter Condition Min Typ Max Unit Absolute Maximum RatingsRecommended Operating Conditions Vss =DC Electrical Characteristics Ta= 25 C, VDD= 5.0V ± 5%, VSS=Ta= 25 C, VDD= 3.0V ± 5%, VSS= Varef AC Electrical Characteristic Symbol Parameter Conditions Min Typ Max UnitTa=- 40C ~ 85 C, VDD=5V ± 5%, VSS=0V Timing Diagram AC Test Input/Output WaveformOTP MCU Package TypePin Count Package Size EM78P311SxY