Instrucciones
Se pueden clasificar en los siguientes grupos:
· *De Transferencia.
· *Aritméticos.
· *Lógicos.
· *De salto.
Conjunto de intrucciones:
Las
instrucciones están agrupadas en los siguientes grupos y subgrupos:
1)
TRANSFERENCIA
DE DATOS.
A)
DE
PROPOSITO GENERAL
1.- MOV
destino, Fuente ; Mueve datos
2.- PUSH
fuente ;
Mete datos a la Pila
3.- POP
destino ; Saca datos de la Pila
4.- XCHG
destino, fuente ; Intercambia contenidos
5.- XLAT ;
Traduce (Uso para tablas)
B)
GRUPO DE
ENTRADA-SALIDA.
1.- IN
acumulador, puerto ; Lee un
dato del Puerto
2.- OUT
puerto, acumulador ; Saca un
dato por el puerto
C)
DE
OPERANDO DE DIRECCION.
1.- LEA
destino, fuente ; Carga una
dirección efectiva
2.- LDS
destino, fuente ; Carga el reg. De
segmento datos
3.- LES
destino, fuente ; Carga el reg. De segmento extra
D)
TRANSFERENCIA
DE BANDERAS.
1.- LAHF ;
Carga al reg. AH con las banderas
2.- SAHF
; Envía el reg AH al reg. de Banderas
3.- PUSHF ;
Guarda las banderas en el stack
4.- POPF ;
Lo que saca del stack lo pone en el
Reg. De banderas
2)
INSTRUCCIONES ARITMETICAS
A)
DE SUMA
1.- ADD
destino, fuente ; Suma de números
binarios
2.- ADC
destino, fuente ; Suma con carry
3.- INC
destino ; Incrementos
de 1
4.- DAA
; Ajuste
decimal después de sumar
5.- AAA
; Ajuste
ASCII después de sumar
B)
DE RESTA
1.- SUB
destino, fuente ; resta
valores binarios
2.- SBB
destino, fuente ; resta
con borrow
3.- CMP
destino, fuente ; compara datos
4.- DAS
; Ajuste decimal después de restar
5.- AAS
; Ajuste ASCII después de restar
C)
DE
MULTIPLICACION.
1.- MUL
fuente (sin signo) ;
Multiplica sin signo
2.- IMUL
fuente (con signo) ; Multiplica con signo (enteros)
3.- AAM
; Ajuste ASCII para la
multiplicación
D)
DIVISION
1.-
DIV fuente (sin signo) ; Divide sin signo
2.- IDIV
fuente (con signo) ; Divide con signo
3.- AAD
;
Ajuste ASCII para la división
3)
INSTRUCCIONES
DE MANIPULACION DE BITS
A)
LOGICAS
1.-
NOT destino ;
Negación lógica (No)
2.- AND
destino, fuente ; Conjunción lógica (y)
3.- OR
destino, fuente ; Disyunción lógica (o)
4.- XOR
destino, fuente ; OR Exclusiva
5.- TEST
destino, fuente ; Prueba
bits
6.- NEG
destino ; Negación
B)
DE
DESPLAZAMIENTO
1.-
SHL destino, contador ; Corrimiento lógico a la izquierda
2.- SAL
destino, contador ;
Corrimiento algebraico a la izq.
3.- SHR
destino, contador ;
Corrimiento lógico a la Derecha
4.- SAR
destino, contador ;
Corrimiento algebraico a la Der.
C)
GIROS
1.-
ROL destino, contador ; Rotación a la izquierda
2.- ROR
destino, contador ; Rotación
a la derecha
3.- RCL
destino, contador ; Rotación
a la izquierda con carry
4.- RCR
destino, contador ; Rotación
a la derecha con carry
4)
INSTRUCCIONES
DE CADENA
1.-
MOVS cadena-destino,
cadena-fuente ; Mueve cadenas
MOVSB ----- MOVSW
2.-
LODS cadena-fuente ;
carga cadena
3.-
STOS cadena-destino,
cadena-fuente ;Almacena una cadena
STOSB -----STOSW
4.-
CMPS cadena-destino,
cadena-fuente ; Compara
cadenas
CMPSB ------CMPSW
5.-
SCAS cadena-destino ;
Explora una cadena
SCASB ------SCASW
5) INSTRUCCIONES DE TRANSFERENCIA DE PROGRAMA
A)
TRANSFERENCIA
INCONDICIONAL
1.- CALL
destino ;
llama a un procedimiento
2.- RET
(RETN, RETF) ;
regresa de un procedimiento
3.- JMP
destino ;
Salto incondicional
B)
TRANSFERENCIA
CONDICIONAL
1.- JB/JNAE
(Salta si es bajo / no arriba ni igual)
CF=1
2.- JAE/JNB
(Salta si está arriba o igual / no está bajo) CF=0
3.- JBE/JNA
(Salta si es bajo ó igual / no está arriba) CF=1 o ZF=1
4.-
JA/JNBE (Salta si está arriba
/ no bajo ni igual) CF=0 y ZF=0
5.-
JE/JZ (Salta si fueron
iguales) ZF=1
6.-
JNE/JNZ (Salta si no es
igual a) ZF=0
7.-
JL/JNGE (menor/no más grande
ni igual) SF diferente de OF
8.-
JGE/JNL (mas grande o igual
/no menor) SF=OF
9.-
JLE/JNG (menor o igual/no más
grande) ZF=1 o SF diferente
de 0F.
10.- JG/JNLE (mas grande/no menos ni igual) ZF=0 o SF=OF
11.- JP/JPE (paridad puesto/si hay paridad par) PF=1
12.- JNP/JPO (paridad no puesta/ paridad impar) PF=0
13.- JS (bit de signo puesto)
S=1
14.- JNS (bit de signo no puesto) SF=0
15.- JC (carry puesto) CF=1
16.- JNC (carry no puesto) CF=0
17.- JO (sobreflujo puesto) OF=1
18.- JNO (sobreflujo no puesto) OF=1
C)
CONTROL
DE ITERACIONES
1.- LOOP ETIQ ; Repetir hasta que CX=0
2.- LOOPE/LOOPZ ETIQ ; Repetir hasta que CX=0 o Z=1
3.- LOOPNE/LOOPNZ ETIQ ; Rep. hasta que CX=0 o Z=0
4.- JCXZ ETIQ ;
Salta si CX=0
6)
INSTRUCCIONES
DE INTERRUPCION
1.- INT vector
; petición de
Interrupción
2.- IRET ;
Regreso de una interrupción
7)
INSTRUCCIONES
DE CONTROL DEL PROCESADOR
a.
OPERACIONES
CON BANDERAS
1.-
STC Pone la bandera de
carry C=1
2.-
CLC Limpia la bandera de
carry C=0
3.-
CMC Complementa la bandera de carry
4.-
STD Pone la bandera de
dirección D=1
5.-
CLD Limpia la bandera de
dirección D=0
6.-
STI Pone la bandera de
interrupción habilitada IF=1
7.-
CLI Limpia la bandera de
interrupción habilitada IF=0
b. instrucciones de
control del procesador
1.- HLT
Pone al micro en estado
estático.
2.- WAIT
Entra en edo. de espera hasta que se active la línea
TEST.
8)
INSTRUCCIONES
DE CONVERSION
1.- CBW Conversión de Byte a palabra
2.- CWD Conversión de palabra a doble palabra
EJEMPLO GRAFICO:
Mas informacione en:
No hay comentarios:
Publicar un comentario