- 8 -
SM8521
SM85CPU
The SM85CPU is an 8-bit CPU with an unique
architecture, developed by SHARP, and the
following features.
General purpose register architectures
• There are eight 8-bit general purpose registers
(also serve as four 16-bit general purpose
registers) and four 16-bit general purpose
registers serve as accumulator, index register, or
the pointer registers.
General purpose register allocated at RAM
• The general purpose registers access the RAM
location by the register pointer RP. So pushing
the register during an interrupt and passing
parameter to subroutine can be executed in High
speed.
Refined instruction set
• The instruction set contains total 67 members : 8
load instructions, 19 arithmetic instructions, 7 logic
instructions, 9 program control (branch) instruction,
8 bit manipulation instructions, 8 rotate & shift
instructions and 9 CPU control instructions.
• There are powerful bit manipulation instructions
includes plural bits transfer, logical operation
between bits, and the bit test and jump instructions
that incorporates a test and condition branch in the
same instruction. (Refer to Table 1)
• There are data transfer, arithmetic and conditional
branch instructions for 16-bit. It can rapidly
process the word-sized and long jump.
• There are 8-bit x 8-bit
→16-bit multiplication and
16-bit x 16-bit→16-bit remaining 8-bit division
instructions. (Unsigned arithmetic)
23 address modes
• The rich address modes provides optimal access
to ROM, RAM and the register files.
Illegal instruction detecting function
• When an error code is detected, a non-maskable
interrupt (NMI) will be generated.
Standby function
• There are two standby modes, HALT and STOP
mode, and the mode can be changed by HALT
instruction or STOP instruction respectively.
Table 1 Instruction summary
TYPE INSTRUCTION NUMBER
Load instruction CLR, MOV, MOVM, MOVW, POP, POPW, PUSH, PUSHW 8
Arithmetic instruction
ADC, ADCW, ADD, ADDW, CMP, CMPW, DA, DEC, DECW, DIV,
EXTS, INC, INCW, MULT, NEG, SBC, SBCW, SUB, SUBW
19
Logic instruction AND, ANDW, COM, OR, ORW, XOR, XORW 7
Program control instruction BBC, BBS, BR, CALL, CALS, DBNZ, IRET, JMP, RET 9
Bit manipulation instruction BAND, BCLR, BCMP, BMOV, BOR, BTST, BSET, BXOR 8
Rotate & shift instruction RL, RLC, RR, RRC, SLL, SRA, SRL, SWAP 8
CPU control instruction COMC, CLRC, DI, EI, HALT, NOP, SETC, STOP 8
Total 67