SM8521
Addressing Mode
There are 23 types of addressing mode to perform
memory accessing in SM85CPU. The relationships
between the addressing modes and the operand
are shown in the following table 5.
Table 5 Addressing Mode Summary
Range
NAME
SYMBOL
Operand
1
Implied
To specify the carry(C) and interrupt enable
(I) in the instruction code.
General register [byte]
General register [word]
Register file (0000
H
-007F
H
) and (0080
H
-00FF
H
)
[byte]
Register file (0000
H
-007F
H
) and (0080
H
-00FF
H
)
[byte]
Memory (0000
H
-00FF
H
) [byte]
Register
Register pair
r
rr
r = R0-R7
r = RR0, RR2, … , RR14
Register file
R
R = 0 to 255 (R0-R15)
Register file pair
RR
R = 0, 2, … 254
(RR0, RR2, … , RR14)
r = R0-R7
Register indirect
Register indirect
auto increment
Register indirect
auto decrement
Register index
Register pair indirect
Register pair indirect
auto increment
Register pair indirect
auto decrement
@r
(r)+
r = R0-R7
Memory (0000
H
-00FF
H
) [byte]
–(r)
r = R0-R7
Memory (0000
H
-00FF
H
) [byte]
n(r)
2
@rr
n = 00
H
-FF
H
, r = R1-R7
rr = RR0, RR2, … , RR14
Memory (0000
H
-00FF
H
) [byte]
Memory (0000
H
-FFFF
H
) [word/byte]
(rr)+
rr = RR0, RR2, … , RR14
Memory (0000
H
-FFFF
H
) [word/byte]
–(rr)
rr = RR0, RR2, … , RR14
Memory (0000
H
-FFFF
H
) [word/byte]
Register pair index
nn(rr)
3
nn = 0000
H
-FFFF
H
rr = RR2, RR4, … , RR14
nn = 0000
H
-FFFF
H
r = R1-R7
IM = 00
H
-FF
H
IML = 0000
H
-FFFF
H
Memory (0000
H
-FFFF
H
) [word/byte]
Index indirect
@nn(r)
2
Memory (0000
H
-FFFF
H
) [word]
Immediate
Immediate long
IM
IML
The immediate data in the instruction code [byte]
The immediate data in the instruction code [word]
Register file (0000
H
-007F
H
) and memory
(0080
H
-00FF
H
, FF00
H
-FFFF
H
) [bit](1bit of 1 byte
pointed by R, n(r) and DAp)
Register file (0010
H
-0017
H
) [byte]
Program memory (1000
H
-FFFF
H
)
Memory (0000
H
-FFFF
H
) [byte]
Program memory (1000
H
-1FFF
H
)
Program memory (FF00
H
-FFFF
H
) [byte]
Memory (0000
H
-FFFF
H
)
Bit
b
b = 0 to 7
Port
Relative
Direct
Direct short
Direct special page
Direct indirect
1 The data indicated by [ ] is the unit of possible to use in Load and Arithmetic Instructions.
2 R0 can not be used.
3 RR0 can not be used.
p
RA
DA
DAs
DAp
@DA
PC – 128 to PC + 127
DA = 0000
H
-FFFF
H
DAs = 1000
H
-1FFF
H
DAp = FF00
H
-FFFF
H
DA = 0000
H
-FFFF
H
- 54 -