📄 iofunc.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 + -