
R DC
RISC DSP Controller
R8820LV
RDC Semiconductor Co.
Rev:1.0
Subject to change without notice
83
Function
Format
Clocks
Notes
BIT MANIPULATION INSTRUCTUIONS
NOT =
Invert register/memory
AND =
And
reg/memory and register to either
immediate to register/memory
immediate to accumulator
OR =
Or
reg/memory and register to either
immediate to register/memory
immediate to accumulator
XOR =
Exclusive or
reg/memory and register to either
immediate to register/memory
immediate to accumulator
TEST =
And function to flags , no result
register/memory and register
immediate data and register/memory
immediate data and accumulator
Sifts/Rotates
register/memory by 1
register/memory by CL
register/memory by Count
1111011w
mod 010 r/m
1/7
001000dw
1000000w
0010010w
mod reg r/m
mod 100 r/m
data
1/7
1/8
1
data
data if w=1
data if w=1
000010dw
1000000w
0000110w
mod reg r/m
mod 001 r/m
data
1/7
1/8
1
data
data if w=1
data if w=1
001100dw
1000000w
0011010w
mod reg r/m
mod 110 r/m
data
1/7
1/8
1
data
data if w=1
data if w=1
1000010w
1111011w
1010100w
mod reg r/m
mod 000 r/m
data
1/7
1/8
1
data
data if w=1
data if w=1
1101000w
1101001w
1100000w
mod TTT r/m
mod TTT r/m
mod TTT r/m
2/8
1+n / 7+n
1+n / 7+n
count
STRING MANIPULATION INSTRUCTIONS
MOVS =
Move byte/word
INS
= Input byte/word from DX port
OUTS =
Output byte/word to DX port
CMPS =
Compare byte/word
SCAS =
Scan byte/word
LODS =
Load byte/word to AL/AX
STOS =
Store byte/word from AL/AX
Repeated by count in CX:
MOVS =
Move byte/word
INS =
Input byte/word from DX port
OUTS =
Output byte/word to DX port
CMPS =
Compare byte/word
SCAS =
Scan byte/word
LODS =
Load byte/word to AL/AX
STOS =
Store byte/word from AL/AX
1010010w
0110110w
0110111w
1010011w
101011w
1010110w
1010101w
13
13
13
18
13
13
7
11110010
11110010
11110010
1111011z
1111001z
11110010
11110100
1010010w
0110110w
0110111w
1010011w
1010111w
0101001w
0101001w
4+9n
5+9n
5+9n
4+18n
4+13n
3+9n
4+3n
PROGRAM TRANSFER INSTRUCTIONS
Conditional Transfers
JE/JZ =
equal/zero
JL/JNGE =
less/not greater or equal
JLE/JNG =
less or equal/not greater
JC/JB/JNAE =
carry/below/not above or equal
JBE/JNA =
below or equal/not above
JP/JPE =
parity/parity even
JO =
overflow
JS =
sign
JNE/JNZ =
not equal/not zero
JNL/JGE =
not less/greater or equal
JNLE/JG =
not less or equal/greater
JNC/JNB/JAE =
not carry/not below
/above or equal
JNBE/JA =
not below or equal/above
JNP/JPO =
not parity/parity odd
JNO =
not overflow
JNS =
not sign
X
jump if:
01110100
01111100
01111110
01110010
01110110
01111010
01110000
01111000
01110101
01111101
01111111
01110011
disp
disp
disp
disp
disp
disp
disp
disp
disp
disp
disp
disp
1/9
1/9
1/9
1/9
1/9
1/9
1/9
1/9
1/9
1/9
1/9
1/9
01110111
01111011
01110001
01111001
disp
disp
disp
disp
1/9
1/9
1/9
1/9