iofunc2.asm
来自「访问32位PCI总线IO的例程」· 汇编 代码 · 共 58 行
ASM
58 行
;
; I/O functions for IBM-AT or compatible machine's
;
;use TASM.EXE V2.01 or later
;
; TASM /jSMART /jJUMPS /uM520 /jLOCALS /m8 /t
;
.386p
CGROUP GROUP TEXT,_TEXT
TEXT SEGMENT BYTE PUBLIC 'CODE' USE16
TEXT ENDS
_TEXT SEGMENT BYTE PUBLIC 'CODE' USE16
ASSUME CS:CGROUP,DS:NOTHING,ES:NOTHING
;**************************
; 32bit I/O Read
;
;unsigned long int _IoReadLong(unsigned int);
;
; 入力 [SP-2].W I/O Address
; 出力 DX:AX return AX value of I/O
; 破壊 None
;**************************
_IoReadLong PROC C NEAR PUBLIC,address:WORD
MOV DX,address
IN EAX,DX
PUSH EAX
POP AX
POP DX
RET
_IoReadLong ENDP
;**************************
; 32bit I/O Write
;
;void _IoWriteLong(unsigned int , unsigned long);
;
; 入力 [SP-2].W I/O Address
; [SP-6].D Write Data
; 出力 None
; 破壊 None
;**************************
_IoWriteLong PROC C NEAR PUBLIC USES EAX DX,address:WORD,outData:DWORD
MOV EAX, outData
MOV DX, address
OUT DX,EAX
RET
_IoWriteLong ENDP
_TEXT ENDS
END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?