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

📄 vwin32z.asm

📁 这是一本学习 window编程的很好的参考教材
💻 ASM
字号:
include local.inc

StartCDecl VWIN32_DIOCCompletionRoutine@4

		mov ebx, [esp+4]
		VxDCall VWIN32_DIOCCompletionRoutine
		ret 1*4

EndCDecl VWIN32_DIOCCompletionRoutine@4

StartCDecl VWIN32_EnterCrstR0@4

        mov edx, [esp+4]
        VxDCall VWIN32_EnterCrstR0
        jc crsterr
        mov eax, 1
        ret 1*4
crsterr:
        mov eax, 0
        ret 1*4

EndCDecl VWIN32_EnterCrstR0@4

StartCDecl VWIN32_LeaveCrstR0@4

        mov edx, [esp+4]
        VxDCall VWIN32_LeaveCrstR0
        mov eax, 0
        ret 1*4

EndCDecl VWIN32_LeaveCrstR0@4

StartCDecl VWIN32_GetCurrentDirectory@4

        push esi
        mov esi, [esp+8]
        VxDCall VWIN32_GetCurrentDirectory
        cmp eax, 0
        je gcdsuccess
        mov eax, 0
        jmp gcdret
gcdsuccess:
        mov eax, 1
        jmp gcdret
gcdret:
        pop esi
        ret 1*4

EndCDecl VWIN32_GetCurrentDirectory@4

StartCDecl VWIN32_SysErrorBox@4

        push ebx
        mov ebx, [esp+8]
        VxDCall VWIN32_SysErrorBox
        pop ebx
        ret 1*4

EndCDecl VWIN32_SysErrorBox@4

StartCDecl VWIN32_TerminateApp@4

        push edi
        mov edi, [esp+8]
        VxDCall VWIN32_TerminateApp
        pop edi
        ret 1*4

EndCDecl VWIN32_TerminateApp@4

StartCDecl _VWIN32_CloseVxDHandle@4

	mov eax, [esp+4]
	VxDCall _VWIN32_CloseVxDHandle
	ret 1*4

EndCDecl _VWIN32_CloseVxDHandle@4

MakeCDecl _VWIN32_CopyMem

StartCDecl _VWIN32_CreateRing0Thread@16

        push ecx
        push esi

        mov esi, [esp+24]
        mov ebx, [esp+20]
        mov edx, [esp+16]
		mov ecx, [esp+12]
		VxDCall _VWIN32_CreateRing0Thread
        push eax
        mov eax, [esp+28]
        mov [eax], edx
        pop eax

        pop esi
        pop ecx
		ret 4*4

EndCDecl _VWIN32_CreateRing0Thread@16

MakeCDecl _VWIN32_Get_Thread_Context

MakeCDecl _VWIN32_IsClientWin32

StartCDecl _VWIN32_PulseWin32Event@4

        mov eax, [esp+4]
        VxDCall _VWIN32_PulseWin32Event
        ret 1*4

EndCDecl _VWIN32_PulseWin32Event@4

MakeCDecl _VWIN32_QueueUserApc

StartCDecl _VWIN32_ResetWin32Event@4

        mov eax, [esp+4]
        VxDCall _VWIN32_ResetWin32Event
        ret 1*4

EndCDecl _VWIN32_ResetWin32Event@4

MakeCDecl _VWIN32_Set_Thread_Context

StartCDecl _VWIN32_SetWin32Event@4

		mov eax, [esp+4]
		VxDCall _VWIN32_SetWin32Event
		ret 1*4

EndCDecl _VWIN32_SetWin32Event@4

StartCDecl _VWIN32_WaitMultipleObjects@20

        push esi

        mov ecx, [esp+24]   ; return when APCs are queued
        mov eax, [esp+20]   ; wait flags
        shl eax, 8
        mov al, cl
        mov edx, [esp+16]   ; timeout
        mov esi, [esp+12]   ; pointer to handle array
        mov ecx, [esp+8]    ; num objects
        VxDCall _VWIN32_WaitMultipleObjects

        pop esi
        ret 5*4

EndCDecl _VWIN32_WaitMultipleObjects@20

StartCDecl _VWIN32_WaitSingleObject@4

        push ebx

        mov eax, [esp+16]   ; alertable flag
        mov edx, [esp+12]    ; timeout
        mov ebx, [esp+8]    ; object handle
        VxDCall _VWIN32_WaitSingleObject

        pop ebx
        ret 3*4

EndCDecl _VWIN32_WaitSingleObject@4

END

⌨️ 快捷键说明

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