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:
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
Operaciones de pila
Entrada y salida por puertos
Conversiones
Operaciones aritméticas y lógicas
Operaciones aritméticas
Operaciones BCD y ASCII
Operaciones lógicas (bitwise)
Operaciones con bits
Operaciones con los flags (banderas)
Operaciones de string
Control del flujo del programa
Saltos incondicionales
Comparaciones
Saltos condicionales
Loops (bucles)
Llamadas a subrutinas
Interrupciones
Detener el procesador
Operaciones con registros de segmento
Remove ads
Operaciones de sincronización entre procesadores
Verificación de límites de arreglos
Carga y guarda el registro de tareas
Carga y guarda el estado de la máquina
Operaciones para cargar y guardar tablas de descriptor
Segmentos
No clasificadas
Otras
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.
Remove ads
Véase también
Procesadores x86:
Remove ads
Enlaces externos
- Intel 80386 Reference Programmer's Manual
- The 8086 / 80286 / 80386 / 80486 Instruction Set
- Intel Pentium Instruction Set Reference
- Free IA-32 and x86-64 documentation, provided by Intel
- Netwide Assembler Instruction List (from Netwide Assembler)
- X86 Opcode and Instruction Reference
- The Art of Assembly Language Programming
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads