Xor %Rd, %Rs; Xor/C %Rd, %Rs; Xor/Nc %Rd, %Rs - Epson S1C17 Series Manual

Cmos 16-bit single chip microcontroller
Hide thumbs Also See for S1C17 Series:
Table of Contents

Advertisement

xor
%rd, %rs
xor/c
%rd, %rs

xor/nc %rd, %rs

Function
16-bit exclusive OR
Standard)
Extension 1) rd(15:0) ← rs(15:0) ^ imm13(zero extended), rd(23:16) ← 0
Extension 2) rd(15:0) ← rs(15:0) ^ imm16, rd(23:16) ← 0
15 14 13 12 11 10
Code
0
0
1
|
|
0
0
1
|
|
0
0
1
|
|
IL
IE
C
Flag
|
|
Mode
Src: Register direct %rs = %r0 to %r7
Dst: Register direct %rd = %r0 to %r7
CLK
One cycle
Description
(1) Standard
xor
The content of the rs register and that of the rd register are exclusively OR'ed, and the result is
loaded into the rd register. The operation is performed in 16-bit size, and bits 23–16 of the rd
register are set to 0.
(2) Extension 1
ext
xor
The content of the rs register and the zero-extended 13-bit immediate imm13 are exclusively
OR'ed, and the result is loaded into the rd register. The operation is performed in 16-bit size,
and bits 23–16 of the rd register are set to 0. The content of the rs register is not altered.
(3) Extension 2
ext
ext
xor
The content of the rs register and the 16-bit immediate imm16 are exclusively OR'ed, and the
result is loaded into the rd register. The operation is performed in 16-bit size, and bits 23–16 of
the rd register are set to 0. The content of the rs register is not altered.
(4) Conditional execution
The /c or /nc suffix on the opcode specifies conditional execution.
xor/c
xor/nc Executed as xor when the C flag is 0 or executed as nop when the flag is 1
In this case, the ext instruction can be used to extend the operand.
(5) Delayed slot instruction
This instruction may be executed as a delayed slot instruction by writing it directly after
a branch instruction with the "d" bit. In this case, extension of the immediate by the ext
instruction cannot be performed.
Example
(1) xor
(2) ext
ext
xor
S1C17 CORE MANUAL
(Rev. 1.2)
rd(15:0) ← rd(15:0) ^ rs(15:0), rd(23:16) ← 0
9
8
7
6
|
|
0
1
1
r d
1
|
|
|
|
|
|
|
0
1
1
0
r d
|
|
|
|
|
|
|
0
1
1
r d
0
|
|
|
|
|
V
Z
N
|
|
|
0 ↔ ↔
; rd ← rd ^ rs
%rd,%rs
imm13
; rd ← rs ^ imm13
%rd,%rs
imm3
; imm3(2:0) = imm16(15:13)
imm13
; = imm16(12:0)
; rd ← rs ^ imm16
%rd,%rs
Executed as xor when the C flag is 1 or executed as nop when the flag is 0
%r0,%r0
; r0 = r0 ^ r0
0x1
0x1fff
%r1,%r2
; r1 = r2 ^ 0x3fff
Seiko Epson Corporation
5
4
3
2
1
0
|
0
1
0
r s
|
|
|
|
|
|
0
1
0
r s
|
|
|
|
|
|
1
1
0
r s
|
|
|
|
|
7 DETAILS OF INSTRUCTIONS
xor
xor/c
xor/nc
7-133

Advertisement

Table of Contents
loading

Table of Contents