Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Básicamente buscas un código de interrupción de teclado en lenguaje ensamblador?

¿Básicamente buscas un código de interrupción de teclado en lenguaje ensamblador?

Presione la tecla L para mostrar una L roja, presione la tecla ESC para salir

============================ =======, aquí está el código del programa

Supongamos cs: código

Segmento de código

en al, 60H

mov cs: switch, al

;------- Guarde el código de escaneo enviado por el controlador del teclado en la variable switch

mov al, 20H

out 20H, al

;-------Los dos elementos anteriores permiten que el controlador de interrupciones realice las interrupciones correspondientes nuevamente

iret

temp1 dw ?

temp2 dw ?

¿cambiar db ?

iniciar: mov ax, 0

mov ds, ax

mov bx, 9 *4 2

mov ax, [bx]

mov cs: temp1, ax

mov ax, código

mov [bx ], ax

mov bx, 9*4

mov ax, [bx]

mov cs: temp2, ax

mov word ptr [bx], 0

------- Guarde y configure la nueva entrada de interrupción INT 9

mov ax, 0B800H

mov ds, ax

------- Mostrar dirección del segmento de memoria

mov bx, 0

; ------ Escribe la dirección de compensación actual en la memoria

s: mov al, cs: switch

cmp al, 01H

jz exit

; - -- ---- Determine si es ESC, si es así, salga

cmp al, 26H

jnz s

; ------- Determine si se presiona la tecla 'L'; de lo contrario, continúe con el bucle

p: mov byte ptr [bx], 76

inc bx

mov byte ptr [bx], 00001100B

inc bx

mov cs: switch, 0

jmp s

; ------ - Si es "L", opere la memoria de video correspondiente y muestre una "L" roja

salida: mov ax, 0

mov ds , hacha

mov bx, 9*4 2

mov ax, cs: temp1

mov [bx], hacha

mov bx, 9*4

mov ax, cs: temp2

mov [bx], ax

----- ---- Restaurar el entrada de interrupción INT 9 original

mov ax, 4C00H

int 21H

Fin del código

inicio final