First commit
This commit is contained in:
commit
7d6d50e432
50 changed files with 5737 additions and 0 deletions
171
INTERRPT.ASM
Normal file
171
INTERRPT.ASM
Normal file
|
@ -0,0 +1,171 @@
|
|||
;INT 20h --> Process management
|
||||
|
||||
InstallInterrupt:
|
||||
push ax
|
||||
push es
|
||||
xor ax,ax
|
||||
mov es,ax
|
||||
|
||||
;Installing Interrupt 20h
|
||||
mov ax,offset Int20h
|
||||
mov word ptr es:[20h*4],ax
|
||||
mov ax,cs
|
||||
mov word ptr es:[(20h*4)+2],ax
|
||||
|
||||
;Installing Interrupt 21h
|
||||
mov ax,offset Int21h
|
||||
mov word ptr es:[21h*4],ax
|
||||
mov ax,cs
|
||||
mov word ptr es:[(21h*4)+2],ax
|
||||
|
||||
;Installing Interrupt 22h
|
||||
mov ax,offset Int22h
|
||||
mov word ptr es:[22h*4],ax
|
||||
mov ax,cs
|
||||
mov word ptr es:[(22h*4+2)],ax
|
||||
|
||||
;Installing Interrupt 23h
|
||||
mov ax,offset Int23h
|
||||
mov word ptr es:[23h*4],ax
|
||||
mov ax,cs
|
||||
mov word ptr es:[(23h*4+2)],ax
|
||||
|
||||
pop es
|
||||
pop ax
|
||||
|
||||
ret
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
|
||||
Int20h:
|
||||
cmp ah,00h
|
||||
je Int20h_00h
|
||||
cmp ah,01h
|
||||
je Int20h_01h
|
||||
cmp ah,02h
|
||||
je Int20h_02h
|
||||
cmp ah,03h
|
||||
je Int20h_03h
|
||||
cmp ah,04h
|
||||
je Int20h_04h
|
||||
cmp ah,05h
|
||||
je Int20h_05h
|
||||
cmp ah,06h
|
||||
je Int20h_06h
|
||||
cmp ah,07h
|
||||
je Int20h_07h
|
||||
cmp ah,08h
|
||||
je Int20h_08h
|
||||
|
||||
iret
|
||||
|
||||
Int20h_00h:
|
||||
call LoadProgram
|
||||
retf 2
|
||||
Int20h_01h:
|
||||
call RunProcess
|
||||
iret
|
||||
int20h_02h:
|
||||
call KillProcess
|
||||
iret
|
||||
int20h_03h:
|
||||
call GetProcessInfo
|
||||
iret
|
||||
int20h_04h:
|
||||
call SetVisibleProcess
|
||||
iret
|
||||
int20h_05h:
|
||||
call GoToNextProcess
|
||||
iret
|
||||
int20h_06h:
|
||||
call GetNextProcess
|
||||
iret
|
||||
Int20h_07h:
|
||||
call LoadComProgram
|
||||
iret
|
||||
Int20h_08h:
|
||||
call ExeLoader
|
||||
iret
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
|
||||
Int21h:
|
||||
cmp ah,00h
|
||||
je Int21h_00h
|
||||
cmp ah,01h
|
||||
je Int21h_01h
|
||||
cmp ah,02h
|
||||
je Int21h_02h
|
||||
iret
|
||||
|
||||
Int21h_00h:
|
||||
call EndSystem
|
||||
iret
|
||||
Int21h_01h:
|
||||
call GetError
|
||||
iret
|
||||
Int21h_02h:
|
||||
call SetError
|
||||
iret
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
|
||||
Int22h:
|
||||
cmp ah,00h
|
||||
je Int22h_00h
|
||||
cmp ah,01h
|
||||
je Int22h_01h
|
||||
cmp ah,02h
|
||||
je Int22h_02h
|
||||
cmp ah,03h
|
||||
je Int22h_03h
|
||||
cmp ah,04h
|
||||
je Int22h_04h
|
||||
cmp ah,05h
|
||||
je Int22h_05h
|
||||
|
||||
iret
|
||||
|
||||
Int22h_00h:
|
||||
call Fat12_OpenFile
|
||||
sti
|
||||
retf 2
|
||||
Int22h_01h:
|
||||
call Fat12_ReadFile
|
||||
iret
|
||||
Int22h_02h:
|
||||
call Fat12_CloseFile
|
||||
iret
|
||||
Int22h_03h:
|
||||
call Fat12_ChDir
|
||||
sti
|
||||
retf 2
|
||||
Int22h_04h:
|
||||
call Fat12_GetFileSize
|
||||
iret
|
||||
Int22h_05h:
|
||||
call Fat12_GetCurrentDirName
|
||||
iret
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
|
||||
Int23h:
|
||||
cmp ah,00h
|
||||
je Int23h_00h
|
||||
cmp ah,01h
|
||||
je Int23h_01h
|
||||
cmp ah,02h
|
||||
je Int23h_02h
|
||||
iret
|
||||
|
||||
Int23h_00h:
|
||||
call MemAlloc
|
||||
iret
|
||||
Int23h_01h:
|
||||
call MemFree
|
||||
iret
|
||||
Int23h_02h:
|
||||
call GetFreeMem
|
||||
iret
|
||||
|
||||
;------------------------------------------------------------------------------
|
Loading…
Add table
Add a link
Reference in a new issue