
APPENDIX
LIST
OF
S
1C
17
CORE
INSTR
UCTIONS
S1C17
F
AMIL
Y
S1C17
CORE
MANU
AL
EPSON
Ap-5
Integer Arithmetic Operation Instructions (2)
S1C17 Core Instruction Set
Opcode
cmp.a
cmp.a/c
cmp.a/nc
cmp.a
cmc
cmc/c
cmc/nc
cmc
Operand
%rd, %rs
%rd, imm7
%rd, %rs
%rd, sign7
Function
rd(23:0)-rs(23:0)
rd(23:0)-rs(23:0) if C = 1 (nop if C = 0)
rd(23:0)-rs(23:0) if C = 0 (nop if C = 1)
rd(23:0)-imm7(zero extended)
rd(15:0)-rs(15:0)-C
rd(15:0)-rs(15:0)-C if C = 1 (nop if C = 0)
rd(15:0)-rs(15:0)-C if C = 0 (nop if C = 1)
rd(15:0)-sign7(sign extended)-C
Cycle
1
EXT
2
4
1
3
D
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
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
Logic Operation Instructions
S1C17 Core Instruction Set
Opcode
and
and/c
and/nc
and
or
or/c
or/nc
or
xor
xor/c
xor/nc
xor
not
not/c
not/nc
not
Operand
%rd, %rs
%rd, sign7
%rd, %rs
%rd, sign7
%rd, %rs
%rd, sign7
%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)&sign7(sign extended), 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) | sign7(sign extended), 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)^sign7(sign extended), rd(23:16)←0
rd(15:0)
←!rs(15:0), rd(23:16)←0
rd(15:0)
←!rs(15:0), rd(23:16)←0 if C = 1 (nop if C = 0)
rd(15:0)
←!rs(15:0), rd(23:16)←0 if C = 0 (nop if C = 1)
rd(15:0)
←!sign7(sign extended), rd(23:16)←0
Cycle
1
EXT
1
2
1
2
1
2
3
2
D
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
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: data = sign16
3) With one EXT: rd ← !imm13, With two EXT: rd ← !imm16
imm7
sign7
rd
rs
rd
sign7
rd
rs
rd
sign7
rs
rd
sign7
rs
rd