Top Qs
Línea de tiempo
Chat
Contexto

Anexo:Instrucciones x86

artículo de lista de Wikimedia De Wikipedia, la enciclopedia libre

Remove ads

El conjunto de instrucciones x86 ha sido extendido varias veces, introduciendo registros más amplios y tipos de datos y/o nueva funcionalidad.

Instrucciones con enteros

Resumir
Contexto

Este es el conjunto de instrucciones completo del 8086/8088, pero la mayoría de estas instrucciones, si no todas, están disponibles en el modo de 32 bits, ellas simplemente operarían en registros y valores de 32 bits (EAX, EBX, etc) en vez de sus contrapartes de 16 bits (AX, BX, etc). Ver lenguaje ensamblador x86 para un tutorial rápido para esta familia de procesadores. El conjunto de instrucciones actualizado también está agrupado de acuerdo a la arquitectura (i386, i486, i686) y más generalmente está referido como x86_32 y x86_64 (también conocido como AMD64).

Representación de números enteros

Los números en los registros pueden representarse de dos maneras. La primera es una representación de entero positivo sin signo, cuyo rango será desde 0 hasta 2n, donde n es 8, 16, 32 o 64 bits dependiendo del tamaño del registro. La segunda es una representación de entero con signo (complemento a dos, con un rango entre -2n-1 hasta 2n-1 - 1, donde n es, al igual que en la anterior, el ancho de bits del registro, (8, 16, 32 o 64 bits).

Rango de los números de acuerdo al tamaño de los registros y su representación como entero con signo y sin signo:

Más información Tamaño del registro, Enteros sin signo ...

Las operaciones aritméticas del procesador trabajan, generalmente, indistintamente con cualquiera de las dos representaciones. La misma instrucción, (el mismo opcode), para una suma, por ejemplo, puede sumar dos valores en representación como enteros positivos sin signo o dos valores en representación de enteros con signo. Para el procesador es lo mismo, y es el programador (o el compilador) el que trata o piensa en los números como estando en una representación u otra.

Hay, sin embargo, algunas instrucciones, como la multiplicación y la división, por ejemplo, donde son necesarios dos opcodes diferentes , uno para cuando se realizan operaciones con enteros positivos sin signo, y otro para cuando se realizan operaciones con enteros con signo, ya que se necesita un tratamiento especial para cada caso. Existen las instrucciones MUL y DIV para trabajar con enteros positivos sin signo, y las IMUL e IDIV para trabajar con enteros con signo. Lo mismo sucede con las instrucciones de SHIFT (desplazamiento), que tienen versiones para manejar números en representación entera sin signo (SHL y SHR) y con signo (SAL y SAR).

El CPU también puede trabajar con operaciones con números en representación BCD, pero como no hay instrucciones específicas para BCD, se usan las operaciones aritméticas convencionales, pero hay que hacer un ajuste adicional, usando instrucciones especializadas, para obtener el resultado correcto en representación BCD.

Instrucciones x86

Abajo una tabla con las instrucciones x86. La columna CPU indica el primer CPU que tuvo la instrucción, comenzando con el Intel 8086 y el Intel 8088, que fueron los primeros CPU de la serie x86

Mueve y copia datos
Más información Movimiento de datos, CPU ...
Operaciones de pila
Más información Operaciones de pila, CPU ...
Entrada y salida por puertos
Más información Entrada/salida de puertos, CPU ...

Conversiones

Más información Conversiones, CPU ...

Operaciones aritméticas y lógicas

Operaciones aritméticas
Más información Aritméticas, CPU ...
Operaciones BCD y ASCII
Más información Operaciones BCD y ASCII, CPU ...
Operaciones lógicas (bitwise)
Más información Lógicas (bitwise), CPU ...
Más información Rotación de bits, CPU ...
Más información Desplazamiento de bits, CPU ...
Más información Desplazamiento de bits (números con representación de signo (complemento a dos)), CPU ...

Operaciones con bits

Más información Operaciones con bits, CPU ...

Operaciones con los flags (banderas)

Más información Flags, CPU ...

Operaciones de string

Más información Carga el registro AL, AX o EAX, CPU ...

Control del flujo del programa

Saltos incondicionales
Más información Salto incondicional, CPU ...
Comparaciones
Más información Comparaciones, CPU ...
Saltos condicionales
Más información Saltos condicionales, CPU ...
Loops (bucles)
Más información Loops (bucles), CPU ...
Llamadas a subrutinas
Más información Llamadas a subrutinas, CPU ...
Interrupciones
Más información Llamadas de interrupción, CPU ...
Detener el procesador
Más información Detener el procesador, CPU ...

Operaciones con registros de segmento

Más información Operaciones con registros de segmento, CPU ...
Remove ads

Operaciones de sincronización entre procesadores

Más información Operaciones de sincronización entre procesadores, 8086/88 ...

Verificación de límites de arreglos

Más información Verificación de límites de arreglos, CPU ...

Carga y guarda el registro de tareas

Más información Carga y guarda el registro de tareas, CPU ...

Carga y guarda el estado de la máquina

Más información Carga y guarda el estado de la máquina, CPU ...

Operaciones para cargar y guardar tablas de descriptor

Más información Tablas de descriptor, CPU ...

Segmentos

Más información Segmentos, CPU ...

No clasificadas

Más información No clasificadas, CPU ...

Otras

Más información Otras, CPU ...
Remove ads

Instrucciones de coma flotante

Resumir
Contexto

Instrucciones originales del 8087

Las siguientes son las instrucciones originales que vinieron con el coprocesador numérico Intel 8087, que estaba diseñado para suplir funcionalidad de coma flotante a los procesadores Intel 8086 y 8088.

Más información para ...
Remove ads

Véase también

Procesadores x86:

Remove ads

Enlaces externos

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads