2 CPu
S1C17153 TeChniCal Manual
Seiko epson Corporation
2-3
(Rev. 1.0)
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 general-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 conditional 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
Supports 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 subtraction 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
24-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