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

📄 iospace.inc

📁 super io 监控程序
💻 INC
字号:
;-----------------------------
GetIOSpaceInfo:
	pusha
;;; KenWang [041602] >>>>>>
        lea     di,SubFuncSelect
	mov	al,ds:[di]
	cmp	al,70h
        jnz     ReGetIOSpaceInfo
	mov	al,0ffh
	mov     ds:[di],al
	call	DisplayFixedIOSpace
        jmp     short ReGetIOSpaceInfoDisp
;;; KenWang [041602] <<<<<<
ReGetIOSpaceInfo:
	lea	si,SearchFlag
	mov	al,ds:[si]
	cmp	al,KeyF3
        jz      GetIOSpaceInfoFuncRetF3
 	call	EnterIOSpaceAddress
        jc      GetIOSpaceInfoFuncRet
ReGetIOSpaceInfoDisp:
	call	DisplaySelectedFunctionData
	cmp	ah,KeyF7  
        jnz     ReGetIOSpaceInfoDispF7
        call    F7ChangeAccessMethod
        jmp     short ReGetIOSpaceInfoDisp
ReGetIOSpaceInfoDispF7:
	cmp	ah,KeyPgUp
        jz      ReGetIOSpaceInfoDisp
	cmp	ah,KeyPgDn
        jz      ReGetIOSpaceInfoDisp
	cmp	ah,KeyF10  
        jz      ReGetIOSpaceInfo
	cmp	ah,KeyF8   
        jz      ReGetIOSpaceInfoDisp
	cmp	ah,KeyF3   
        jz      ReGetIOSpaceInfoDisp
;;	jmp	ReGetIOSpaceInfoDisp
GetIOSpaceInfoFuncRet:
	popa
	ret
;----------------------
GetIOSpaceInfoFuncRetF3:
	call	DisplayFixedIOSPort
        jmp     short ReGetIOSpaceInfoDisp
;----------------------
DisplayFixedIOSPort:
        mov     dx,IOSpaceAddressPosn-3
	call	SetCursor
        lea     si,IOSpaceAddressBuffer
	mov	ax,ds:[si]
	xchg	ah,al
	call	DisplayHex
	xchg	ah,al
	call	DisplayHex
	ret
;----------------------
EnterIOSpaceAddress:
;;Empty IOSpace address
	mov	dx,IOSpaceAddressPosn  
	mov	cx,4
	call	EmptyAddress
;;
        mov     dx,IOSpaceAddressPosn
	mov	cx,5
        call    EnterPortAddress
        jc      EnterIOSpaceAddressFail
	mov	dx,IOSpaceAddressPosn  
        call    CalaFixedCursorposn	;Ouput=AX
	mov	cx,4
        call    GetPortAddressFromScreen
        lea     si,IOSpaceAddressBuffer
	mov	word ptr ds:[si],ax
	clc
	ret
EnterIOSpaceAddressFail:
	cmp	ah,KeyF10  
        jz      IOSpaceF10  
	cmp	ah,KeyF7  		; F7
        jz      EnterIOSpaceAddressF7
	cmp	ah,KeyPgUp
        jz      EnterIOSpaceAddress
	cmp	ah,KeyPgDn
        jz      EnterIOSpaceAddress
        lea     di,SubFuncSelect
	stc
	ret
IOSpaceF10:
        lea     di,SubFuncSelect
	mov	al,0ffh
	mov	ds:[di],al
	stc
	ret
EnterIOSpaceAddressF7:
        call    F7ChangeAccessMethod
        jmp     EnterIOSpaceAddress
;----------------------
; Input : BL=reg
; OutPut : al/ax/eax
IOSpaceRead:
	push	bx
        lea     si,IOSpaceAddressBuffer
	mov	dx,ds:[si]
	add	dx,bx
        lea     si,AccessMethod
	mov  	al,ds:[si]
	cmp	al,2
	jz 	ReadIOSDword
	cmp	al,1
	jz	ReadIOSword
        in      al,dx             
        jmp     short IOSpaceReadExit
ReadIOSword:
        in      ax,dx             
        jmp     short IOSpaceReadExit
ReadIOSDword:
        in      eax,dx            
IOSpaceReadExit:
	pop	bx
	ret
;-------------------------------
;Input : BL/BX/EBX=DATA
;	 CH=REG
IOSpaceWrite:
	push	bx
	push	cx
        lea     si,IOSpaceAddressBuffer
	mov     dx,ds:[si]
	add	dl,ch
	mov	eax,ebx
        lea     si,AccessMethod
	mov  	bl,ds:[si]
	cmp	bl,2
	jae	WriteIOSDword
	cmp	bl,1
	jz	WriteIOSword
        out     dx,al             
        jmp     short IOSpaceWriteExit
WriteIOSword:
        out     dx,ax             
        jmp     short IOSpaceWriteExit
WriteIOSDword:
        out     dx,eax            
IOSpaceWriteExit:
	pop	cx
	pop	bx
	ret
;-------------------------------
GetIOSAddressFromScreen:
	mov	dx,IOSpaceAddressPosn  
        call    CalaFixedCursorposn	;Ouput=AX
	mov	cx,4
        call    GetPortAddressFromScreen
        lea     si,IOSpaceAddressBuffer
	mov	word ptr ds:[si],ax
	ret
;-------------------------------
DisplayFixedIOSpace:
        mov     dx,IOSpaceAddressPosn-03h
	call	SetCursor
        lea     si,IOSpaceAddressBuffer
	mov	ax,ds:[si]
	xchg	ah,al
	call	DisplayHex
	xchg	ah,al
	call	DisplayHex
	ret
;-------------------------------
DisplayIOSpaceaInformation:
	ret

⌨️ 快捷键说明

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