⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iofunc.asm

📁 访问32位PCI总线IO的例程
💻 ASM
字号:
;
; 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);
;
;       入力    AX	I/O Address
;       出力    BX:AX	return AX value of I/O
;       破壊    None
;**************************
IoReadLong_ PROC C NEAR PUBLIC USES EDX

	MOV	DX,AX
	IN	EAX,DX
	PUSH	EAX
	POP	AX
	POP	BX
	RET

IoReadLong_ ENDP

;**************************
; 32bit I/O Write
;
;void _IoWriteLong(unsigned int , unsigned long);
;
;       入力    AX	I/O Address
;               DX:CX	Write Data
;       出力    None
;       破壊    None
;**************************
IoWriteLong_ PROC C NEAR PUBLIC USES EAX DX

	PUSH	DX
	PUSH	CX
	MOV	DX, AX
	POP	EAX
	OUT	DX,EAX
	RET

IoWriteLong_ ENDP

TEXT ENDS
     END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -