beautypg.com

3 instruction formats – Epson S1C63000 User Manual

Page 65

background image

S1C63000 CORE CPU MANUAL

EPSON

59

CHAPTER 4: INSTRUCTION SET

4.3 Instruction Formats

All the instructions of the S1C63000 are configured with 1 word (13 bits) as follows:

I

OP Code

Examples:

LD
ADD
PUSH

%A,%B
%A,[%X]
%F

II

OP Code

Examples:

LD
ADC
BIT

%A,imm4
[%Y],%B,n4
%B,imm4

III

OP Code

Examples:

INC
CALR
INT

[addr6]
[addr6]
imm6

IV

OP Code

Examples:

LDB
CALZ
JR

%BA,imm8
imm8
sign8

V

OP Code

Examples:

CLR
SET
TST

[addr6],imm2
[addr6],imm2
[addr6],imm2

Operand

Operand

Operand

Operand

Operand

13-bit operation code

9-bit operation code + 4-bit immediate data

7-bit operation code + 6-bit immediate data

5-bit operation code + 8-bit immediate data

5-bit operation code + 2-bit immediate data + 6-bit immediate data

– – –

– – –

– – –

– – –

– – –

– – –

(sign16 : imm8 is upper 8-bit, sign8 is lower 8-bit)

PC

PC + sign16 + 1 (sign16 = 32767~-32768)

If C = 1 then PC

PC + sign16 + 1 (sign16 = 32767 ~ -32768)

If C = 0 then PC

PC + sign16 + 1 (sign16 = 32767 ~ -32768)

If Z = 1 then PC

PC + sign16 + 1 (sign16 = 32767 ~ -32768)

If Z = 0 then PC

PC + sign16 + 1 (sign16 = 32767 ~ -32768)

( [SP1 - 1

4 + 3] ~ [ (SP1 - 1)

4] )

PC + 1, SP1

SP1 - 1

PC

PC + sign16 + 1 (sign16 = 32767 ~ -32768)

Mnemonic

Operation

Flag

E I C Z

signed 16-bit PC relative addressing

LDB

%EXT,imm8

JR

sign8

LDB

%EXT,imm8

JRC

sign8

LDB

%EXT,imm8

JRNC

sign8

LDB

%EXT,imm8

JRZ

sign8

LDB

%EXT,imm8

JRNZ

sign8

LDB

%EXT,imm8

CALR

sign8

– – –

– – –

– –

– –

X

imm16 (

1 is upper 8-bit,

2 is lower 8-bit)

Y

imm16 (

1 is upper 8-bit,

2 is lower 8-bit)

X

X + imm16 (

1 is upper 8-bit,

2 is lower 8-bit)

Y

Y + imm16 (

1 is upper 8-bit,

2 is lower 8-bit)

X - imm16 (FFH -

1 is upper 8-bit,

2 is lower 8-bit)

Y - imm16 (FFH -

1 is upper 8-bit,

2 is lower 8-bit)

Mnemonic

Operation

Flag

E I C Z

16-bit immediate data addressing

LDB

%EXT,imm8

1

LDB

%XL,imm8

2

LDB

%EXT,imm8

1

LDB

%YL,imm8

2

LDB

%EXT,imm8

1

ADD

%X,sign8

2

LDB

%EXT,imm8

1

ADD

%Y,sign8

2

LDB

%EXT,imm8

1

CMP

%X,imm8

2

LDB

%EXT,imm8

1

CMP

%X,imm8

2

↔ ↔

↔ ↔↔↔