Documentos de Académico
Documentos de Profesional
Documentos de Cultura
http://atc.unex.es/gacdl
Repertorio de instrucciones del 8086/8088
Germn Galeano Gil. Juan A. Gmez Puildo
AAA
AAD
AAM
AAS
ADC
dest,src
Descripcin: Suma los dos operandos. Adems, aade 1 a la suma si est activada la bandera de
accarreo (CF). El resultado se almacena en el operando destino. Los operandos deben ser del
mismo tipo (byte o palabra).
ADD
dest,src
AND
dest,src
CALL
destination
CBW
CLC
CLD
Descripcin: Pone a 0 la bandera de direcin (DF), por lo que en la ejecucin de las instrucciones de
manejo de cadenas los registros ndices SI y/o DI se autoincrementan en una unidad si el (los)
operando(s) son de tipo byte, y en dos, si son de tipo word.
CLI
CMC
CMP
dest,src
CMPS dest,src
CMPSB
CMPSW
CWD
DAS
DEC
dest
DIV
src
ESC
immed,src
HLT
IDIV src
IMUL
src
IN
accum,puerto
INC
dest
INT
num
INTO
IRET
Descripcin
Saltar si Superior
Saltar si Superior o Igual
Saltar si Inferior
Saltar si Inferior o Igual
Saltar si hay acarreo
Saltar si CX es cero
Saltar si Igual
Saltar si Mayor (con signo)
Saltar si Mayor o Igual (con signo)
Saltar si Menor (con signo)
Saltar si Menor o Igual (con signo)
Saltar si No Superior
Saltar si No Superior o Igual
Saltar si No Inferior
Saltar si No Inferior o Igual
Saltar si No hay acarreo
Saltar si No Igual
Saltar si No Mayor (con signo)
Saltar si No Mayor o Igual (con signo)
Saltar si No Menor (con signo)
Saltar si No Menor o Igual (con signo)
Saltar si No Overflow (con signo)
Saltar si Positivo
Saltar si No Cero
Saltar si Overflow (con signo)
Saltar si Par
Saltar si Impar
Saltar si negativo (si hay signo)
Saltar si cero
Condicin de salto
CF=0 y ZF=0
CF=0
CF=1
CF=1 o ZF=1
CF=1
CX=0
ZF=1
ZF=0 y SF=OF
SF=OF
SF != OF
ZF=1 o SF != OF
CF=1 o ZF=1
CF=1
CF=0
CF=0 y ZF=0
CF=0
ZF=0
ZF=1 o SF != OF
SF != OF
SF=OF
ZF=0 y SF=OF
OF=0
SF=0
ZF=0
OF=1
PF=1
PF=0
SF=1
ZF=1
JCXZ
label
LAHF
dest,src
LEA
dest,src
LES
dest,src
LOCK
LODS src
LODSB
LODSW
Si DF=1, se
LOOP
label
CX,contador
...
...
LOOP BUCLE
BUCLE:
Es posible realizar bucles anidados, es decir, uno dentro de otro. El esquema para dos bucles
es:
MOV
CX,contador1
BUCLE1: ...
...
PUSH CX
MOV CX,contador2
BUCLE2: ...
...
LOOP BUCLE2
POP
CX
...
...
LOOP BUCLE1
; CX = contador bucle 1
; salvar CX
; CX = contador bucle 2
; CX = CX-1 y bifurca a BUCLE2
; si CX 0
; recuperar CX
; CX = CX-1 y bifurca a BUCLE1
; si CX 0
LOOPE/LOOPZ Bucle si igual / Bucle si cero (Loop While Equal / Loop While Zero)
Uso:
LOOPE label
LOOPZ label
LOOPNZ label
LOOPNE label
MOV
dest,src
MOVS dest,src
MOVSB
MOVSW
MUL
src
NEG
dest
NOP
dest
OR
dest,src
Op2
0
1
0
1
Dest
0
1
1
1
OUT
port,accum
OUTS port,src
OUTSB
OUTSW
10
Descripcin: Transfiere un byte (OUTSB) o un word (OUTSW) desde src al puerto especificado. En las
instrucciones OUTSB y OUTSW el operando se encuentra en DS:SI, y el registro SI se
incrementa o decrementa con el tamao del dato ledo segn el valor del flag DF.
POP
dest
POPA Quitar registros de la pila (Pop All Registers onto Stack) (80188+)
Uso:
POPA
POPF
PUSH
PUSH
src
immed (80188+ only)
PUSHA Poner registros en la pila (Push All Registers onto Stack) (80188+)
Uso:
PUSHA
11
PUSHF
14
13
12
11
10
OF
DF
IF
TF
SF
ZF
AF
PF
CF
RCL Rotar a la izquierda a travs del acarreo (Rotate Through Carry Left)
Uso:
RCL
dest,count
RCR Rotar a la derecha a travs del acarreo (Rotate Through Carry Right)
Uso:
RCR
dest,count
REP
Funcin
Instrucciones
REP
REPE = REPZ
REPNE, REPNZ
Repetir CX veces
Repetir CX veces mientras ZF = 1
Repetir CX veces mientras ZF=0
MOVS; STOS
CMPS, SCAS
CMPS, SCAS
12
REPE
REPZ
REPNE
REPNZ
RET
RETF
RETN
nBytes
nBytes
nBytes
ROL
dest,count
ROR
dest,count
13
SAHF
=
=
=
=
=
bit
bit
bit
bit
bit
7
6
4
2
0
SAL
dest,count
SAR
dest,count
SBB
dest,src
14
SCAS string
SCASB
SCASW
SHL
dest,count
SHR
dest,count
STC
Uso:
STD
STI
STOS dest
STOSB
STOSW
STOSD
SUB
dest,src
TEST
dest,src
WAIT
16
XCHG
dest,src
XLAT
translation-table
XOR
dest,src
Op2
0
1
0
1
17
Dest
0
1
1
0