
APPENDIX
LIST
OF
S
1C
17
CORE
INSTR
UCTIONS
Ap-4
EPSON
S1C17
F
AMIL
Y
S1C17
CORE
MANU
AL
Integer Arithmetic Operation Instructions (1)
S1C17 Core Instruction Set
Opcode
add
add/c
add/nc
add
add.a
add.a/c
add.a/nc
add.a
adc
adc/c
adc/nc
adc
sub
sub/c
sub/nc
sub
sub.a
sub.a/c
sub.a/nc
sub.a
sbc
sbc/c
sbc/nc
sbc
cmp
cmp/c
cmp/nc
cmp
Operand
%rd, %rs
%rd, imm7
%rd, %rs
%sp, %rs
%rd, imm7
%sp, imm7
%rd, %rs
%rd, imm7
%rd, %rs
%rd, imm7
%rd, %rs
%sp, %rs
%rd, imm7
%sp, imm7
%rd, %rs
%rd, imm7
%rd, %rs
%rd, sign7
Function
rd(15:0)
←rd(15:0)+rs(15:0), rd(23:16)←0
rd(15:0)
←rd(15:0)+rs(15:0), rd(23:16)←0 if C = 1 (nop if C = 0)
rd(15:0)
←rd(15:0)+rs(15:0), rd(23:16)←0 if C = 0 (nop if C = 1)
rd(15:0)
←rd(15:0)+imm7(zero extended), rd(23:16)←0
rd(23:0)
←rd(23:0)+rs(23:0)
rd(23:0)
←rd(23:0)+rs(23:0) if C = 1 (nop if C = 0)
rd(23:0)
←rd(23:0)+rs(23:0) if C = 0 (nop if C = 1)
sp(23:0)
←sp(23:0)+rs(23:0)
rd(23:0)
←rd(23:0)+imm7(zero extended)
sp(23:0)
←sp(23:0)+imm7(zero extended)
rd(15:0)
←rd(15:0)+rs(15:0)+C, rd(23:16)←0
rd(15:0)
←rd(15:0)+rs(15:0)+C, rd(23:16)←0 if C = 1 (nop if C = 0)
rd(15:0)
←rd(15:0)+rs(15:0)+C, rd(23:16)←0 if C = 0 (nop if C = 1)
rd(15:0)
←rd(15:0)+imm7(zero extended)+C, rd(23:16)←0
rd(15:0)
←rd(15:0)-rs(15:0), rd(23:16)←0
rd(15:0)
←rd(15:0)-rs(15:0), rd(23:16)←0 if C = 1 (nop if C = 0)
rd(15:0)
←rd(15:0)-rs(15:0), rd(23:16)←0 if C = 0 (nop if C = 1)
rd(15:0)
←rd(15:0)-imm7(zero extended), rd(23:16)←0
rd(23:0)
←rd(23:0)-rs(23:0)
rd(23:0)
←rd(23:0)-rs(23:0) if C = 1 (nop if C = 0)
rd(23:0)
←rd(23:0)-rs(23:0) if C = 0 (nop if C = 1)
sp(23:0)
←sp(23:0)-rs(23:0)
rd(23:0)
←rd(23:0)-imm7(zero extended)
sp(23:0)
←sp(23:0)-imm7(zero extended)
rd(15:0)
←rd(15:0)-rs(15:0)-C, rd(23:16)←0
rd(15:0)
←rd(15:0)-rs(15:0)-C, rd(23:16)←0 if C = 1 (nop if C = 0)
rd(15:0)
←rd(15:0)-rs(15:0)-C, rd(23:16)←0 if C = 0 (nop if C = 1)
rd(15:0)
←rd(15:0)-imm7(zero extended)-C, rd(23:16)←0
rd(15:0)-rs(15:0)
rd(15:0)-rs(15:0) if C = 1 (nop if C = 0)
rd(15:0)-rs(15:0) if C = 0 (nop if C = 1)
rd(15:0)-sign7(sign extended)
Cycle
1
EXT
1
3
2
4
1
3
1
3
2
4
1
3
1
3
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
0
1
0
1
0
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
1
0
1
0
1
0
1
0
Code
MSB
LSB
Mnemonic
Flags
Remarks
1) With one EXT: rd ← rs <op> imm13, With two EXT: rd ← rs <op> imm16
2) With one EXT: rd ← rs <op> imm13, With two EXT: rd ← rs <op> imm24
3) With one EXT: data = imm16/sign16
4) With one EXT: data = imm20, With two EXT: data = imm24
imm7
sign7
imm7
rd
rs
rd