Problema en lenguaje ensamblador (abajo): ¿Cuáles son las funciones de las tres oraciones IN AL y 21H en la segunda página?
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.