Los registros son partes clave de la arquitectura de una CPU, diseñados para almacenar datos temporales y realizar operaciones directamente en el procesador. A diferencia de la memoria RAM, los registros son mucho más rápidos y permiten que las instrucciones de ensamblador operen de manera eficiente. Los registros comunes en arquitecturas como x86 o ARM incluyen:
Al utilizar ensamblador, las operaciones se realizan directamente sobre los registros, lo que permite un control más granular sobre los datos y el flujo del programa. A continuación, algunos ejemplos comunes de manipulación de registros:
1. Cargar valores en un registro:
MOV AX, 5 ; Mueve el valor 5 al registro AX
2. Operaciones aritméticas:
ADD AX, BX ; Suma el valor del registro BX al registro AX
SUB AX, 1 ; Resta 1 al valor del registro AX
3. Mover datos entre registros:
MOV CX, AX ; Copia el valor de AX en CX
4. Operaciones lógicas:
AND AX, BX ; Realiza una operación lógica AND entre AX y BX
OR AX, 0xFF ; Realiza una operación OR entre AX y 0xFF
Este ejemplo muestra cómo sumar dos números almacenados en registros.
MOV AX, 10 ; Carga el valor 10 en AX
MOV BX, 20 ; Carga el valor 20 en BX
ADD AX, BX ; Suma BX a AX (AX ahora contiene 30)
En este ejemplo, se utiliza CX para controlar un bucle.
MOV CX, 5 ; Inicializa el contador CX con el valor 5
LOOP_LABEL:
; Código del bucle
DEC CX ; Decrementa CX
JNZ LOOP_LABEL; Salta a LOOP_LABEL si CX no es cero
Jorge García
Fullstack developer