beautypg.com

4 instruction set, 1 addressing mode, 1 basic addressing modes – Epson S1C63000 User Manual

Page 39: Chapter, Nstruction

background image

S1C63000 CORE CPU MANUAL

EPSON

33

CHAPTER 4: INSTRUCTION SET

CHAPTER

4 I

NSTRUCTION

S

ET

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