2 CPU
S1C17624/604/622/602/621 TECHNICAL MANUAL
Seiko Epson Corporation
2-3
Classification Mnemonic Function
Data transfer
ld.a %rd,[%rb]
Memory (32 bits) → general-purpose register (*1)
Memory address post-increment, post-decrement, and pre-decrement
functions can be used.
%rd,[%rb]+
%rd,[%rb]-
%rd,-[%rb]
%rd,[%sp+imm7]
Stack (32 bits) → general-purpose register (*1)
%rd,[imm7]
Memory (32 bits) → general-purpose register (*1)
[%rb],%rs
General-purpose register (32 bits, zero-extended) → memory (*1)
Memory address post-increment, post
-decrement, and pre-decrement
functions can be used.
[%rb]+,%rs
[%rb]-,%rs
-[%rb],%rs
[%sp+imm7],%rs
General-purpose register (32 bits, zero-extended) → stack (*1)
[imm7],%rs
General-purpose register (32 bits, zero-extended) → memory (*1)
%rd,%sp
SP → general-purpose register
%rd,%pc
PC → general-purpose register
%rd,[%sp]
Stack (32 bits) → general-purpose register (*1)
Stack pointer post-increment, post-decrement, and pre-decrement functions
can be used.
%rd,[%sp]+
%rd,[%sp]-
%rd,-[%sp]
[%sp],%rs
General-purpose register (32 bits, zero-extended) → stack (*1)
Stack pointer post-increment, post-decrement, and pre-decrement functions
can be used.
[%sp]+,%rs
[%sp]-,%rs
-[%sp],%rs
%sp,%rs
General-purpose register (24 bits) → SP
%sp,imm7
Immediate → SP
Integer arithmetic
operation
add %rd,%rs
16-bit addition between general-purpose registers
Supports conditional execution (/c: executed if C = 1, /nc: executed if C = 0).
add/c
add/nc
add %rd,imm7
16-bit addition of g
eneral-purpose register and immediate
add.a %rd,%rs
24-bit addition between general-purpose registers
Supports conditional execution (/c: executed if C = 1, /nc: executed if C = 0).
add.a/c
add.a/nc
add.a %sp,%rs
24-bit addition of SP and general-purpose register
%rd,imm7
24-bit addition of general-purpose register and immediate
%sp,imm7
24-bit addition of SP and immediate
adc %rd,%rs
16-bit addition with carry between general-purpose registers
Supports condit
ional execution (/c: executed if C = 1, /nc: executed if C = 0).
adc/c
adc/nc
adc %rd,imm7
16-bit addition of general-purpose register and immediate with carry
sub %rd,%rs
16-bit subtraction between general-purpose registers
Supports conditional execution (/c: executed if C = 1, /nc: executed if C = 0).
sub/c
sub/nc
sub %rd,imm7
16-bit subtraction of general-purpose register and immediate
sub.a %rd,%rs
24-bit subtraction between general-purpose registers
Supp
orts conditional execution (/c: executed if C = 1, /nc: executed if C = 0).
sub.a/c
sub.a/nc
sub.a %sp,%rs
24-bit subtraction of SP and general-purpose register
%rd,imm7
24-bit subtraction of general-purpose register and immediate
%sp,imm7
24-bit subtraction of SP and immediate
sbc %rd,%rs
16-bit subtraction with carry between general-purpose registers
Supports conditional execution (/c: executed if C = 1, /nc: executed if C = 0).
sbc/c
sbc/nc
sbc %rd,imm7
16-bit subtr
action of general-purpose register and immediate with carry
cmp %rd,%rs
16-bit comparison between general-purpose registers
Supports conditional execution (/c: executed if C = 1, /nc: executed if C = 0).
cmp/c
cmp/nc
cmp %rd,sign7
16-bit comparison of general-purpose register and immediate
cmp.a %rd,%rs
24-bit comparison between general-purpose registers
Supports conditional execution (/c: executed if C = 1, /nc: executed if C = 0).
cmp.a/c
cmp.a/nc
cmp.a %rd,imm7
2
4-bit comparison of general-purpose register and immediate
cmc %rd,%rs
16-bit comparison with carry between general-purpose registers
Supports conditional execution (/c: executed if C = 1, /nc: executed if C = 0).
cmc/c
cmc/nc
cmc %rd,sign7
16-bit comparison of general-purpose register and immediate with carry