Registros de propósito general
Los registros de propósito general, como su nombre lo
indica, se utilizan en la forma en que lo desee el
programador. Cada uno de estos registros se puede
direccionar como un registro de 16 bits (AX, BX, CX,
DX) o como un registro de 8 bits (AH, AL, BH, BL, CH,
CL, DH, DL). Cada uno de los registros de 16 bits está
formado por la concatenación de dos registros de 8
bits: AX = AH:AL, BX = BH:BL, CX = CH:CL y DX =
DH:DL, donde el bit 0 del registro AH es el bit 8 del
registro AX.
Los registros de datos, como su nombre indica, contienen generalmente datos. A veces se les llama "de propósito general", y la verdad es que es un nombre más apropiado, si bien un poco más largo. Aunque tiene distinto nombre cada uno de ellos, cuentan básicamente con la misma funcionalidad, con algunas excepciones. Determinadas operaciones -por ejemplo la multiplicación- exigen que los operandos estén en registros específicos.
- AX es a menudo llamado acumulador.
- BX se puede usar como registro base en algunos modos de direccionamiento, es decir, para apuntar a posiciones de memoria con él.
- CX es usado por algunas instrucciones como contador (en ciclos, rotaciones..)
- DX o registro de datos; a veces se usa junto con AX en esas instrucciones especiales mencionadas.
Cada registro de estos está dividido a su vez en dos registros de 8 bits, que pueden ser leídos o escrito de manera independiente:
- AX = AH | AL BX = BH | BL
- CX = CH | CL DX = DH | DL
Si AX contiene 00FFh, AH=00h (su parte alta) y AL=FFh (su parte baja); si lo incrementamos en 1, AX pasa a valer 0100h (lógicamente), y con ello AH=01h, AL=00h. Si en lugar de incrementar en 1 AX lo hacemos con AL (byte inferior), AH se quedará como estaba y AL será FFh+01h=00h, es decir, AX=0000h, H viene de high y L de low.
Comentarios
Publicar un comentario