![Epson S1C17 Series Manual Download Page 23](http://html.mh-extra.com/html/epson/s1c17-series/s1c17-series_manual_107781023.webp)
S1C17 CORE MANUAL
Seiko Epson Corporation
5-1
(Rev. 1.2)
5 Instruction Set
The S1C17 Core instruction codes are all fixed to 16 bits in length which, combined with pipelined processing, al-
lows most important instructions to be executed in one cycle. For details, refer to the description of each instruction
in the latter sections of this manual.
5.1 List of Instructions
Table 5.1.1 S1C17 Instructions List
Classification
Data transfer
Function
General-purpose register (byte)
→
general-purpose register (sign-extended)
Memory (byte)
→
general-purpose register (sign-extended)
Memory address post-increment, post-decrement, and pre-decrement functions
can be used.
Stack (byte)
→
general-purpose register (sign-extended)
Memory (byte)
→
general-purpose register (sign-extended)
General-purpose register (byte)
→
memory
Memory address post-increment, post-decrement, and pre-decrement functions
can be used.
General-purpose register (byte)
→
stack
General-purpose register (byte)
→
memory
General-purpose register (byte)
→
general-purpose register (zero-extended)
Memory (byte)
→
general-purpose register (zero-extended)
Memory address post-increment, post-decrement, and pre-decrement functions
can be used.
Stack (byte)
→
general-purpose register (zero-extended)
Memory (byte)
→
general-purpose register (zero-extended)
General-purpose register (16 bits)
→
general-purpose register
Immediate
→
general-purpose register (sign-extended)
Memory (16 bits)
→
general-purpose register
Memory address post-increment, post-decrement, and pre-decrement functions
can be used.
Stack (16 bits)
→
general-purpose register
Memory (16 bits)
→
general-purpose register
General-purpose register (16 bits)
→
memory
Memory address post-increment, post-decrement, and pre-decrement functions
can be used.
General-purpose register (16 bits)
→
stack
General-purpose register (16 bits)
→
memory
General-purpose register (24 bits)
→
general-purpose register
Immediate
→
general-purpose register (zero-extended)
Memory (32 bits)
→
general-purpose register
*
Memory address post-increment, post-decrement, and pre-decrement functions
can be used.
Stack (32 bits)
→
general-purpose register
*
Memory (32 bits)
→
general-purpose register
*
General-purpose register (32 bits, zero-extended)
→
memory
*
Memory address post-increment, post-decrement, and pre-decrement functions
can be used.
General-purpose register (32 bits, zero-extended)
→
stack
*
General-purpose register (32 bits, zero-extended)
→
memory
*
SP
→
general-purpose register
PC
→
general-purpose register
Stack (32 bits)
→
general-purpose register
*
Stack pointer post-increment, post-decrement, and pre-decrement functions can
be used.
ld.b
ld.ub
ld
ld.a
%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
[%sp+imm7],%rs
[imm7],%rs
%rd,%rs
%rd,imm7
%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,%sp
%rd,%pc
%rd,[%sp]
%rd,[%sp]+
%rd,[%sp]-
%rd,-[%sp]
Mnemonic