2 CPU
S1C33L26 TECHNICAL MANUAL
Seiko Epson Corporation
2-3
Classification
Mnemonic
Function
Branch
jrult
jrult.d
sign8
PC relative conditional jump
Branch condition: C
Delayed branching possible
jrule
jrule.d
sign8
PC relative conditional jump
Branch condition: Z | C
Delayed branching possible
jreq
jreq.d
sign8
PC relative conditional jump
Branch condition: Z
Delayed branching possible
jrne
jrne.d
sign8
PC relative conditional jump
Branch condition: !Z
Delayed branching possible
jp
jp.d
sign8
PC relative jump
Delayed branching possible
%rb
Absolute jump
Delayed branching possible
call
call.d
sign8
PC relative subroutine call
Delayed call possible
%rb
Absolute subroutine call
Delayed call possible
ret
ret.d
Subroutine return
Delayed return possible
reti
Return from interrupt or exception handling
retd
Return from the debug processing routine
int
imm2
Software exception
brk
Debug exception
Data transfer
ld.b
%rd,%rs
General-purpose register (byte)
→
general-purpose register (sign-extended)
%rd,[%rb]
Memory (byte)
→
general-purpose register (sign-extended)
%rd,[%rb]+
Postincrement possible
%rd,[%sp+imm6]
Stack (byte)
→
general-purpose register (sign-extended)
[%rb],%rs
General-purpose register (byte)
→
memory
[%rb]+,%rs
Postincrement possible
[%sp+imm6],%rs
General-purpose register (byte)
→
stack
ld.ub
%rd,%rs
General-purpose register (byte)
→
general-purpose register (zero-extended)
%rd,[%rb]
Memory (byte)
→
general-purpose register (zero-extended)
%rd,[%rb]+
Postincrement possible
%rd,[%sp+imm6]
Stack (byte)
→
general-purpose register (zero-extended)
ld.h
%rd,%rs
General-purpose register (halfword)
→
general-purpose register (sign-extended)
%rd,[%rb]
Memory (halfword)
→
general-purpose register (sign-extended)
%rd,[%rb]+
Postincrement possible
%rd,[%sp+imm6]
Stack (halfword)
→
general-purpose register (sign-extended)
[%rb],%rs
General-purpose register (halfword)
→
memory
[%rb]+,%rs
Postincrement possible
[%sp+imm6],%rs
General-purpose register (halfword)
→
stack
ld.uh
%rd,%rs
General-purpose register (halfword)
→
general-purpose register (zero-extended)
%rd,[%rb]
Memory (halfword)
→
general-purpose register (zero-extended)
%rd,[%rb]+
Postincrement possible
%rd,[%sp+imm6]
Stack (halfword)
→
general-purpose register (zero-extended)
ld.w
%rd,%rs
General-purpose register (word)
→
general-purpose register
%rd,sign6
Immediate
→
general-purpose register (sign-extended)
%rd,[%rb]
Memory (word)
→
general-purpose register
%rd,[%rb]+
Postincrement possible
%rd,[%sp+imm6]
Stack (word)
→
general-purpose register
[%rb],%rs
General-purpose register (word)
→
memory
[%rb]+,%rs
Postincrement possible
[%sp+imm6],%rs
General-purpose register (word)
→
stack
System control
nop
No operation
halt
HALT
slp
SLEEP
Immediate extension
ext
imm13
Extend operand in the following instruction
Bit manipulation
btst
[%rb],imm3
Test a specified bit in memory data
bclr
[%rb],imm3
Clear a specified bit in memory data
bset
[%rb],imm3
Set a specified bit in memory data
bnot
[%rb],imm3
Invert a specified bit in memory data
Other
swap
%rd,%rs
Bytewise swap on byte boundary in word
pushn
%rs
Push general-purpose registers
%rs
–%r0 onto the stack
popn
%rd
Pop data for general-purpose registers
%rd
–%r0 off the stack