亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? vxwin.asm

?? PNX系列設備驅動 PNX系列設備驅動
?? ASM
?? 第 1 頁 / 共 3 頁
字號:
	EnterProc
	VMMCall	_SelectorMapFlat < dwVMHandle, dwSelector, dwFlags >
	LeaveProc
	return
EndProc _winSelectorMapFlat

BeginProc _dbgOutput 
	push	ebp
	mov		ebp, esp

	pushfd
	pushad

	mov		esi, dword ptr [ebp+8]

	VMMCall	Out_Debug_String 

	popad
	popfd
	pop		ebp

	clc
	ret
EndProc	_dbgOutput

;------------------------------------------------------------------------------
; Routines for reading PCI configuration via bios.
; 
;------------------------------------------------------------------------------


;------------------------------------------------------------------------------
;
; Check for the presences of PCI BIOS Int 1Ah
;
; Returns: NC if BIOS is present.
;BOOL	pciCheckBIOS ( VOID );
;
;------------------------------------------------------------------------------
BeginProc	_pciCheckBIOS
Argvar	pbLastBus, DWORD
ArgVar	pbMajorVersion, DWORD
ArgVar	pbMinorVersion, DWORD
	EnterProc
	Mov	AH, 0B1h
	Mov	AL, 01h
	Push	Dword Ptr 1Ah
	VMMCall	Exec_VxD_Int

	cmp	EDX, 020494350h ; " ICP"
	jne	pciCheckBIOS_fail

	mov	eax,1

	mov		esi, pbLastBus
	mov		byte ptr [esi], cl

	mov		esi, pbMajorVersion
	mov		byte ptr [esi], bh

	mov		esi, pbMinorVersion
	mov		byte ptr [esi], bl

	jmp	pciCheckBIOS_exit

pciCheckBIOS_fail :
	xor		eax, eax

pciCheckBIOS_exit :
	LeaveProc
	return
EndProc		_pciCheckBIOS

;------------------------------------------------------------------------------
;
; pciFindDevice - Search PCI BIOS for a PCI Device 
;
;BOOL pciFindDevice ( WORD wDeviceID, WORD wVendorID, WORD wIndex, PBYTE pbBus, 
;		PBYTE pbDevFunc )
;------------------------------------------------------------------------------
BeginProc	_pciFindDevice
ArgVar	wDeviceID, WORD
ArgVar	wVendorID, WORD
ArgVar	wIndex, WORD
Argvar	pbBus, DWORD
ArgVar	pbDevFunc, DWORD
	EnterProc
	push	esi
	push	edx
	
	Mov		AH, 0b1h
	Mov 	AL, 02h
	mov		cx, wDeviceID
	mov		dx, wVendorID
	Mov		SI, wIndex
	Push	Dword Ptr 1Ah
	VMMCall	Exec_VxD_Int
	jc		pciFindDevice_fail

	mov		esi, pbBus
	mov		byte ptr [esi], bh

	mov		esi, pbDevFunc
	mov		byte ptr [esi], bl
	mov		eax, 1
	jmp		pciFindDevice_exit 


pciFindDevice_fail:
	xor	eax, eax

pciFindDevice_exit :
	pop		edx
	pop		esi
	LeaveProc
	return 
EndProc	_pciFindDevice


;------------------------------------------------------------------------------
;
; pciFindClass - Search PCI BIOS for a PCI Device by Class
;
;BOOL pciFindClass ( DWORD dwClass, WORD wIndex, PBYTE pbBus, 
;		PBYTE pbDevFunc )
;------------------------------------------------------------------------------
BeginProc	_pciFindClass
ArgVar	dwClass, DWORD
ArgVar	wIndex, WORD
Argvar	pbBus, DWORD
ArgVar	pbDevFunc, DWORD
	EnterProc
	push	esi
	push	edx
	
	Mov		AH, 0b1h
	Mov 	AL, 03h
	mov		ecx, dwClass
	Mov		SI, wIndex
	Push	Dword Ptr 1Ah
	VMMCall	Exec_VxD_Int
	jc		pciFindClass_fail

	mov		esi, pbBus
	mov		byte ptr [esi], bh

	mov		esi, pbDevFunc
	mov		byte ptr [esi], bl
	mov		eax, 1
	jmp		pciFindClass_exit 


pciFindClass_fail:
	xor	eax, eax

pciFindClass_exit :
	pop		edx
	pop		esi
	LeaveProc
	return 
EndProc	_pciFindClass


;------------------------------------------------------------------------------
;
; Read PCI Config
;
; In:	AL = Size to read (byte, word, dword)
;	BH = BUS
;	BL = Device	
;	CL = Function
;	DI = Configuration Register Address
;
; Out:	ECX = Value Read
;BOOL pciReadConfigDW ( BYTE bBus, BYTE bDevFunc, WORD wRegNum, 
;	PDWORD pdwValue)
;------------------------------------------------------------------------------
BeginProc	_pciReadConfigDW
ArgVar	bBus, BYTE
ArgVar	bDevFunc, BYTE
Argvar	wRegNum, WORD
ArgVar	pdwValue, DWORD
	EnterProc
	push	edi
	push	esi
	push	ecx

	mov		ah, 0b1h
	mov		al, 0ah
	mov		bh, bBus
	mov		bl, bDevFunc
	mov		di, wRegNum

	Push	Dword Ptr 1Ah
	VMMCall	Exec_VxD_Int
	jc		pciReadConfigDW_fail

	mov		esi, pdwValue
	mov		dword ptr [esi], ecx
	mov		eax, 1
	jmp		pciReadConfigDW_exit

pciReadConfigDW_fail :
	xor		eax, eax

pciReadConfigDW_exit :
	pop		ecx
	pop		esi
	pop		edi
	LeaveProc
	return
EndProc	_pciReadConfigDW


;------------------------------------------------------------------------------
;
; Write PCI Config
;
; In:	AL = Size to write (byte, word, dword)
;	BH = BUS
;	BL = Device	
;	CL = Function
;	EDX = Value to Write
;	DI = Configuration Register Address
;
; Out:	ECX = Value Read
;
;BOOL	pciWriteConfigDW ( BYTE bBus, BYTE bDevFunc, WORD wRegNum, 
;	DWORD dwValue)
;------------------------------------------------------------------------------
BeginProc	_pciWriteConfigDW
ArgVar	bBus, BYTE
ArgVar	bDevFunc, BYTE
Argvar	wRegNum, WORD
ArgVar	dwValue, DWORD
	EnterProc
	push	edi
	push	esi
	push	ecx

	mov		ah, 0b1h
	mov		al, 0dh
	mov		bh, bBus
	mov		bl, bDevFunc
	mov		di, wRegNum
	mov		ecx, dwValue

	Push	Dword Ptr 1Ah
	VMMCall	Exec_VxD_Int
	jc		pciWriteConfigDW_fail

	mov		eax, 1
	jmp		pciReadConfigDW_exit

pciWriteConfigDW_fail :
	xor		eax, eax

pciWriteConfigDW_exit :
	pop		ecx
	pop		esi
	pop		edi
	LeaveProc
	return
EndProc	_pciWriteConfigDW

;------------------------------------------------------------------------------
; FUNC	winCall_Priority_VM_Event
;
; BOOL winCall_Priority_VM_Event ( 
;	DWORD dwPriorityBoost,
;	DWORD dwVMHandle,
;	DWORD dwFlags,
;	PVOID pvCallbackContext,
;	VOID (*pFunc)(VOID), 
;	DWORD dwTimeOut,
;	PDWORD pdwEventHandle );
;------------------------------------------------------------------------------

BeginProc	_winCall_Priority_VM_Event
ArgVar	dwPriorityBoost,DWORD 
ArgVar	dwVMHandle,DWORD 
ArgVar	dwFlags,DWORD 
ArgVar	pvCallbackContext, DWORD 
ArgVar	pFunc, DWORD 
ArgVar	dwTimeOut, DWORD 
ArgVar	pdwEventHandle, DWORD

	EnterProc
	push	edi
	push	esi
	push	edx

	mov		eax, dwPriorityBoost
	mov		ebx, dwVMHandle
	mov		ecx, dwFlags
	mov		edx, pvCallbackContext
	mov		esi, pFunc
	mov		edi, dwTimeOut

	VMMCall	Call_Priority_VM_Event

	mov		eax, esi
	mov		esi, pdwEventHandle
	mov		[esi], eax

	pop		edx
	pop		esi
	pop		edi
	LeaveProc
	return
EndProc		_winCall_Priority_VM_Event

;------------------------------------------------------------------------------
; FUNC	winCancel_Priority_VM_Event
;
; BOOL winCancel_Priority_VM_Event ( DWORD dwEventHandle );
;------------------------------------------------------------------------------
BeginProc	_winCancel_Priority_VM_Event
ArgVar	dwEventHandle,DWORD 
	EnterProc
	push	esi
	mov	esi, dwEventHandle
	VMMCall	Cancel_Priority_VM_Event
	pop	esi
	LeaveProc
	return
EndProc		_winCancel_Priority_VM_Event

;------------------------------------------------------------------------------
; FUNC	winSchedule_Global_Event
;
; BOOL winSchedule_Global_Event ( VOID (*pFunc)(VOID),
;	PVOID pvCallbackContext, PDWORD pdwEventHandle );
;------------------------------------------------------------------------------

BeginProc	_winSchedule_Global_Event
ArgVar	dwCallbackAddress, DWORD
ArgVar	dwCallbackContext, DWORD
ArgVar	pdwHandle, DWORD

	EnterProc
	push	edi
	push	esi
	push	edx

	mov		esi, dwCallbackAddress
	mov		edx, dwCallbackContext

	VMMCall	Schedule_Global_Event
	mov		eax, esi
	mov		esi, pdwHandle
	mov		[esi], eax

	pop		edx
	pop		esi
	pop		edi
	LeaveProc

	return
EndProc		_winSchedule_Global_Event

;------------------------------------------------------------------------------
; FUNC	winSchedule_VM_Event
;
; BOOL winSchedule_VM_Event ( 
;	DWORD	VMHandle,
;	VOID (*pFunc)(VOID),
;	PVOID pvCallbackContext,
;	PDWORD pdwEventHandle );
;------------------------------------------------------------------------------

BeginProc	_winSchedule_VM_Event
ArgVar	dwVMHandle, DWORD
ArgVar	dwCallbackAddress, DWORD
ArgVar	dwCallbackContext, DWORD
ArgVar	pdwHandle, DWORD

	EnterProc
	push	edi
	push	esi
	push	edx
	push	ebx

	mov		ebx, dwVMHandle
	mov		esi, dwCallbackAddress
	mov		edx, dwCallbackContext

	VMMCall	Schedule_VM_Event
	mov		eax, esi
	mov		esi, pdwHandle
	mov		[esi], eax

	pop		ebx
	pop		edx
	pop		esi
	pop		edi
	LeaveProc

	return
EndProc		_winSchedule_VM_Event

BeginProc	_winVWIN32_DIOCCompletionRoutine
ArgVar	dwEvent, DWORD
	EnterProc

	mov		ebx, dwEvent
	VxDCall	VWIN32_DIOCCompletionRoutine

	LeaveProc
	return
EndProc _winVWIN32_DIOCCompletionRoutine

BeginProc	_winVWIN32_PulseWin32Event
ArgVar	dwEvent, DWORD
	EnterProc

	mov		eax, dwEvent
	VxDCall	_VWIN32_PulseWin32Event

	LeaveProc
	return
EndProc _winVWIN32_PulseWin32Event

BeginProc	_winVWIN32_SetWin32Event
ArgVar	dwEvent, DWORD
	EnterProc

	mov		eax, dwEvent
	VxDCall	_VWIN32_SetWin32Event

	LeaveProc
	return
EndProc _winVWIN32_SetWin32Event


BeginProc	_winVWIN32_CloseVxDHandle
ArgVar	dwHandle, DWORD
	EnterProc

	mov		eax, dwHandle
	VxDCall	_VWIN32_CloseVxDHandle

	LeaveProc
	return
EndProc _winVWIN32_CloseVxDHandle

BeginProc	_winVWIN32_GetCurrentProcessHandle
	EnterProc

	VxDCall	VWIN32_GetCurrentProcessHandle
	; eax returns the current process handle
	LeaveProc
	return
EndProc _winVWIN32_GetCurrentProcessHandle

;------------------------------------------------------------------------------
;DWORD winVWIN32_SysErrorBox ( PVOID pVSEB );
;------------------------------------------------------------------------------
BeginProc	_winVWIN32_SysErrorBox
ArgVar	pVSEB, DWORD
	EnterProc
	
	mov		ebx, pVSEB

	VxDCall	VWIN32_SysErrorBox
	; eax returns the current process handle
	LeaveProc
	return
EndProc _winVWIN32_SysErrorBox

;debugging code
;
;
BeginProc	_winIn_Debug_Chr
ArgVar	pbInput, DWORD
	EnterProc
	push	ebx

	VMMCall	In_Debug_Chr
	mov		ebx, pbInput
	mov		byte ptr [ebx], al

	pop	ebx
	LeaveProc
	return
EndProc	_winIn_Debug_Chr

;------------------------------------------------------------------------------
;VOID	winStallProcessorExecution ( DWORD TimeInMicroSeconds )
; 1 Count in edx:eax = .8 uS
; Number of Counts edx:eax = TimeInUSeconds * 10 / 8;
;------------------------------------------------------------------------------
BeginProc	_winStallProcessorExecution
ArgVar	TimeInMicroSeconds, DWORD

LocalVar	Count, DWORD
LocalVar	SavedHI, DWORD
LocalVar	SavedLO, DWORD

	EnterProc
	push	eax
	push	edx

	mov		eax, [TimeInMicroSeconds]
	mov		edx, 0ah
	mul		edx
	shr		eax, 3
	xor		ecx, ecx

	; ecx holds the count that we need to loop
	mov		Count, eax

	VxDcall VTD_Get_Real_Time

	mov		[SavedHI], edx
	mov		[SavedLO], eax


winStallProcessorExecutionLoop :
	
	VxDcall VTD_Get_Real_Time

	push	eax
	push	edx

	

	sub		eax, [SavedLO]

	; subtrace without borrow
	sub		edx, [SavedHI]

	add		ecx, eax

	pop		edx
	pop		eax

	mov		[SavedHI], edx
	mov		[SavedLO], eax

Trace_Out " [ VTD_Get_Real_Time : #EDX : #EAX  : #ECX ] "

	cmp		Count, ecx

	jnb		winStallProcessorExecutionLoop	


	pop	edx
	pop	eax

	LeaveProc
	return
EndProc	_winStallProcessorExecution

VXD_LOCKED_CODE_ENDS
	end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕高清一区| 欧美精品精品一区| 国产精品国产三级国产普通话蜜臀 | 蜜桃视频在线一区| 色诱视频网站一区| 亚洲视频一区在线观看| av高清不卡在线| 亚洲另类春色国产| 欧美美女一区二区| 另类专区欧美蜜桃臀第一页| 精品国产电影一区二区| 国产精品18久久久久久久久| 国产精品视频一二三| 日本久久电影网| 日韩高清电影一区| 国产午夜精品理论片a级大结局 | 国产一区二区久久| 亚洲国产高清不卡| 在线免费观看成人短视频| 亚洲成人www| 亚洲精品在线观看视频| 丁香天五香天堂综合| 亚洲另类一区二区| 日韩精品一区二区三区四区 | 欧美在线观看禁18| 久久精品国产精品亚洲精品| 国产欧美精品一区| 欧美日韩一区成人| 国产精品综合二区| 久久99精品国产.久久久久久 | 中文字幕第一区| 欧美三级韩国三级日本三斤| 激情伊人五月天久久综合| 国产精品国产三级国产有无不卡 | 日韩中文字幕亚洲一区二区va在线 | 一区二区三区在线观看视频| 欧美在线一区二区| 国产精品一区二区三区99| 国产欧美精品一区二区色综合朱莉 | 3d动漫精品啪啪| 国产一区二区中文字幕| 亚洲久草在线视频| 欧美一区二区久久| 91热门视频在线观看| 麻豆成人久久精品二区三区小说| 中文字幕一区三区| 日韩精品一区二区三区三区免费| 91色porny| 风流少妇一区二区| 美女网站在线免费欧美精品| 亚洲精品videosex极品| 国产午夜精品美女毛片视频| 欧美一区二区三区视频在线观看| 91麻豆自制传媒国产之光| 国产一区二区福利视频| 日韩电影免费一区| 一区二区三区成人| 国产精品高潮久久久久无| 久久久综合视频| 欧美一区二区精品久久911| 色综合天天视频在线观看| 丁香六月久久综合狠狠色| 国产综合一区二区| 国产中文一区二区三区| 蜜乳av一区二区三区| 亚洲国产精品久久久男人的天堂| 自拍偷拍国产亚洲| 中文字幕一区在线观看视频| 久久精品夜色噜噜亚洲aⅴ| 日韩精品综合一本久道在线视频| 欧美日韩在线一区二区| 91国偷自产一区二区开放时间 | 中文字幕av一区 二区| 一二三区精品福利视频| 国产午夜亚洲精品午夜鲁丝片| 欧美成人免费网站| 欧美tickling挠脚心丨vk| 日韩无一区二区| 日韩欧美高清一区| 欧美不卡在线视频| 欧美电影免费提供在线观看| 欧美一区三区二区| 日韩亚洲欧美高清| 久久蜜桃av一区二区天堂| 精品国产乱码久久久久久闺蜜 | 另类的小说在线视频另类成人小视频在线 | 欧美精品精品一区| 欧美日韩一区二区三区四区 | 色综合天天综合网天天狠天天| 波多野结衣91| 97久久超碰国产精品电影| 99精品视频一区二区三区| 在线日韩av片| 欧美一级专区免费大片| 久久午夜电影网| 国产精品久久免费看| 亚洲女同ⅹxx女同tv| 亚洲国产毛片aaaaa无费看| 午夜精品久久久久久| 久久99久久精品欧美| 丰满亚洲少妇av| 欧美性猛交一区二区三区精品| 欧美日韩dvd在线观看| 日韩免费性生活视频播放| 中文字幕乱码久久午夜不卡| 亚洲精品成人a在线观看| 青青青爽久久午夜综合久久午夜| 激情成人综合网| www.激情成人| 欧美日韩国产免费一区二区 | 欧美伊人久久久久久久久影院| 91麻豆精品91久久久久久清纯| 欧美成人性战久久| 国产精品麻豆网站| 丝袜a∨在线一区二区三区不卡 | 一区二区三区久久| 久久66热re国产| 99国产精品久久久| 91精选在线观看| 国产精品成人在线观看| 日韩专区中文字幕一区二区| 国产成人小视频| 欧美性生活大片视频| 久久九九99视频| 亚洲一区二区三区爽爽爽爽爽| 精品无人码麻豆乱码1区2区| 一本一道波多野结衣一区二区| 欧美成人a在线| 亚洲国产色一区| 国产成人在线网站| 91精品国产色综合久久久蜜香臀| 麻豆精品久久精品色综合| bt欧美亚洲午夜电影天堂| 日韩欧美一级特黄在线播放| 日韩一区日韩二区| 激情都市一区二区| 欧美精品一二三| 亚洲欧美日韩电影| 国产美女在线精品| 91麻豆精品国产91| 亚洲一区二区三区在线| 99天天综合性| 久久九九99视频| 麻豆国产精品视频| 欧美精选午夜久久久乱码6080| 国产精品麻豆久久久| 精品午夜久久福利影院| 在线不卡免费欧美| 亚洲已满18点击进入久久| 成人sese在线| 欧美高清在线一区二区| 久久激五月天综合精品| 欧美日韩一区二区在线观看| 亚洲欧美一区二区三区极速播放| 国产精品 欧美精品| 欧美成人精品福利| 青青草91视频| 欧美精品在线视频| 丝袜脚交一区二区| 3d动漫精品啪啪1区2区免费| 亚洲小说欧美激情另类| 91久久奴性调教| 亚洲天堂久久久久久久| 国产69精品一区二区亚洲孕妇 | 欧美精品一区二区三区蜜桃 | 日韩欧美不卡一区| 日本va欧美va欧美va精品| 69堂精品视频| 日韩av在线发布| 欧美一区二区三区不卡| 日韩高清电影一区| 日韩一区二区精品| 蜜桃久久久久久久| 精品国产亚洲在线| 国产米奇在线777精品观看| 久久久亚洲国产美女国产盗摄 | 成人精品免费看| 国产精品国产自产拍高清av | 亚洲日本欧美天堂| 日本高清不卡aⅴ免费网站| 亚洲美女精品一区| 欧美日韩一区精品| 婷婷久久综合九色综合伊人色| 这里只有精品99re| 久久99精品视频| 国产午夜精品理论片a级大结局| 国产一区二区伦理片| 中文字幕二三区不卡| 色哟哟亚洲精品| 日韩电影免费一区| 一区二区三区在线视频观看58| 在线观看成人免费视频| 青青青爽久久午夜综合久久午夜| 精品久久国产字幕高潮| 国产成人亚洲精品青草天美| 有码一区二区三区| 日韩亚洲欧美在线| 成人av动漫网站| 亚洲成人动漫av| 国产亚洲精品aa|