CHAPTER 4: INSTRUCTION SET

CHAPTER 4 INSTRUCTION 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 corresponding 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

Use

Size

Specifiable range

imm2

Specifying a bit No. in 4-bit data

2 bits

0–3

 

 

 

 

imm4

4-bit general-purpose data

4 bits

0–15

 

 

 

 

imm6

Specifying a software interrupt vector

6 bits

0–63

 

 

 

 

imm8

8-bit general-purpose data

8 bits

0–255

 

 

 

 

sign8

Signed 8-bit general-purpose data

8 bits

-128–127

 

 

 

 

n4

Specifying a radix

4 bits

1–16

 

 

 

 

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

S1C63000 CORE CPU MANUAL

EPSON

33