
R DC
20. INSTUCTION SET OPCODES AND CLOCK CYCLES
Function
DATA TRANSFER INSTRUCTIONS
MOV =
Move
register to register/memory
register/memory to register
immediate to register/memory
immediate to register
memory to accumulator
accumulator to memory
register/memory to segment register
segment register to register/memory
PUSH
=
Push
memory
register
segment register
immediate
POP
= Pop
memory
register
segment register
PUSHA =
Push all
POPA =
Pop all
XCHG =
Exchange
register/memory
register with accumulator
XTAL =
Translate byte to AL
IN =
Input from
fixed port
variable port
OUT =
Output from
fixed port
variable port
LEA =
Load EA to register
LDS =
Load pointer to DS
LES =
Load pointer to ES
ENTER =
Build stack frame
L = 0
L = 1
L > 1
LEAVE =
Tear down stack frame
LAHF =
Load AH with flags
SAHF =
Store AH into flags
PUSHF =
Push flags
POPF =
Pop flags
RISC DSP Controller
R8820LV
RDC Semiconductor Co.
Rev:1.0
Subject to change without notice
81
Format
Clocks
Notes
1000100w
1000101w
1100011w
1011w reg
1010000w
1010001w
10001110
10001100
mod reg r/m
mod reg r/m
mod 000 r/m
data
addr-low
addr-low
mod 0 reg r/m
mod 0 reg r/m
1/1
1/6
1/1
1
6
1
3/8
2/2
data
data if w=1
addr-high
addr-high
data if w=1
11111111
01010 reg
000reg110
011010s0
mod 110 r/m
8
3
2
1
data
data if s=0
10001111
01011 reg
000 reg 111 (reg
01100000
01100001
mod 000 r/m
8
6
8
ú
01)
36
44
1000011w
10010 reg
11010111
mod reg r/m
3/8
3
10
1110010w
1110110w
port
12
12
1110010w
1110110w
10001101
11000101
11000100
11001000
port
12
12
1
14
14
mod reg r/m
mod reg r/m
mod reg r/m
data-low
(mod
(mod
data-high
ú
11)
ú
11)
L
7
11
11+10(L-1)
7
2
2
2
11
11001001
10011111
10011110
10011100
10011101
ARITHMETIC INSTRUCTIONS
ADD =
Add
reg/memory with register to either
immediate to register/memory
immediate to accumulator
000000dw
100000sw
0000010w
mod reg r/m
mod 000 r/m
data
1/7
1/8
1
data
data if w=1
data if sw=01