Tabla intrucciones ensamblador

44
INSTITUTO TECNOLÓGICO DE MATEHUALA TABLA CONJUNTO DE INSTRUCCIONES Elaboró: Alma Rosa Medrano Licea Gerardo González Barajas Maribel Molina Herrera Matehuala, Marzo 2011 Materia: Lenguaje Ensamblador Docente: Ing. Martín Luis Ledezma Hernández Carrera: Ingeniería en Sistemas

Transcript of Tabla intrucciones ensamblador

Page 1: Tabla intrucciones ensamblador

INSTITUTO TECNOLÓGICO DE MATEHUALA

TABLA CONJUNTO DE INSTRUCCIONES

Elaboró:

Alma Rosa Medrano Licea

Gerardo González Barajas

Maribel Molina Herrera

Paulina del Carmen Álvarez García

Matehuala, S.L.P. Marzo 2011

Materia: Lenguaje Ensamblador

Docente: Ing. Martín Luis Ledezma Hernández

Carrera: Ingeniería en Sistemas Computacionales

Grupo: Sexto Semestre

Page 2: Tabla intrucciones ensamblador

UNIDAD 2. ELEMENTOS DEL LENGUAJE

CONJUNTO DE INSTRUCCIONES

Nombre de la Instrucción

Sintaxis de la Instrucción Descripción del funcionamiento de

la instrucción

Ejemplo de uso de la instrucción

Categoría de la

Instrucción

ADC ADC destino, fuente Lleva a cabo la suma de dos operándos y suma uno al resultado en caso de que la bandera CF esté activada, esto es, en caso de que exista acarreo.

ADC BX, AX Aritméticas

ADD ADD destino, fuente Suma los dos operandos y guarda el resultado en el operando destino.

ADD AX, BX Aritméticas

DEC DEC destino Decrementar el operando.Esta operación resta 1 al operando destino y almacena el nuevo valor en el mismo operando.

DEC AX Aritméticas

DIV DIV fuente El divisor puede ser un byte o palabra y es el operando que se le da a la instrucción.

DIV AX Aritméticas

Page 3: Tabla intrucciones ensamblador

Si el divisor es de 8 bits se toma como dividendo el registro de 16 bits AX y si el divisor es de 16 bits se tomara como dividendo el registro par DX:AX, tomando como palabra alta DX y como baja AX.

Si el divisor fué un byte el cociente se almacena en el registro AL y el residuo en AH, si fué una palabra el cociente se guarda en AX y el residuo en DX.

IDIV IDIV fuente Consiste basicamente en lo mismo que la instrucción DIV, solo que esta última realiza la operación con signo

IDIV BX Aritméticas

IMUL IMUL fuente Este comando hace lo mismo que MUL, solo que si toma en cuenta los signos de las cantidades que se multiplican.

IMUL AX Aritméticas

Page 4: Tabla intrucciones ensamblador

INC INC destino Incrementar el operando.La instrucción suma 1 al operando destino y guarda el resultado en el mismo operando destino.

INC BX Aritméticas

MUL MUL fuente El ensamblador asume que el multiplicando sera del mismo tamaño que el del multiplicador, por lo tanto multiplica el valor almacenado en el registro que se le da como operando por el que se encuentre contenido en AH si el multiplicador es de 8 bits o por AX si el multiplicador es de 16 bits.

Cuando se realiza una multiplicación con valores de 8 bits el resultado se almacena en el registro AX y cuando la multiplicación es con valores de 16 bits el resultado se almacena en el

MUL AX Aritméticas

Page 5: Tabla intrucciones ensamblador

registro par DX:AX.

NEG NEG destino Esta instrucción genera el complemento a 2 del operando destino y lo almacena en este mismo operando

si AX guarda el valor de 1234H, entonces:

NEG AX

Nos dejaría almacenado en el registro AX el valor EDCCH.

Aritméticas

SBB SBB destino, fuente Esta instrucción resta los operandos y resta uno al resultado si CF está activada. El operando fuente siempre se resta del destino

SBB BL, AL Aritméticas

SUB SUB destino, fuente Resta el operando fuente del destino

SUB AX, BX Aritméticas

AAA AAA Ajuste ASCII para la suma.Convierte el contenido de AL en un numero BCD no empaquetado.

ADD AL, BLAAA

Conversión ASCII-BCD

AAD AAD Ajuste ASCII para la división.Convierte dos números BCD no empaquetados

AADDIV BL

Conversión ASCII-BCD

Page 6: Tabla intrucciones ensamblador

contenidos en AL Y AH en un dividendo un byte que queda almacenado en AL.

AAM AAM Ajuste ASCII para la multiplicación.Corregir el resultado en AX del producto de dos números BCD no empaquetados.

MUL BLAAM

Conversión ASCII-BCD

AAS AAS Ajuste ASCII para la resta.Convierte el resultado de la sustracción de dos operandos en un numero BCD no empaquetado.

SUB AL, BLAAS

Conversión ASCII-BCD

DAA DAA Ajuste decimal para la suma.Convierte el contenido del registro AL en un par de valores BCD.

ADD AL, CLDAA

Conversión ASCII-BCD

DAS DAS Ajuste decimal para la resta.Corrige el resultado en AL de la resta de dos números BCD empaquetados.

SUB AL, BLDAS

Conversión ASCII-BCD

RCL RCL destino, contador Rotación a la izquierda con acarreo

RCL AX, 03 Corrimiento de bit

RCR RCR destino, contador Rotación a la derecha con acarreo

RCR AX, CL Corrimiento de bit

Page 7: Tabla intrucciones ensamblador

ROL ROL destino, contador Rotación a la izquierda

ROL AX, CL Corrimiento de bit

ROR ROR destino, contador Rotación a la derecha

ROR AX, 1 Corrimiento de bit

SAL SAL destino, contador Desplazamiento aritmético a la izquierda

SAL AX, CL Corrimiento de bit

SAR SAR destino, contador Desplazamiento aritmético a la derecha

SAR AX, CL Corrimiento de bit

SHL SAL destino, contador Desplazamiento lógico a la izquierda

SHL AX, CL Corrimiento de bit

SHR SHR destino, contador Desplazamiento lógico a la derecha

SHR AX, CL Corrimiento de bit

SHLD/SHRD SHLD/SHRD {registro/memoria}, registro, {CL,inmediato}

Recorre múltiples bits en un operando. Las instrucciones requieren tres operandos. El primer operando es un registro de 16 o 32 bits o una localidad de memoria con el valor que será corrido. El segundo es un registro con los bits que serán recorridos en el primer operando. El tercer es el CL o una constante inmediata con el valor de corrimiento.

SHLD/SHRD AX, BX, 03 Corrimiento de bit

BSF/BSR BSF/BSR destino, fuente Exploración de bit:BSF busca de derecha a izquierda,

BSF/BSR AX, BX Comparación

Page 8: Tabla intrucciones ensamblador

BSR busca de izquierda a derecha

BT/BTC/BTR/BTS BT,/BTC/ BTR/ BTS {registro/memoria}, {registro, inmediato}

Prueba de bit. Copia un bit especifico en la bandera CF. El primer operando contiene la cadena de bits que serian examinadas y el segundo indica su posición. BTC complementa el bit invirtiendo su valor en el primer operando. BTR reestablece el bit poniéndolo en cero. BTS pone el bit en 1. Referencias son calores de 16 o 32 bits.

BT,/BTC/ BTR/ BTS AX, BX Comparación

CMP CMP destino, fuente Comparar los operandos.Esta instrucción resta el operando fuente al operando destino pero sin que éste almacene el resultado de la operación, solo se afecta el estado de las banderas.

CMP BX, AX Comparación

CMPS CMP destino, fuente Comparar cadenas de un byte o palabra.Con esta instrucción la cadena de

CMP VAR1, VAR2 Comparación

Page 9: Tabla intrucciones ensamblador

caracteres fuente se resta de la cadena destino.

TEST TEST destino, fuente Realiza una conjunción, bit por bit, de los operandos, pero a diferencia de AND esta instrucción no coloca el resultado en el operando destino, solo tiene efecto sobre el estado de las banderas

TEST AX, BX Comparación

LEA LEA destino, fuente Carga la dirección del operando fuente.El operando fuente debe estar ubicado en memoria, y se coloca su desplazamiento en el registro índice o apuntador especificado en destino

LEA SI, VAR1 Transferencia de datos

LODS LODS Carga una cadena de caracteres. Carga el AL con un byte, el AX con una palabra o el EAX con una palabra doble desde la memoria. La dirección de memoria esta sujeta a los registros DS:SI,

LODSB equivale a:MOV AL, [SI]INC SI

Transferencia de datos

Page 10: Tabla intrucciones ensamblador

aunque puede pasar por alto el SI. Dependiendo de la bandera de dirección, la operación también incrementa o disminuye el SI en 1 para byte, en 2 para palabra y en 4 para palabra doble.Los comandos LODSB y LODSW se utilizan de la misma forma, el primero carga un byte y el segundo una palabra (utiliza el registro completo AX).

LDS/LES/LFS/LGS/LSS LDS/LES/LFS/LGS/LSS registro, memoria

Carga el registro del segmento. Inicializa una dirección lejana y desplazamiento de un elemento de datos de modo que las instrucciones que siguen puedan accesarla. El primero operando hace referencia a cualquiera de los registros general, índice o apuntador. El segundo operando hace

LDS/LES/LFS/LGS/LSS AX, [DI] 

Transferencia de datos

Page 11: Tabla intrucciones ensamblador

referencia a cuatro bytes en memoria que contiene un desplazamiento y una dirección de segmento. LA operación carga la dirección de segmento con el registro del segmento y la dirección del desplazamiento en el registro del primer operando.

MOV MOV destino, fuente Nos va a permitir transferir información entre registros y memoria, memoria y registros y entre los propios registros utilizando alguno de los diferentes modos de direccionamiento.

MOV DX,DATO1 MOV DATO2,DX

Transferencia de datos

MOVS MOVS Este comando no necesita parámetros ya que toma como dirección fuente el contenido del registro SI y como destino el contenido de DI

MOV SI, OFFSET VAR1MOV DI, OFFSET VAR2MOVS

Primero inicializamos los valores de SI y DI con las direcciones de las variables VAR1 y VAR2 respectivamente, despues al ejecutar MOVS se copia el contenido de VAR1 a VAR2

Transferencia de datos

Page 12: Tabla intrucciones ensamblador

MOVSX/ MOVZX MOVSX/ MOVZX {registro/memoria}, {registro/memoria/inmediato}

Mueve un signo ampliado o cero ampliado. Copia un operando de 8 o 16 bits a un operando destino de 16 o 32 bits. MOVSX llena con el bit de signo los bits de mas a la izquierda y MOVZX llena con cero los bits.

MOVSX/MOVZX AX, [DI] Transferencia de datos

STOS STOS cadena_destino Almacena los contenidos del registro AL, AX o EAX en un byte, palabra o palabra doble en memoria. La dirección de memoria siempre esta sujeta a los registros ES:DI. Dependiendo de la bandera de dirección, STOS también incrementa o disminuye el registro DI en 1 para byte, 2 para palabra y 4 para doble.

stos [byte di] Transferencia de datos

XCHG destino, origen (eXCHanGe, intercambiar)

Intercambia contenidos. Su formato es XCHG OP1,OP2. El resultado es que el

XCHG AX,BX ; AX->BX, BX->AX

Transferencia de datos

Page 13: Tabla intrucciones ensamblador

contenido de OP2 se pasa a OP1 y el de OP1 se pasa a OP2

XLAT XLAT tabla Se utiliza para traducir un byte del registro AL a un byte tomado de la tabla de traducción. Los datos se toman desde una dirección de la tabla correspondiente a BX + AL, donde bx es un puntero a el comienzo de la tabla y AL es un índice. Indicar tabla al lado de xlat es sólo una redundancia opcional

mov bx,offset tabla mov al,4 xlat

Transferencia de datos

CLC CLC  Limpiar bandera de acarreo.Esta instrucción apaga el bit correspondiente a la bandera de acarreo, o sea, lo pone en cero.

CLC Operaciones con bandera

CLD CLD Limpiar bandera de dirección.La instrucción CLD pone en cero el bit correspondiente a la bandera de dirección.

CLD Operaciones con bandera

Page 14: Tabla intrucciones ensamblador

CLI CLI Limpiar bandera de interrupción.CLI pone en cero la bandera de interrupciones, deshabilitando así aquellas interrupciones enmascarables.

CLI Operaciones con bandera

CMC CMC Complementar la bandera de acarreo.Esta instrucción complementa el estado de la bandera CF, si CF = 0 la instrucción la iguala a 1, y si es 1 la instrucción la iguala a 0.

CMC Operaciones con bandera

LAHF LAHF Transfiere al registro AH el contenido de las banderas.Esta instrucción es útil para verificar el estado de las banderas durante la ejecución de nuestro programa.

LAHF Operaciones con bandera

POPF POPF Este comando transfiere bits de la palabra almacenada en la parte superior de la pila hacia el registro de banderas.

POPF Operaciones con bandera

PUSHF PUSHF Este comando PUSHF Operaciones

Page 15: Tabla intrucciones ensamblador

decrementa en 2 el valor del registro SP y luego se transfiere el contenido del registro de banderas a la pila, en la dirección indicada por SP.

con bandera

SAHF SAHF La instrucción SAHF transfiere el registro AH hacia los bits correspondientes de laparte baja del registro de estado, o sea, a los indicadores SF, ZF, AF, PF y CF. SHAF solomodifica al registro de banderas y no requiere operandos

SAHF Operaciones con bandera

STC STC Activar la bandera de acarreo.Esta instrucción pone la bandera CF en 1.

STC Operaciones con bandera

STD STD Activar la bandera de dirección.La instrucción STD pone la bandera DF en 1.

STD Operaciones con bandera

STI STI Activar la bandera de interrupción.La instrucción activa la bandera IF, esto

STI Operaciones con bandera

Page 16: Tabla intrucciones ensamblador

habilita las interrupciones externas enmascarables (las que funcionan únicamente cuando IF = 1).

IN IN acumulador, puerto Transfiere datos desde el puerto indicado hasta el registro AL o AX.

IN AX, 0FHIN AL, DX

Entrada/salida

OUT OUT puerto, acumulador Transfiere un byte o palabra del registro AL o AX a un puerto de salida.

OUT 12H, AXOUT DX, AL

Entrada/salida

AND AND destino, fuente Con esta instrucción se lleva a cabo la operación "y" lógica de los dos operandos

AND BX, AX Lógicas

NOT NOT destino Lleva a cabo la negación bit por bit del operando destino

NOT AX Lógicas

OR OR destino, fuente La instrucción OR lleva a cabo, bit por bit, la disyunción inclusiva lógica de los dos operandos

OR BL, AL Lógicas

XOR XOR destino, fuente Su función es efectuar bit por bit la disyunción exclusiva lógica de los dos operandos

XOR AX, BX Lógicas

LOOP LOOP etiqueta Generar un ciclo en el programa.La instrucción loop

LOOP B20 Ciclos

Page 17: Tabla intrucciones ensamblador

decrementa CX en 1, y transfiere el flujo del programa a la etiqueta dada como operando si CX es diferente a 1.

LOOPE/LOOPZ LOOPE etiqueta Repetir el ciclo mientras sea igual/mientras sea cero.

LOOPNE/LOOPNZ salt Ciclos

LOOPNE/LOOPNZ LOOPNE etiqueta Generar un ciclo en el programa considerando el estado de ZF.Esta instrucción decrementa a CX en 1 y transfiere el flujo del programa solo si ZF es diferente a 0.

LOOPNE B30 Ciclos

ESC ESC código_operación, origen

Se utiliza en combinación con procesadores externos, tales como los coprocesadores de coma flotante o de E/S, y abre al dispositivo externo el acceso a las direcciones y operandos requeridos. Al mnemónico ESC le siguen los códigos de operación apropiados para el coprocesador así

ESC 21,AX Control del proceso

Page 18: Tabla intrucciones ensamblador

como la instrucción y la dirección del operando necesario

HLT HLT El procesador se detiene hasta que se restaura el sistema o se recibe una interrupción. Como en los PC se producen normalmente 18,2 interrupciones de tipo 8 por segundo (del temporizador) algunos programadores utilizan HLT para hacer pausas y bucles de retardo. Sin embargo, el método no es preciso y puede fallar con ciertos controladores de memoria

HLT Control del proceso

LOCK LOCK Es una instrucción que se utiliza en aplicaciones de recursos compartidos para asegurar que no accede simultáneamente a la memoria más de un procesador.

Control del proceso

Page 19: Tabla intrucciones ensamblador

Cuando una instrucción va precedida por LOCK, el procesador bloquea inmediatamente el bus, introduciendo una señal por la patilla LOCK.

NOP NOP Realiza una operación nula, es decir, el microprocesador decodifica la instrucción y pasa a la siguiente. Realmente se trata de la instrucción XCHG AX,AX.

Control del proceso

WAIT WAIT Provoca la espera del procesador hasta que se detecta una señal en la patilla TEST. Ocurre, por ejemplo, cuando el coprocesador ha terminado una operación e indica su finalización. Suele preceder a ESC para

Control del proceso

Page 20: Tabla intrucciones ensamblador

sincronizar las acciones del procesador y coprocesador

POP POP destino Recupera un dato de la pila.Esta instrucción transfiere el último valor almacenado en la pila al operando destino, después incrementa en dos el registro SP.

POP AX Operaciones con la pila

POPA POPA Saca de la pila 8 palabras y las envía a DI, SI, BP, SP, BX, DX, CX y AX, y ese orden se incrementa el SP en 16. Por lo común, un PUSHA ha guardado los registros. Para el 80386 y posteriores POPAD maneja palabras doble e incrementa el SP en 32. El valor de SP es descartado en lugar de ser guardado.

popa Operaciones con la pila

PUSH PUSH fuente Coloca una palabra en la pila.La instrucción PUSH decrementa en dos el valor de SP y luego transfiere el contenido del

PUSH BX Operaciones con la pila

Page 21: Tabla intrucciones ensamblador

operando fuente a la nueva dirección resultante en el registro recién modificado.

PUSHA PUSHA Empuja todos los registros generales

PUSHA Operaciones con la pila

CMPS CMP destino, fuente Compara el contenido de una localidad de memoria con la de la otra localidad de memoria. Dependiendo de la bandera de dirección CMPS incrementa o disminuye también los registros SI y DI en 1 para bytes, en 2 para palabras y en 4 para palabras dobles

 |  [etiqueta:]  |  CMP  |  {registro/memoria}, {registro/memoria/inmediato} |

Operaciones con cadenas

LODS LODS Esta instrucción toma la cadena que se encuentre en la dirección especificada por SI , la carga al registro AL (o AX) y suma o resta 1 (segun el estado de DF) a SI si la transferencia es de bytes o 2 si la transferencia es de palabras

MOV SI, OFFSET VAR1LODS

La primer linea carga la dirección de VAR1 en SI y la segunda linea lleva el contenido de esa localidad al registro AL.

Operaciones con cadenas

MOVS MOVS cadena_destino, Combina un prefijo MOV AL, [1000 Operaciones

Page 22: Tabla intrucciones ensamblador

cadena_origen REP y una longitud en el CX puede mover cualquer número de caracteres.

con cadenas

REP REP Provoca que una instrucción para cadena se realice de manera repetitiva un número especifico de veces

REP MOVSn Operaciones con cadenas

REPE/REPZ REPE/REPZ Repite mientras no sea igual/ repite mientras no sea cero. Son prefijos de repetición condicional

REPE/REPZ CMPS destino, fuente

Operaciones con cadenas

REPNE/REPNZ REPNE/REPNZ este modificador repite la instrucción a la que acompaña si ECX es distinto de 0 y ZF = 0 (decrementa CX cada vez). Las instrucciones con las que se puede usar son CMPS o SCAS.

REPNE/REPN CMPS destino, fuente

Operaciones con cadenas

SCAS SCAS

cadena_destino

Busca una cadena por valor de byte, palabra o palabra doble especifico. Compara el contenido del registro AL, AX EAX

SCASW (palabras) Operaciones con cadenas

STOS STOS cadena_destino Almacena los stos [byte di] Operaciones

Page 23: Tabla intrucciones ensamblador

contenidos del registro AL, AX o EAX en un byte, palabra o palabra doble en memoria. La dirección de memoria siempre esta sujeta a los registros ES:DI. Dependiendo de la bandera de dirección, STOS también incrementa o disminuye el registro DI en 1 para byte, 2 para palabra y 4 para doble.

con cadenas

INTO INTO Provoca una interrupción (generalmente inofensiva) si ha ocurrido un desbordamiento (la OF esta en 1) y realiza una INT 04H. La dirección de interrupción está en la localidad 10H de la tabla de servicio de interrupción.

INTO Transferencia (condicional)

JA/JNBE JA Etiqueta Brinco condicional.Después de una comparación este comando salta si está arriba o salta si no está abajo o si no

JA B20 Transferencia (condicional)

Page 24: Tabla intrucciones ensamblador

es igualJAE/JNB JAE etiqueta Salto condicional.

Salta si está arriba o si es igual o salta si no está abajo

JAE B20 Transferencia (condicional)

JB/JNAE JB etiqueta Salto condicional.Salta si está abajo o salta si no está arriba o si no es igual.

JB B20 Transferencia (condicional)

JBE/JNA JBE etiqueta Salto condicional.Salta si está abajo o si es igual o salta si no está arriba.

JBE B20 Transferencia (condicional)

JC/JNC JC etiqueta Salto condicional, se toman en cuenta las banderas.Salta si hay acarreo.

JC B20 Transferencia (condicional)

JCXZ JCXZ Salta a una operación específica si el CX o el EX (80386 y posteriores) contiene cero. Esta operación podría ser utilizada al inicio de un ciclo, aunque limitada a un salto corto, Banderas no las afecta

JCXZ Transferencia (condicional)

JE/JZ JE etiqueta Salto condicional.Salta si es igual o salta si es cero.

JE B20 Transferencia (condicional)

JG/JNLE JG etiqueta Salto condicional, se toma en cuenta el signo.

JG B20 Transferencia (condicional)

Page 25: Tabla intrucciones ensamblador

Salta si es más grande o salta si no es menor o igual.

JGE/JNL JGE etiqueta Salto condicional, se toma en cuenta el signo.Salta si es más grande o igual o salta si no es menor que.

JGE B20 Transferencia (condicional)

JL/JNGE JL etiqueta Salto condicional, se toma en cuenta el signo.Salta si es menor que o salta si no es mayor o igual.

JL B20 Transferencia (condicional)

JLE/JNG JLE etiqueta Salto condicional, se toma en cuenta el signo.Salta si es menor o igual o salta si no es más grande.

JLE B20 Transferencia (condicional)

JNE/JNZ JNE etiqueta Salto condicional.Salta si no es igual o salta si no es cero.

JNE B20 Transferencia (condicional)

JNP/JPO JNP etiqueta Salto condicional, se toma en cuenta el estado de las banderas.Salta si no hay paridad o salta si la paridad es non.

JNP B20 Transferencia (condicional)

JO/JNO JNO etiqueta Salto condicional, se toma en cuenta el estado de las banderas.

JNO B20 Transferencia (condicional)

Page 26: Tabla intrucciones ensamblador

Salta si no hay desbordamiento..

JP/JPE JP etiqueta Salto condicional, se toma en cuenta el estado de las banderas.Salta si hay paridad o salta si la paridad es par.

JP B20 Transferencia (condicional)

JS/JNS JNS etiqueta Salto condicional, se toma en cuenta el estado de las banderas.Salta si el signo esta desactivado.

JNS B20 Transferencia (condicional)

CALL CALL {registro/memoria} Llama a un procedimiento cercano o lejano. El ensamblador genera un CALL cercano i el procedimiento llamado es NEAR y un CALL lejano si el procedimiento es FAR.

call proc1 Transferencia (incondicional)

INT INT Interrumpe el procesamiento y accesa la tabla de servicios de interrupción en memoria baja para determinar la dirección de la rutina solicitada

INT Transferencia (incondicional)

IRET IRET Retorno de interrupción

IRET Transferencia (incondicional)

Page 27: Tabla intrucciones ensamblador

("Interrupt Return").  Recupera de la pila el contador de programa PC; el segmento de código CS (lo que supone devolver el programa al punto de ejecución original), y el registro de estado FLAGS (lo que supone devolver las interrupciones enmascarables al estado inicial).

JMP JMP destino Salto incondicionalEsta instrucción se utiliza para desviar el flujo de un programa sin tomar en cuenta las condiciones actuales de las banderas ni de los datos.

JMP BX Transferencia (incondicional)

RET RET [valor] Retorna de un procedimiento extrayendo de la pila la dirección de la siguiente Dirección.

RET / RET 4 Transferencia (incondicional)

RETN/RETF RETN [valor]/ RETF[valor] Son formatos en que se puede presentar el return, se extraerá el registro de segmento y el desplazamiento en

RETN / RETF Transferencia (incondicional)

Page 28: Tabla intrucciones ensamblador

un procedimiento de tipo FAR (dos palabras) y solo el desplazamiento en un procedimiento NEAR (una palabra).

CBW CBW

Indicadores: OF DF IF TF SF ZF AF PF CF

Copia el bit 7 del registro AL en todos los bits del registro AH, es decir, expande el signo de AL a AX como paso previo a una operación de 16 bits.

CBW Conversión de tipo

CDQ CDQ( sin operando) realizan la extensión del bit de signo de DWORD a QUADRUPLEWORD actuando sobre AX, EAX o EDX:EAX

cdq eax Conversión de tipo

CWD CWD

Indicadores: OF DF IF TF SF ZF AF PF CF

Expande el signo del registro AX sobre el registro DX, copiando el bit más significativo de AH en todo DX

CWD Conversión de tipo

CWDE CWDE Convierte la palabra extendida doble

CWDE Conversión de tipo