Red de conocimiento informático - Conocimiento informático - Registro: Quiero saber más sobre los registros, que se utilizan en la programación ensambladora.

Registro: Quiero saber más sobre los registros, que se utilizan en la programación ensambladora.

El Registro (Register) es un componente interno de la CPU, por lo que la transferencia de datos entre registros es muy rápida. Finalidad: 1. Puede realizar operaciones aritméticas y lógicas sobre los datos del registro. 2. La dirección almacenada en el registro se puede utilizar para señalar una determinada ubicación en la memoria, es decir, direccionar. 3. Dispositivos periféricos que se pueden utilizar para leer y escribir datos en la computadora. 8086 tiene ocho registros de datos de 8 bits. Estos registros de 8 bits se pueden formar en registros de 16 bits: AHamp; AL=AX: registro de acumulación, utilizado a menudo para operaciones; indexación de direcciones; CHamp; CL=CX: registro de conteo, usado a menudo para contar; DL=DX: registro de datos, usado a menudo para transferencia de datos; Para utilizar todo el espacio de memoria, 8086 establece cuatro registros de segmento, que se utilizan especialmente para guardar direcciones de segmento: CS (Segmento de código): registro de segmento de código; DS (Segmento de datos): registro de segmento de datos SS (Segmento de pila): registro de segmento de pila; ES (segmento adicional): registro de segmento adicional. Cuando se va a ejecutar un programa, es necesario determinar qué ubicaciones de memoria utilizarán el código, los datos y la pila del programa, y ​​configurar los registros de segmento CS, DS y SS para que apunten a estas ubicaciones iniciales. Por lo general, el DS se repara y el CS se modifica según sea necesario. Por lo tanto, el programa se puede escribir en cualquier tamaño mientras el espacio direccionable sea inferior a 64 K. Por lo tanto, el tamaño combinado del programa y sus datos está limitado a 64 K como lo indica DS. Es por eso que los archivos COM no deben tener más de 64 K. 8086 utiliza la memoria como campo de batalla y se registra como base militar para acelerar el trabajo. Además de los registros mencionados anteriormente, también existen algunos registros con funciones especiales: IP (Puntero de instrucción): registro de puntero de instrucción, utilizado junto con CS, que puede rastrear el proceso de ejecución del programa SP (Puntero de pila): Pila; puntero, utilizado junto con SS Se utiliza para señalar la ubicación actual de la pila. BP (Puntero base): Registro de puntero base, que se puede utilizar como una posición de dirección base relativa de SS (Índice de origen): El registro de índice de origen se puede utilizar para almacenar el puntero de índice de origen en relación con el segmento DS; Índice): registro de índice de destino, que se puede utilizar para almacenar el puntero de índice de destino relativo al segmento ES. También hay un registro de bandera FR (Registro de bandera), que tiene nueve banderas significativas (

OF: el bit de bandera de desbordamiento OF se utiliza para reflejar si los resultados de las operaciones de suma y resta con signo se desbordan. Si la operación el resultado excede El rango que puede ser representado por el número actual de operandos se llama desbordamiento y el valor de OF se establece en 1. De lo contrario, el valor de OF se borra a 0.

DF: La dirección El bit DF del indicador se utiliza para determinar la dirección en la que se ajusta el registro del puntero cuando se ejecuta la instrucción de operación de cadena.

IF: El bit IF del indicador de habilitación de interrupción se utiliza para determinar si la CPU responde. a una solicitud de interrupción emitida por una interrupción enmascarable fuera de la CPU, independientemente del valor de este indicador, la CPU debe responder a las solicitudes de interrupción emitidas por interrupciones no enmascarables fuera de la CPU, así como a las solicitudes de interrupción generadas dentro de la CPU. Las disposiciones específicas son las siguientes:

(1) Cuando IF = 1, la CPU puede responder a las solicitudes de interrupción emitidas por interrupciones enmascarables externas

(2) Cuando IF =. 0, la CPU no responde a las solicitudes de interrupción emitidas por interrupciones enmascarables externas a la CPU.

TF: los bits de indicador de control de estado se utilizan para controlar las operaciones de la CPU. Se pueden cambiar mediante instrucciones especiales.

SF: El indicador de signo SF se utiliza para reflejar el bit de signo del resultado de la operación. Está relacionado con el bit más alto del resultado de la operación. En los sistemas de microcomputadoras, los números con signo usan representación en complemento. entonces SF también refleja el signo del resultado de la operación. Cuando el resultado de la operación es un número positivo, el valor de SF es 0; de lo contrario, es 1.

ZF: El indicador cero ZF se utiliza para reflejar si el resultado de la operación es 0. Si el resultado de la operación es 0, su valor es 1, en caso contrario su valor es 0. Este indicador se puede utilizar al juzgar si el resultado de la operación es 0.

AF: En las siguientes circunstancias, el valor del indicador de acarreo auxiliar AF se establece en 1; de lo contrario, su valor es 0:

(1) Durante la operación de palabra, el byte bajo ocurre cuando se transporta o se toma prestado del byte superior;

(2) Durante la operación de byte, cuando los 4 bits inferiores se transportan o se toman prestados de los 4 bits inferiores a los 4 bits superiores.

PF: el indicador de paridad PF se utiliza para reflejar la paridad del número de "1" en el resultado de la operación. Si el número de "1" es un número par, el valor de PF es 1; de lo contrario, su valor es 0.

CF: El indicador de acarreo CF se utiliza principalmente para reflejar si la operación produce un acarreo o un préstamo. Si el bit más alto del resultado de la operación produce un acarreo o un préstamo, entonces su valor es 1; de lo contrario, su valor es 0.

)

Lo anterior es la descripción general de 8086 registros. Desde 80386, la PC ha entrado

era de 32 bits y su modo de direccionamiento, tamaño de registro, funciones, etc. han cambiado. Si quieres aprender, consulta los materiales correspondientes para este conocimiento.

Eso es todo lo que he escrito sobre registros. Aprender ensamblador es lo mismo que aprender otros idiomas.

Necesitas pensar. más, practique más y lea más Habrá mejoras.

Los siguientes son algunos libros y sitios web compilados que serán útiles para su estudio.

Sitio web:

.codeof.com/articles/ programming/masm/

Contiene materiales de aprendizaje en ensamblador.

Libros:

1. Programación (2º)

2. lt;lt;PC IBM 80x86 y Computadoras Compatibles (Volumen I y II) - Lenguaje ensamblador, diseño y tecnología de interfazgt;gt;; para empezar;

Chino Hay relativamente pocos libros de montaje buenos. Si eres bueno en inglés, puedes leer los siguientes (¡¡¡todos clásicos!!!):

01. ; lt; Dominar Turbo Assemblergt ;gt;

02. lt;lt;Uso del lenguaje ensambladorgt;

04. ;gt;

05. lt;lt;Lenguaje ensamblador de Square Onegt;

06.

07. lt ;lt;Programación de sistemas y lenguaje ensamblador para IBM PC y compatiblesgt;gt;

08. 09. lt;lt ;El Zen del ensamblajegt;gt;

10. lt;lt;Microcomputadoras IBM: un manual del programadorgt;gt;

11. Solucionador para IBM PC, ;gt;, 2ª Ed

14 lt;lt;80486 Programacióngt;gt;

15.

16. lt;lt;Guía del programador para sistemas de vídeo PC y PS/2gt;gt;

17. p>18.

lt;Guía de programadores avanzados para EGA/VGAgt;gt;

19. lt;lt;Guía de programadores avanzados para EGA/VGAgt;gt; DOSgt indocumentado; /p>

23. lt;lt;Manual de referencia del programador del microprocesadorgt;gt;

24. 25. lt ;lt;BIOS del sistema para PC IBM, compatibles y computadoras EISAgt;gt;, 2.ª edición

26.

27. lt;lt;Dominar las comunicaciones en seriegt;gt;

28. lt;lt;Referencia del programador de DOSgt;gt;, 2ª edición. lt; lt;Referencia del programador de MS-DOSgt;gt;

Finalmente, te deseo un feliz estudio

.