¿Qué bits del registro de control o del registro de estado afectan directamente a qué pines del 8251a?
Debido a que la velocidad de acceso a los registros es más rápida que la de la memoria, al escribir programas en lenguaje ensamblador, la capacidad de almacenamiento de los registros se puede utilizar al máximo.
Los registros se utilizan generalmente para almacenar resultados intermedios de un programa con el fin de proporcionar rápidamente operandos para instrucciones posteriores, evitando así la necesidad de almacenar los resultados intermedios en la memoria y luego leer la operación de la memoria. En lenguajes de alto nivel (como los lenguajes C/C++), esta es una solución factible para mejorar la utilización de registros y también define variables.
Además, dado que el número y la capacidad de los registros son limitados, no todos los resultados intermedios se almacenan en registros, por lo que se debe registrar una programación adecuada. De acuerdo con los requisitos de las instrucciones, cómo organizar los registros correspondientes, pero tenga cuidado de evitar una operación de transferencia muy buena.
La "Estrategia de asignación de registros" relevante se describirá en los "Principios de compilación" detallados.
Configuración de registros de 1 y 16 bits
La CPU de 16 bits contiene registros (ver Figura 2.16, registro 65438):
4 registros de datos (AX, BX , CX y DX)
2 registros de direccionamiento de variables y puntero (si y DI) 2 registros de puntero (SP y BP)
4 registros de segmento (ES, CS, SS y DS)
1 registro de puntero de instrucción (IP) 1 registro de bandera (flag)
2 registros de 32 bits
La CPU número 32 incluye todos los registros de la CPU y Los registros generales, los registros de puntero de instrucción y de bandera se han ampliado de 16 a 32, y se han agregado dos registros de segmento de 16 bits: FS y GS. Contiene
El registro número 32 de la CPU (consulte el registro de la Figura 2.1):
4 registros de datos (EAX, EBX, ECX y EDX)
2 bits de mutación y puntero registros (ESI y EDI) 2 registros de puntero (ESP y EBP)
6 registros de segmento (ES, CS, SS, DS, FS y GS)
1 registro de puntero de instrucción (EIP ) 1 registro de bandera (EFLAGS), por lo que no se llama memoria.