Mnemónicos del lenguaje ensamblador
1. Instrucciones de transmisión de datos
1. Instrucciones generales de transferencia de datos
Transferencia MOV (móvil)
Push. En(Empujar a la pila)
Pop(Sop de la pila)
Intercambio
. Comando MOV
Formato: MOV Daylight Saving Time, SRC
Operación realizada: (Daylight Saving Time)
. Instrucción push stack
Formato: push SRC
Operación realizada: (sp)
((SP) 1, (SP)) lt;-( SRC)
. Comando de pila emergente
Formato: Horario de verano popular
Operación realizada: (Horario de verano)
(SP) lt -(SP) 2; p>
. Instrucciones de intercambio XCHG
Formato: XCHG OPR1, OPR2.
Operación realizada: (opr1)
2. Instrucción de transferencia especial del acumulador
Entrada entrada
Salida salida
Código de escape XLAT (traducción)
Este conjunto de instrucciones se limita a utilizar el acumulador AX o AL para transmitir información.
. Comando de entrada
Formato largo: puerto de entrada (byte)
En AX, puerto (palabra)
Operación realizada: (al) < -( puerto)( byte)
(AX) <-(PUERTO 1,PUERTO) (palabra)
Forma corta: en AL, DX(byte)
En AX, DX (palabra)
Operación realizada: Al
AX lt-((DX) 1, DX) (palabra)
. Comando de salida OUT
El formato largo es: OUT PORT, AL (byte).
Puerto de salida, AX(Word)
Operación realizada: (Puerto)
(PUERTO 1, PUERTO) lt -(AX)(Word) <; /p>
Formato corto: OUT DX, AL (byte)
Salida DX, AX (palabra)
Operación realizada: ((dx)) < - (AL) (byte)
((DX) 1, (DX)) <-AX (palabra)
En máquinas IBM-PC, los dispositivos externos pueden tener hasta 65536 puertos de E/S , estos puertos (es decir, las direcciones de puerto de los dispositivos periféricos) son
0000~FFFFH. Los primeros 256 puertos (0~FFH) se pueden especificar directamente en el comando. Este es el puerto de formato largo. Cuando el comando de la máquina se expresa en dos bytes, el segundo byte es el número de puerto. directamente en la especificación.
Números de puertos, pero sólo los primeros 256 puertos. Cuando el número de puerto >=256, solo se puede utilizar el formato corto. En este momento debes ingresar primero el número de puerto.
Registro DX (el número de puerto puede ser de 0000 a 0FFFFH) y luego usa instrucciones IN o OUT para transmitir información.
. Comando de escape XLAT
Formato: XLAT OPR
o: XLAT
Operación realizada: (al) < -((BX) (AL))
3. Dirección efectiva de la instrucción de registro
La dirección efectiva LEA (cargar dirección efectiva) se envía al registro.
Punteros a registros y DS.
Punteros a registros y ES.
. La dirección válida registrada por LEA
El formato es: LEA REG, SRC.
Operación realizada: (reg)
La instrucción envía la dirección efectiva del operando fuente al registro especificado.
.
Puntero LDS a registros e instrucciones DS
Formato: LDS REG, SRC
Operación realizada: (reg)
(DS) lt;-(SRC 2)
Envía los cuatro bytes consecutivos especificados por el operando fuente al registro especificado por la instrucción y el registro DS. Esta instrucción normalmente especifica el
registro SI
. Puntero LES a registros e instrucciones ES
Formato: LES REG, SRC
Operación realizada: (reg)
(ES) lt;-(SRC 2)
Envía los cuatro bytes consecutivos especificados por el operando fuente al registro especificado por la instrucción y al registro es. Esta instrucción generalmente especifica el registro DI
4. Instrucción de transferencia de registro de bandera
bandera LAHF (cargar AH con bandera) para enviar AH.
SAHF (Guardar como indicador) Enviar indicador para registrar
Indicador PUSHF (Insertar indicador) en la pila.
Se izó la bandera de POPF.
LAHF firmó la bandera
Formato: LAHF
Operación realizada: (ah)
Registro de la bandera SAHF
Formato: SAHF
Operación realizada: (byte bajo de PWS)
. La bandera PUSHF va a la pila.
Formato: PUSHF
Operación realizada: (sp)
((SP) 1, (SP)) lt -(PSW)
. Apilar bajo la bandera POPF
Formato: POPF
Operación realizada: (pws)
(SP) lt -(SP 2)
Segundo, instrucciones aritméticas
1. Instrucciones de suma
Sumar (sumar) suma
ADC con suma de acarreo (suma con acarreo)
INC (incremento) más 1
Agregar descripción
Formato: Agregar DST, SRC
Operación realizada: (Horario de verano)
ADC con instrucción carry add
Formato: ADC DST, SRC
Operación realizada: (horario de verano)
. Instrucción de suma más 1
Formato: Operaciones de la empresa
Operación realizada: (OPR)
2 Instrucción de resta
Resta p>
SBB (restar con pedir prestado) Restar con pedir prestado.
DEC (decremento menos 1
Complemento negativo
Comparación CMP (comparar)
Instrucción de resta
Formato : Horario de verano, Horario de verano
Operación realizada: (Horario de verano)
SBB con instrucción de resta de préstamo
Formato: Horario de verano SBB,. SRC
Operación realizada: (Horario de verano)
DEC menos 1 comando
Formato: diciembre hábil
Operación ejecutada: ( OPR)
Instrucción de complemento negativo
Formato: OPR negativo
Operación realizada: (OPR)
Instrucción de comparación CMP
Formato: CMP OPR1, OPR2
Operación realizada: (OPR1)-(OPR2)
Esta instrucción realiza la resta como la subinstrucción, pero el resultado no se guarda, pero solo la mitad occidental del indicador de condición se establece según el resultado
3. Instrucción de multiplicación
Multiplicación sin signo
Multiplicación IMUL (múltiple con signo). números firmados.
Instrucción de multiplicación sin signo MUL
Formato: MUL SRC
Operación realizada:
Bytes operandos: (ax) < -(AL)*( SRC)
Operandos de palabra: (dx, ax) < -(AX)*(SRC)
. Instrucción de multiplicación con signo IMUL
Formato: IMUL SRC
Operación realizada: igual que MUL, pero debe ser un número con signo, MUL es un número sin signo.
4. Instrucciones de división
División sin signo
IDIV (división con signo) división digital con signo
CBW (byte Convertir a Word) Bytes se convierten en palabras.
Las palabras CWD (Contert word to double word) se convierten en palabras dobles.
. Instrucción de división sin signo
Formato: DIV SRC
Operaciones realizadas:
Operaciones de bytes: (al)0 y ZF=1.
LOOPNZ/LOOPNE ejecuta instrucciones en bucle cuando las instrucciones no son cero o iguales.
Formato: LOOPNZ (o LOOPNE) OPR
Condiciones de prueba: (CX)< >0 y ZF=0.
Los pasos de estas tres instrucciones son:
1)(CX) lt;-(CX)-1
2) Verifique si las condiciones de prueba son cumplido, Si está satisfecho, (IP)
4.Subrutina
. Llamar al comando
. Instrucción de retorno RET
Interrupción
. Instrucción INT
Formato: tipo INT
o INT
Operación realizada: (sp)
((SP) 1, ( SP )) lt;-(PSW)
(SP) lt;-(SP)-2
((SP) 1, (SP)) lt;-(CS)
(SP) lt;-(SP)-2
((SP) 1, (SP)) lt;-(Derechos de Propiedad Intelectual)
( IP) lt;-(Tipo*4)
(CS) lt;-(Tipo*4 2)
. Si se produce un desbordamiento, se convierte en una interrupción.
Operación realizada: Si OF=1, entonces:
(SP) lt;-(SP)-2
((SP) 1, ( SP )) lt;-(PSW)
(SP) lt;-(SP)-2
((SP) 1, (SP)) lt;-(CS)
(SP) lt;-(SP)-2
((SP) 1, (SP)) lt;-(Derechos de Propiedad Intelectual)
( IP)lt;-(10H)
(CS)lt;-(12H)
. IRET devuelve una instrucción de una interrupción.
Formato: IRET
Operación realizada: (IP)
(SP) lt; -(SP) 2
(CS ) lt;-((SP) 1, (SP))
(SP) lt;-(SP) 2
(PSW) lt;-((SP) 1, ( SP))
(SP) lt;-(SP) 2
6. Instrucciones de control del procesador
1. >. Instrucción de posición 0 de acarreo de CLC (borrar acarreo) cf
Acarreo del complemento de acarreo CMC cf
. Instrucción de posición de acarreo 1 del STC (establecer acarreo) cf
. El indicador de dirección CLD establece el comando 0 (borrar dirección) df < -0
.
Comando de configuración 1 del indicador de dirección STD (establecer dirección) df
. El indicador de interrupción CLI se establece en 0 (borra la interrupción) si
. Indicador de interrupción STI establece 1 instrucción (establece interrupción), si
2 Otras instrucciones de control del procesador
Sin operación
Detener el apagado
Esperar (Esperar) Espera
ESC (Salir)
Bloquear bloqueo
Estas instrucciones pueden controlar el estado del procesador. Ninguno de ellos afecta los códigos condicionales.
. NOP no tiene instrucciones de operación
Esta instrucción no realiza ninguna operación. Su código de máquina ocupa un byte y se usa a menudo para depurar programas.
Para que pueda ser sustituido por otras instrucciones en operaciones formales.
. Instrucción de apagado HLT
Esta instrucción puede detener la máquina y detener el procesador para esperar interrupciones externas y la interrupción finaliza.
Después, podrás continuar con el siguiente procedimiento.
. Esperar Esperar instrucción
Esta instrucción inactiva el procesador. También se puede utilizar para esperar una interrupción externa pero aún regresar después de que finalice la interrupción.
Espera instrucciones para continuar con tu virtud.
Instrucción de escape ESC
Formatear la memoria ESC
Donde mem representa la unidad de almacenamiento y la instrucción ESC envía el contenido de la unidad de almacenamiento al bus de datos. Por supuesto, la instrucción ESC
no permite direccionamiento inmediato de datos y registros. Esta instrucción utiliza un coprocesador para realizar algunas operaciones.
Las instrucciones u operandos se pueden obtener de la memoria. Los coprocesadores (como el 8087) son hardware opcional que aumentan la velocidad.
. Instrucción de bloqueo de bloqueo
Esta instrucción es un prefijo que se puede combinar con otras instrucciones para mantener la señal bloqueada del bus hasta que esta instrucción se combine con ella.
Esta instrucción evita la destrucción de información útil cuando la CPU coopera con otros procesadores.