cos2000v1/8253.asm

54 lines
701 B
NASM
Executable File

.model tiny
.486
smart
.code
org 0100h
start:
jmp tsr
db '8253'
Tsr:
cli
cmp ax,1234h
jne nomore
mov ax,4321h
jmp itsok
nomore:
push bx
mov bl,ah
xor bh,bh
shl bx,1
mov bx,cs:[bx].tables
mov cs:current,bx
pop bx
call cs:current
itsok:
jnc noerror
push bp
mov bp,sp
or byte ptr [bp+6],1b
pop bp
mov ax,cs
shl eax,16
mov ax,cs:current
jmp endofint
noerror:
push bp
mov bp,sp
and byte ptr [bp+6],0FEh
pop bp
endofint:
sti
iret
current dw 0
tables dw enableirq
dw disableirq
dw readmaskirq
dw readirr
dw readisr
dw installhandler
dw replacehandler
dw getint
dw setint
dw seteoi