home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Phoenix Heaven Sunny 2
/
APPARE2.BIN
/
oh_towns
/
his
/
source
/
hisl3.asm
< prev
next >
Wrap
Assembly Source File
|
1995-06-20
|
2KB
|
73 lines
;*****************************************************************
;* *
;* 割り込み処理ライブラリ下請けプロシジャ *
;* *
;* ~ IMR書き込み ~ *
;* *
;* 1995 / 6 / 12 ちょもらんま *
;* *
;*****************************************************************
.386
;************** 割り込みハードウェア関係の定数 *************
OCW1_M equ 0002h
OCW1_S equ 0012h
OCW2_M equ 0000h
OCW2_S equ 0010h
OCW3_M equ 0000h
OCW3_S equ 0010h
ISR_M equ 0000h
ISR_S equ 0010h
IRR_M equ 0000h
IRR_S equ 0010h
IMR_M equ 0002h
IMR_S equ 0012h
ReadIRR equ 00001010b
ReadISR equ 00001011b
EOIcommand equ 00100000b
WaitRegister equ 006ch
;------------ PICアクセス待ちウェイト -------------
PicWait macro
out WaitRegister,al ; 1μ秒ウェイト
cmc
cmc
endm
assume cs:code
code segment public use32 'CODE'
;**************** 割り込みマスクレジスタの書き込み ***************
; void HIS_writeIMR( int value );
public HIS_writeIMR
HIS_writeIMR proc
#newIMR equ [ ebp + dword * 2 ]
enter 0,0
pushfd
push eax
mov eax,#newIMR
cli
PicWait
xchg al,ah
out OCW1_S,al ; スレーブ側書き込み
PicWait
xchg al,ah
out OCW1_M,al ; マスタ側書き込み
pop eax
popfd
leave
ret
HIS_writeIMR endp
code ends
end