Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

1) Complete code in assembly language

[org 0x0100]
jmp start
oldisr: dd 0
kbisr:

push ax
push es
mov ax, 0xb800
mov es, ax
in al, 0x60
cmp al, 0x31
jne shayan1
mov byte [es:4],'S'
mov byte [es:6],'H'
mov byte [es:8],'A'
mov byte [es:10],'Y'
mov byte [es:12],'A'
mov byte [es:14],'N'

jmp shayan2

shayan1:
cmp al, 0xB1
jne shayan2
mov byte [es:4],''
mov byte [es:6],''
mov byte [es:8],''
mov byte [es:10],''
mov byte [es:12],''
mov byte [es:14],''

shayan2:
pop es
pop ax
jmp far [cs:oldisr]

start:
xor ax, ax
mov es, ax
mov ax, [es:9*4]
mov [oldisr], ax
mov ax, [es:9*4+2]
mov [oldisr+2], ax
cli
mov word [es:9*4], kbisr
mov [es:9*4+2],cs
sti

exit:
mov ah, 0
int 0x16

mov ax, 0x4c00


int 0x21

2) Screenshot of compilation step.


3) Output screenshot when N key is pressed

4) Output screenshot when N key is released

You might also like