
APPENDIX
LIST
OF
S
1C
17
CORE
INSTR
UCTIONS
Ap-2
EPSON
S1C17
F
AMIL
Y
S1C17
CORE
MANU
AL
Data Transfer Instructions (1)
S1C17 Core Instruction Set
Opcode
ld.b
ld.ub
ld
Operand
%rd, %rs
%rd, [%rb]
%rd, [%rb]+
%rd, [%rb]-
%rd, -[%rb]
%rd, [%sp+imm7]
%rd, [imm7]
[%rb], %rs
[%rb]+, %rs
[%rb]-, %rs
-[%rb], %rs
[%sp+imm7], %rs
[imm7], %rs
%rd, %rs
%rd, [%rb]
%rd, [%rb]+
%rd, [%rb]-
%rd, -[%rb]
%rd, [%sp+imm7]
%rd, [imm7]
%rd, %rs
%rd, sign7
%rd, [%rb]
%rd, [%rb]+
%rd, [%rb]-
%rd, -[%rb]
%rd, [%sp+imm7]
%rd, [imm7]
[%rb], %rs
[%rb]+, %rs
[%rb]-, %rs
-[%rb], %rs
Function
rd(7:0)
←rs(7:0), rd(15:8)←rs(7), rd(23:16)←0
rd(7:0)
←B[rb], rd(15:8)←B[rb](7), rd(23:16)←0
rd(7:0)
←B[rb], rd(15:8)←B[rb](7), rd(23:16)←0, rb(23:0)←rb(23:0)+1
rd(7:0)
←B[rb], rd(15:8)←B[rb](7), rd(23:16)←0, rb(23:0)←rb(23:0)-1
rb(23:0)
←rb(23:0)-1, rd(7:0)←B[rb], rd(15:8)←B[rb](7), rd(23:16)←0
rd(7:0)
←B[sp+imm7], rd(15:8)←B[sp+imm7](7), rd(23:16)←0
rd(7:0)
←B[imm7], rd(15:8)←B[imm7](7), rd(23:16)←0
B[rb]
←rs(7:0)
B[rb]
←rs(7:0), rb(23:0)←rb(23:0)+1
B[rb]
←rs(7:0), rb(23:0)←rb(23:0)-1
rb(23:0)
←rb(23:0)-1, B[rb]←rs(7:0)
B[sp+imm7]
←rs(7:0)
B[imm7]
←rs(7:0)
rd(7:0)
←rs(7:0), rd(15:8)←0, rd(23:16)←0
rd(7:0)
←B[rb], rd(15:8)←0, rd(23:16)←0
rd(7:0)
←B[rb], rd(15:8)←0, rd(23:16)←0, rb(23:0)←rb(23:0)+1
rd(7:0)
←B[rb], rd(15:8)←0, rd(23:16)←0, rb(23:0)←rb(23:0)-1
rb(23:0)
←rb(23:0)-1, rd(7:0)←B[rb], rd(15:8)←0, rd(23:16)←0
rd(7:0)
←B[sp+imm7], rd(15:8)←0, rd(23:16)←0
rd(7:0)
←B[imm7], rd(15:8)←0, rd(23:16)←0
rd(15:0)
←rs(15:0), rd(23:16)←0
rd(6:0)
←sign7(6:0), rd(15:7)←sign7(6), rd(23:16)←0
rd(15:0)
←W[rb], rd(23:16)←0
rd(15:0)
←W[rb], rd(23:16)←0, rb(23:0)←rb(23:0)+2
rd(15:0)
←W[rb], rd(23:16)←0, rb(23:0)←rb(23:0)-2
rb(23:0)
←rb(23:0)-2, rd(15:0)←W[rb], rd(23:16)←0
rd(15:0)
←W[sp+imm7], rd(23:16)←0
rd(15:0)
←W[imm7], rd(23:16)←0
W[rb]
←rs(15:0)
W[rb]
←rs(15:0), rb(23:0)←rb(23:0)+2
W[rb]
←rs(15:0), rb(23:0)←rb(23:0)-2
rb(23:0)
←rb(23:0)-2, W[rb]←rs(15:0)
Cycle
1
1, 27
2
1
1, 27
2
1
1, 27
2
1
1, 27
2
1
1, 27
2
EXT
–
1
6
5
4
1
6
5
4
–
1
6
5
4
–
2
1
6
5
4
1
6
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
IL
–
IE
–
Z
–
N
–
C
–
V
–
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
Code
MSB
LSB
Mnemonic
Flags
Remarks
1) With one EXT: base address = rb+imm13, With two EXT: base address = rb+imm24
2) With one EXT: data = sign16
3) With one EXT: data = imm20, With two EXT: data = imm24
4) With one EXT: base address = imm20, With two EXT: base address = imm24
5) With one EXT: base address = sp+imm20, With two EXT: base address = sp+imm24
6) With one EXT: base address = rb+imm13, address increment/decrement rb/sp ← rb/sp±imm13, With two EXT: base address = rb+imm24, address increment/decrement rb/sp ← rb/sp±imm24
7) With no EXT: 1 cycle, With EXT: 2 cycles
imm7
sign7
imm7
rd
rs
rb
rs
rb
rd
rs
rd
rs
rb
rs
rb
rs