CC-BY-SA • PID_00178132
43
Programación en ensamblador (x86-64)
Ejemplos push word 23h push qword [rax] pop qword [var] pop bx
3.4.3. Tipos de instrucciones El juego de instrucciones de los procesadores x86-64 es muy amplio. Podemos organizar las instrucciones según los tipos siguientes: 1)�Instrucciones�de�transferencia�de�datos: •
mov�destino,�fuente: instrucción genérica para mover un dato desde un origen a un destino.
•
push� fuente: instrucción que mueve el operando de la instrucción a la cima de la pila.
•
pop�destino: mueve el dato que se encuentra en la cima de la pila al operando destino.
•
xchg�destino,�fuente: intercambia contenidos de los operandos.
2)�Instrucciones�aritméticas�y�de�comparación: •
add�destino,�fuente: suma aritmética de los dos operandos.
•
adc�destino,�fuente: suma aritmética de los dos operandos considerando el bit de transporte.
•
sub�destino,�fuente: resta aritmética de los dos operandos.
•
sbb�destino,�fuente: resta aritmética de los dos operandos considerando el bit de transporte.
•
inc�destino: incrementa el operando en una unidad.
•
dec�destino: decrementa el operando en una unidad.
•
mul�fuente: multiplicación entera sin signo.
•
imul�fuente: multiplicación entera con signo.
•
div�fuente: división entera sin signo.
•
idiv�fuente: división entera con signo.
•
neg�destino: negación aritmética en complemento a 2.
•
cmp�destino,�fuente: comparación de los dos operandos; hace una resta sin guardar el resultado.
3)�Instrucciones�lógicas�y�de�desplazamiento: a)�Operaciones�lógicas: •
and�destino,�fuente: operación 'y' lógica.
•
or�destino,�fuente: operación 'o' lógica.
•
xor�destino,�fuente: operación `o exclusiva´ lógica.
•
not�destino: negación lógica bit a bit.
Ved también En el apartado 6 de este módulo se describe con detalle el formato y la utilización de las instrucciones de los procesadores x86-64 que consideramos más importantes.