
7 DETAILS OF INSTRUCTIONS
S1C17 FAMILY S1C17 CORE MANUAL
EPSON
7-81
ld.b [%rb], %rs
ld.b [%rb]+, %rs
ld.b [%rb]-, %rs
ld.b -[%rb], %rs
Function
Signed byte data transfer
ld.b [%rb], %rs
Standard)
B[rb]
← rs(7:0)
Extension 1) B[rb + imm13]
← rs(7:0)
Extension 2) B[rb + imm24]
← rs(7:0)
ld.b [%rb]+, %rs (with post-increment option)
Standard)
B[rb]
← rs(7:0), rb(23:0) ← rb(23:0) + 1
Extension 1) B[rb + imm13]
← rs(7:0), rb(23:0) ← rb(23:0) + imm13
Extension 2) B[rb + imm24]
← rs(7:0), rb(23:0) ← rb(23:0) + imm24
ld.b [%rb]-, %rs (with post-decrement option)
Standard)
B[rb]
← rs(7:0), rb(23:0) ← rb(23:0) - 1
Extension 1) B[rb + imm13]
← rs(7:0), rb(23:0) ← rb(23:0) - imm13
Extension 2) B[rb + imm24]
← rs(7:0), rb(23:0) ← rb(23:0) - imm24
ld.b -[%rb], %rs (with pre-decrement option)
Standard)
rb
(23:0)
← rb(23:0) - 1, B[rb] ← rs(7:0)
Extension 1) rb(23:0)
← rb(23:0) - imm13, B[rb + imm13] ← rs(7:0)
Extension 2) rb(23:0)
← rb(23:0) - imm24, B[rb + imm24] ← rs(7:0)
Code
15 14 13 12 11 10
9
8
7
6
5
4
3
2
1
0
0 0 1 0 0 1
r s
0 0 0 0
r b
ld.b
[%rb],%rs
|
0 0 1 0 0 1
r s
0 1 0 0
r b
ld.b
[%rb]+,%rs
|
0 0 1 0 0 1
r s
1 1 0 0
r b
ld.b
[%rb]-,%rs
|
0 0 1 0 0 1
r s
1 0 0 0
r b
ld.b
-[%rb],%rs
|
Flag
IL IE
C
V
Z
N
– – – – – –
|
Mode
Src:Register direct %rs = %r0 to %r7
Dst:Register indirect %rb = %r0 to %r7
CLK
One cycle (two cycles when the ext instruction or an increment/decrement option is used)
Description (1) Standard
ld.b
[%rb],%rs
; memory address = rb
The eight low-order bits of the rs register are transferred to the specified memory location. The
rb
register contains the memory address to be accessed.
(2) Extension 1
ext
imm13
ld.b
[%rb],%rs
; memory address = rb + imm13
The ext instruction changes the addressing mode to register indirect addressing with
displacement. As a result, the eight low-order bits of the rs register are transferred to the address
indicated by the content of the rb register with the 13-bit immediate imm13 added. The content
of the rb register is not altered.