Professional Documents
Culture Documents
Shayan
Shayan
[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