sh6622a SinoWealth Micro-Electronics Corp. Ltd, sh6622a Datasheet - Page 3

no-image

sh6622a

Manufacturer Part Number
sh6622a
Description
Mask 4-bit Microcontroller
Manufacturer
SinoWealth Micro-Electronics Corp. Ltd
Datasheet
Function Description
1. CPU
The CPU contains the following function blocks: Program
Counter,
Accumulator, Table Branch Register, Data Pointer (INX,
DPH, DPM, and DPL), and Stack.
1.1. PC (Program Counter)
The Program Counter is used to address the 4K program
ROM. It consists of 12-bits: Page Register (PC11), and
Ripple Carry Counter (PC10, PC9, PC8, PC7, PC6, PC5,
PC4, PC3, PC2, PC1, PC0).
The program counter normally increases by one (+1) with
every execution of an instruction except in the following
cases:
(1) When executing a jump instruction (such as JMP, BA0,
(2) When executing a subroutine call instruction (CALL),
(3) When an interrupt occurs,
(4) When the chip is at the INITIAL RESET mode.
The program counter is loaded with data corresponding to
each instruction. The unconditional jump instruction (JMP)
can be set at 1-bit page register for higher than 2K.
1.2. ALU and CY
ALU performs arithmetic and logic operations. The ALU
provides the following functions:
Binary addition/subtraction (ADC, SBC, ADD, SUB, ADI,
SBI)
2. ROM
The SH6622A can address up to 4096 X 16 bit of program area from $000 to $FFF.
Service routine as starting vector address.
Vector Address Area ($000 to $004)
The program is sequentially executed. There is an area address $000 through $004 that is reserved for a special interrupt
service routine such as starting vector address.
Address
BC),
$000H
$001H
$002H
$003H
$004H
Arithmetic
JMP instruction
JMP instruction
JMP instruction
Instruction
Logic
NOP
NOP
Unit
(ALU),
Carry
Jump to TIMER0 service routine
Jump to RESET service routine
Jump to PBC service routine
Flag,
Reserved
Reserved
Function
3
Decimal adjustment for addition/subtraction (DAA, DAS)
Logic operations (AND, EOR, OR, ANDIM, EORIM, ORIM)
Decision (BA0, BA1, BA2, BA3, BAZ, BC)
Logic Shift (SHR)
The Carry Flag (CY) holds the ALU overflow, which the
arithmetic operation generates. During an interrupt servicing
or call instruction, the carry flag is pushed into the stack and
restored back from the stack by the RTNI instruction. It is
unaffected by the RTNW instruction.
1.3. Accumulator
Accumulator is a 4-bit register holding the results of the
arithmetic logic unit. In conjunction with ALU, data transfer
between the accumulator and system register, or data
memory can be performed.
1.4. Stack
A group of registers are used to save the contents of CY &
PC (11-0) sequentially with each subroutine call or interrupt.
It is organized in 13 bits X 4 levels. The MSB is saved for CY.
4 levels are the maximum allowed for subroutine calls and
interrupts.
The contents of Stack are returned sequentially to the PC
with the return instructions (RTNI/RTNW). Stack is operated
on a first-in, last-out basis. This 4-level nesting includes both
subroutine calls and interrupts requests. Note that program
execution may enter an abnormal state if the number of calls
and interrupt requests exceed 4, and the bottom of stack will
be shifted out.
SH6622A

Related parts for sh6622a