Unas sencillas instrucciones en lenguaje ensamblador, con explicaciones en chino.
Instrucciones de ensamblaje de uso común: la instrucción MOV es una instrucción de doble operando, y uno de los dos operandos debe ser un registro MOV DST, SRC // Operación de ejecución de byte/palabra: dst = src
1. El número de destino puede ser un registro general, una unidad de almacenamiento y un registro de segmento (pero el registro de segmento CS no está permitido 2. Los datos inmediatos no se pueden enviar directamente al registro de segmento
).3. No está permitido utilizar dos unidades de almacenamiento. La unidad transfiere datos directamente. 4. No se permite la transferencia directa de información entre dos registros de segmento.
Instrucción PUSH push e instrucción POP pop: operación de pila. realiza operaciones de datos del modo "último en entrar, primero en salir".
PUSH SRC //Word
Los operandos insertados en la pila pueden ser registros generales, registros de segmento (todos) y memoria, excepto que no se permiten números inmediatos. Al insertar en la pila, el byte de orden superior Empuje la pila primero, luego el byte de orden inferior POP DST //Word
Excepto los números inmediatos y. Registros de segmento CS, los operandos pop pueden ser registros generales, registros de segmento y almacenamiento
Configurador después de ejecutar la instrucción POP SS, la posición del área de pila en el área de almacenamiento cambiará. > Después de ejecutar la instrucción POP SP, la posición de la parte superior de la pila cambiará
Intercambio XCHG (eXCHanG)
Instrucción: Intercambie los dos valores de operando
<. p>.XCHG OPR1, OPR2 //Byte/Palabra
Ejecutar operación: Tmp=OPR1 OPR1=OPR2 OPR2=Tmp 1. Un operando debe estar en el registro 2. Datos no se puede intercambiar con el registro de segmento
3. Los datos no se pueden intercambiar entre memoria y memoria
p>Instrucción de escape XLAT(TRANSLATE): convierte un código en otro código. Cuando se ejecuta la instrucción, solo se utiliza la primera dirección de la tabla que se ha almacenado en BX. Después de la ejecución, el contenido en AL es el código a convertir
LEA (Load Effective Address) Transferencia de dirección efectiva. Instrucción de registro
LEA REG, SRC //La instrucción envía la dirección efectiva del operando de origen SRC al registro especificado Operación de ejecución: REG = EAsrc
Nota: SRC solo puede ser. en varios modos de direccionamiento El operando de memoria, REG solo puede ser el registro de 16 bits MOV BX, OFFSET OPER_ONE es equivalente a LEA BX, OPER_ONE
MOV SP, [BX] //Dos almacenes consecutivos que direccionan indirectamente BX El contenido de la unidad se envía a SP LEA SP, [BX] //El contenido de BX se envía a SP como dirección de memoria efectiva. El puntero LDS (Cargar DS con puntero) se envía al registro y a la instrucción DS LDS REG. , a menudo se especifica el registro SRC //SI.
Operación de ejecución: REG=(SRC), DS=(SRC+2) //Envía el contenido de las dos primeras unidades de almacenamiento apuntadas por SRC al registro especificado en la instrucción, y las dos últimas unidades de almacenamiento unidades en el registro de segmento DS.