S1C63000 CORE CPU MANUAL EPSON 33
CHAPTER 4: INSTRUCTION SET
CHAPTER 4INSTRUCTION SET
The S1C63000 offers high machine cycle efficiency and a high speed instruction set. It has 47 basic
instructions (412 instructions in all) that are designed as an instruction system permitting relocatable
programming.
This chapter explains about the addressing modes for memory management and about the details of each
instruction.
4.1 Addressing Mode
The S1C63000 has the following 8 types of addressing modes and the address specifications correspond-
ing to the various statuses are done concisely and accurately.
• Types of addressing modes
Basic addressing modes (5 types)
1) Immediate data addressing
2) Register direct addressing
3) Register indirect addressing
4) 6-bit absolute addressing
5) Signed 8-bit PC relative addressing
Extended addressing modes (3 types)
1) 16-bit immediate data addressing
2) 8-bit absolute addressing
3) Signed 16-bit PC relative addressing
4.1.1 Basic addressing modes
The basic addressing mode is an addressing function independent of the instruction.
• Immediate data addressing
The immediate data addressing is the addressing mode in which the immediate data is used for
operations and is used as transfer data. Values that are specified in the operand are directly used as
data or addresses. In the instruction list, the following symbols are used to write immediate data.
Table 4.1.1.1 Symbol and size of immediate data
Symbol
imm2
imm4
imm6
imm8
sign8
n4
Use
Specifying a bit No. in 4-bit data
4-bit general-purpose data
Specifying a software interrupt vector
8-bit general-purpose data
Signed 8-bit general-purpose data
Specifying a radix
2 bits
4 bits
6 bits
8 bits
8 bits
4 bits
Size
0–3
0–15
0–63
0–255
-128–127
1–16
Specifiable range
Examples:
CLR [addr6],imm2 ...Clears a bit specified with imm2 within a 4-bit data in an address [addr6]
LD %A,imm4 ...Loads a 4-bit data imm4 into the A register
INT imm6 ...A software interrupt of which the vector address is specified with imm6
LDB %BA,imm8 ...Loads an 8-bit data imm8 into the BA register
CALZ imm8 ...Calls a subroutine that starts from an address imm8
(Address specifiable range is 0000H to 00FFH.)
ADD %X,sign8 ...Adds a signed 8-bit data sign8 to the X register
ADC %B,%A,n4 ...Adds data in the A register to the B register with a radix n4 specification