beautypg.com

Epson S1C63000 User Manual

Page 42

background image

36

EPSON

S1C63000 CORE CPU MANUAL

CHAPTER 4: INSTRUCTION SET

Examples:

LDB

%EXT,0x15

LDB

%XL,0x7D

...Works as "LD %X, 0157D"

LDB

%EXT,0xB8

ADD

%X,0x4F

...Works as "ADD %X, 0xB84F"

LDB

%EXT,0xE6

CMP

%X,0xA2

...Works as "CMP %X, 0x19A2"

19H = FFH - [EXT] (E6H)

Above examples use the X register, but they work the same even when the Y register is used.

Note: The CMP instruction performs a subtraction with a complement, therefore it is necessary to set the

complement (1’s complement) of the high-order 8-bit data in the EXT register.
EXT register

[FFH - High-order 8-bit data]

• 8-bit absolute addressing

The 8-bit absolute addressing is the addressing mode for accessing within the 8-bit address range
from 0000H or FF00H. To enter this mode, write the low-order 8 bits (00H to FFH) of the address to
the EXT register, then execute an indirect addressing instruction which has [%X] or [%Y] as the source
operand or the destination operand. When [%X] is used, the memory from 0000H to 00FFH can be
accessed, and when [%Y] is used, FF00H to FFFFH can be accessed.

Instructions that operate in the 8-bit absolute addressing mode with the E flag

Instruction

Operand

LD

%r,[%X] %r,[%Y] [%X],%r [%Y],%r [%X],imm4 [%Y],imm4

EX

%r,[%X] %r,[%Y]

ADD

%r,[%X] %r,[%Y] [%X],%r [%Y],%r [%X],imm4 [%Y],imm4

ADC

%r,[%X] %r,[%Y] [%X],%r [%Y],%r [%X],imm4 [%Y],imm4

%B,[%X],n4 %B,[%Y],n4 [%X],%B,n4 [%Y],%B,n4

[%X],0,n4 [%Y],0,n4

SUB

%r,[%X] %r,[%Y] [%X],%r [%Y],%r [%X],imm4 [%Y],imm4

SBC

%r,[%X] %r,[%Y] [%X],%r [%Y],%r [%X],imm4 [%Y],imm4

%B,[%X],n4 %B,[%Y],n4 [%X],%B,n4 [%Y],%B,n4

[%X],0,n4 [%Y],0,n4

INC

[%X],n4 [%Y],n4

DEC

[%X],n4 [%Y],n4

CMP

%r,[%X] %r,[%Y] [%X],%r [%Y],%r [%X],imm4 [%Y],imm4

AND

%r,[%X] %r,[%Y] [%X],%r [%Y],%r [%X],imm4 [%Y],imm4

OR

%r,[%X] %r,[%Y] [%X],%r [%Y],%r [%X],imm4 [%Y],imm4

XOR

%r,[%X] %r,[%Y] [%X],%r [%Y],%r [%X],imm4 [%Y],imm4

BIT

%r,[%X] %r,[%Y] [%X],%r [%Y],%r [%X],imm4 [%Y],imm4

SLL

[%X] [%Y]

SRL

[%X] [%Y]

RL

[%X] [%Y]

RR

[%X] [%Y]

"r" indicates the A or B register. Instructions with an operand other than above or the post-incre-
ment function do not have the extended addressing function.

Examples:

LDB

%EXT,0x37

LD

%A,[%X]

...Works as "LD %A, [0x0037]"

LDB

%EXT,0x9C

ADD

[%Y],5

...Works as "ADD [0xFF9C]"