Red de conocimiento informático - Conocimiento sistemático - Problema en lenguaje ensamblador (abajo): ¿Cuáles son las funciones de las tres oraciones IN AL y 21H en la segunda página?

Problema en lenguaje ensamblador (abajo): ¿Cuáles son las funciones de las tres oraciones IN AL y 21H en la segunda página?

IN AL, 21H; Leer un byte del puerto 21H a AL

AND AL, 7FH; El valor lógico de AL es 1, 7FH = 0111 1111B

OUT 21H, AL; Puerto de escritura 21H

El puerto de E/S 21H es el puerto de datos del PIC (controlador de interrupción programable) 8259.

El puerto de E/S 21H es el puerto de datos del controlador de interrupción programable principal 8259 PIC (Controlador de interrupción programable), y el resultado de la instrucción anterior se escribe en su puerto de datos.

Durante la fase de no inicialización, el PIC 8259 escribirá interrupciones que deben enmascararse en su puerto de datos; en muchas rutinas de interrupción del kernel, el propósito de esto es evitar que otras interrupciones intervengan y causen daños al hardware. conflictos de operación; en Lo mismo debería ser cierto para lo que aparece en el código relevante. (Durante la fase de inicialización, este puerto de datos se utiliza como parámetro de inicialización de entrada.

El siguiente es el significado de cada bit cuando el puerto de datos 8259 PIC 21H no está inicializado (en realidad, su registro de máscara de interrupción). indicando estos bits Cómo enmascarar interrupciones cuando 0:

Bit 7 = 0 habilita interrupciones de impresora paralela

Bit 6 = 0 habilita interrupciones de disquete

Bit 5 = 0 habilita interrupciones de discos fijos

Bit 4 = 0 habilita interrupciones del puerto serie 1

Bit 3 = 0 habilita interrupciones del puerto serie 2

Bit 2 = 0 habilita video interrupciones

Bit 1 = 0 habilita teclado, mouse, RTC

Bit 1 = 0 habilita teclado,

Bit 1 = 0 habilita teclado, mouse, RTC

Bit 1 = 0 habilita teclado, mouse, RTC

Bit 1 = 0 habilita teclado, mouse, RTC 0 habilita teclado, mouse, interrupciones RTC

Bit 0 = 0 Habilitar interrupciones del temporizador

Las tres líneas de instrucción en la pregunta dejarán el BIT 0-6 sin cambios y luego establecerán el BIT 7 en 0 para que el PIC 8259 pueda usar el BIT 0-6 como antes. se establecerá en 0 y el PIC 8259 bloqueará la interrupción de la impresora.

Si tiene alguna pregunta, pregunte

El PIC 8259 bloqueará la interrupción de la impresora.