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

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

?? directdraw.asm

?? windows下匯編語言 學習匯編語言好助手
?? ASM
字號:
;******************************
;文件:DirectDraw.asm         *
;功能:演示如何使用DirectDraw *
;******************************
.386p
.model flat,stdcall
include win32.inc
extrn GetMessageA:proc
extrn TranslateMessage:proc
extrn DispatchMessageA:proc
extrn ShowWindow:proc
extrn UpdateWindow:proc
extrn CreateWindowExA:proc
extrn RegisterClassA:proc
extrn DefWindowProcA:proc
extrn MessageBoxA:proc
extrn ExitProcess:proc
extrn LoadIconA:proc
extrn LoadCursorA:proc
extrn GetStockObject:proc
extrn GetModuleHandleA:proc
extrn PostQuitMessage:proc
extrn GetSystemMetrics:proc
extrn DirectDrawCreate:proc
extrn SetBkColor:proc
extrn SetTextColor:proc
extrn TextOutA:proc
extrn SetTextAlign:proc
extrn MoveToEx:proc
extrn LineTo:proc
extrn Rectangle:proc

NULL  = 0
DD_OK = 0
DDSCL_FULLSCREEN     =    00000001H
DDSCL_EXCLUSIVE      =    00000010H
SM_CXSCREEN          =   0
SM_CYSCREEN          =   1
VK_ESCAPE        = 1BH
DDSD_CAPS               = 00000001H
DDSCAPS_PRIMARYSURFACE  = 00000200H

POINT struc
	x dd ?
	y dd ?
	ends
MSG struc
    hwnd 	dd ?
    message	dd ?
    wParam	dd ?
    lParam	dd ?
    time	dd ?
    pt		POINT<>
    ends

WNDCLASS struc
	style		dd ?
	lpfnWndProc	dd ?
	cbClsExtra	dd ?
	cbWndExtra	dd ?
	hInstance	dd ?
	hIcon		dd ?
	hCursor		dd ?
	hbrBackground	dd ?
	lpszMenuName	dd ?
	lpszClassName	dd ?
	ends

IDirectDrawVtbl	STRUC
	; IUnknown methods
	QueryInterface	dd ?
	AddRef	dd ?
	Release	dd ?
	; IDirectDraw methods
	DD_Compact	dd ?
	DD_CreateClipper	dd ?
	DD_CreatePalette	dd ?
	DD_CreateSurface	dd ?
	DD_DuplicateSurface	dd ?
	DD_EnumDisplayModes	dd ?
	DD_EnumSurfaces	dd ?
	DD_FlipToGDISurface	dd ?
	DD_GetCaps	dd ?
	DD_GetDisplayMode	dd ?
	DD_GetFourCCCodes	dd ?
	DD_GetGDISurface	dd ?
	DD_GetMonitorFrequency	dd ?
	DD_GetScanLine	dd ?
	DD_GetVerticalBlankStatus	dd ?
	DD_Initialize	dd ?
	DD_RestoreDisplayMode	dd ?
	DD_SetCooperativeLevel	dd ?
	DD_SetDisplayMode	dd ?
	DD_WaitForVerticalBlank	dd ?
	ENDS


IDirectDrawSurfaceVtbl	STRUC
	; IUnknown methods
	QueryInterface	dd ?
	AddRef	dd ?
	Release	dd ?
	; IDirectDrawSurface methods
	DDS_AddAttachedSurface	dd ?
	DDS_AddOverlayDirtyRect	dd ?
	DDS_Blt	dd ?
	DDS_BltBatch	dd ?
	DDS_BltFast	dd ?
	DDS_DeleteAttachedSurface	dd ?
	DDS_EnumAttachedSurfaces	dd ?
	DDS_EnumOverlayZOrders	dd ?
	DDS_Flip	dd ?
	DDS_GetAttachedSurface	dd ?
	DDS_GetBltStatus	dd ?
	DDS_GetCaps	dd ?
	DDS_GetClipper	dd ?
	DDS_GetColorKey	dd ?
	DDS_GetDC	dd ?
	DDS_GetFlipStatus	dd ?
	DDS_GetOverlayPosition	dd ?
	DDS_GetPalette	dd ?
	DDS_GetPixelFormat	dd ?
	DDS_GetSurfaceDesc	dd ?
	DDS_Initialize	dd ?
	DDS_IsLost	dd ?
	DDS_mLock	dd ?
	DDS_ReleaseDC	dd ?
	DDS_Restore	dd ?
	DDS_SetClipper	dd ?
	DDS_SetColorKey	dd ?
	DDS_SetOverlayPosition	dd ?
	DDS_SetPalette	dd ?
	DDS_Unlock	dd ?
	DDS_UpdateOverlay	dd ?
	DDS_UpdateOverlayDisplay	dd ?
	DDS_UpdateOverlayZOrder	dd ?
	ENDS

DDPIXELFORMAT	STRUC
	dwSize				DWORD		?
	dwFlags				DWORD		?
	dwFourCC			DWORD		?
	dwRGBBitCount		DWORD		?
	dwRBitMask			DWORD		?
	dwGBitMask			DWORD		?
	dwBBitMask			DWORD		?
	dwRGBAlphaBitMask	DWORD		?
	ENDS

DDCOLORKEY	STRUC
	dwColorSpaceLowValue		DWORD		?
	dwColorSpaceHighValue		DWORD		?
	ENDS

DDSCAPS		STRUC
	dwCaps			DWORD		?
	ENDS

DDSURFACEDESC	STRUC
	dwSize				DWORD		?
	dwFlags				DWORD		?
	dwHeight			DWORD		?
	dwWidth				DWORD		?
	lPitch				DWORD		?
	dwBackBufferCount	DWORD		?
	dwMipMapCount		DWORD		?
	dwAlphaBitDepth		DWORD		?
	dwReserved			DWORD		?
	lpSurface			DWORD		?
	ddckCKDestOverlay	DDCOLORKEY		<>
	ddckCKDestBlt		DDCOLORKEY		<>
	ddckCKSrcOverlay	DDCOLORKEY		<>
	ddckCKSrcBlt		DDCOLORKEY		<>
	ddpfPixelFormat		DDPIXELFORMAT	<>
	ddsCaps				DDSCAPS			<>
	ENDS

.data
	Text		db 'Left ButtonDown',0
	myclassname	db 'MyClass',0
	caption		db 'Direct Draw Sample',0
	Err			db 'Error',0
	szMsg1		db 'Hello ,DirectDraw !',0
	szMsg2		db 'To exit ,Press ESC',0
	align 4
	hInst		dd ?
	hWnd		dd ?
	hdc			dd 0
	lpDD		dd 0
	lpDDSPrimary dd 0
	msg		MSG<>
	wc		WNDCLASS<>
	ddsd	DDSURFACEDESC<>

.code
main:
	call	InitMainWindow	;初始化主窗口
	call	InitDirectDraw	;初始化DirectDraw

MsgLoop:	;消息循環
	call	GetMessageA,offset msg,0,0,0
	or		eax,eax
	jz		Exit
	call	TranslateMessage,offset msg
	call	DispatchMessageA,offset msg
	jmp		MsgLoop
Exit:
	call	ExitProcess,0

;**********************************************************
;消息處理函數
WinMsgProc  proc uses ebx edi esi, handle:DWORD, wMsg:DWORD, wParam1:DWORD, lParam1:DWORD
	cmp		wMsg,WM_CREATE
	jz		create
	cmp		wMsg,WM_DESTROY
	jz		destory
	cmp		wMsg,WM_LBUTTONDOWN
	jz		lbuttondown
	cmp		wMsg,WM_KEYDOWN
	jz		keydown
	jmp		default
create:
	xor		eax,eax
	ret
keydown:
	mov		ebx,wParam1
	cmp		ebx,VK_ESCAPE	;按下了ESC?
	jnz		default
	jmp		destory
destory:	;退出
	call	FreeDirectDraw
	call	PostQuitMessage,0
	xor		eax,eax
	ret
lbuttondown:
	call	DrawIt
	xor		eax,eax
	ret
default:
	call	DefWindowProcA,handle,wMsg,wParam1,lParam1
	ret
WinMsgProc  endp
;***************************************************************
;初始化主窗口
InitMainWindow proc
	call	GetModuleHandleA,0
	mov		[hInst],eax
	
	mov		wc.lpszClassName,offset myclassname
	mov		eax,[hInst]
    mov		wc.hInstance,eax
	mov		wc.lpfnWndProc,offset WinMsgProc
	call	LoadIconA,0,IDI_APPLICATION
	mov		wc.hIcon,eax
	call	LoadCursorA,0,IDC_IBEAM
	mov		wc.hCursor,eax
	mov		wc.lpszMenuName,0
	call	GetStockObject,WHITE_BRUSH
	mov		wc.hbrBackground,eax
	mov		wc.style,CS_HREDRAW or CS_VREDRAW or CS_GLOBALCLASS
	mov		wc.cbClsExtra,0
	mov		wc.cbWndExtra,0

	call	RegisterClassA,offset wc	;注冊窗口類

	call	GetSystemMetrics,SM_CXSCREEN
	push	eax
	call	GetSystemMetrics,SM_CYSCREEN
	pop		ebx
	;建立窗口
	call	CreateWindowExA,0,offset myclassname,offset caption,WS_POPUP,0,0,ebx,eax,0,0,[hInst],0
	mov		[hWnd],eax

	call	ShowWindow,[hWnd],1
	call	UpdateWindow,[hWnd]
	ret
InitMainWindow endp
;***************************************************************
;初始化DirectDraw
InitDirectDraw proc
	;生成DirectDraw對象
	call	DirectDrawCreate,NULL,offset lpDD,NULL
	cmp		eax,DD_OK
	jnz		@Error
	;獨占、全屏模式
	mov		eax,lpDD
	mov		eax,[eax]
	call	[eax+IDirectDrawVtbl.DD_SetCooperativeLevel],lpDD,hWnd,DDSCL_EXCLUSIVE OR DDSCL_FULLSCREEN
	cmp		eax,DD_OK
	jnz		@Error
	;設置顯示分辨率
	mov		eax,lpDD
	mov		eax,[eax]
	call	[eax+IDirectDrawVtbl.DD_SetDisplayMode],lpDD,640,480,8
	cmp		eax,DD_OK
	jnz		@Error
	;建立主頁面
	mov		ddsd.dwSize,size DDSURFACEDESC
	mov		ddsd.dwFlags , DDSD_CAPS
	mov		ddsd.ddsCaps.dwCaps , DDSCAPS_PRIMARYSURFACE
	mov		eax,lpDD
	mov		eax,[eax]
	call	[eax+IDirectDrawVtbl.DD_CreateSurface],lpDD,offset ddsd, offset lpDDSPrimary, NULL
	cmp		eax,DD_OK
	jnz		@Error
	ret
@Error:
	call Fail	
	ret
InitDirectDraw endp
;***************************************************************
;用DirectDraw的兼容DC在主窗口上輸出文字和圖案
DrawIt	proc
	;取DC
	mov		eax,lpDDSPrimary
	mov		eax,[eax]
	call	[eax+IDirectDrawSurfaceVtbl.DDS_GetDC],lpDDSPrimary,offset hdc
	;輸出
	call	SetBkColor, hdc,0FF0000H;RGB( 0, 0, 255 )
	call	SetTextColor, hdc, 0FFFFH;RGB( 255, 255, 0 )
	call	TextOutA, hdc, 200, 200,offset szMsg1, 19
	call	TextOutA, hdc, 200, 220,offset szMsg2, 18
	call	Rectangle, hdc, 50,100,200,200
	call	MoveToEx,hdc,0,0,NULL
	call	LineTo,hdc,640,480
	;輸出DC
	mov		eax,lpDDSPrimary
	mov		eax,[eax]
	call	[eax+IDirectDrawSurfaceVtbl.DDS_ReleaseDC],lpDDSPrimary,hdc	

	ret
DrawIt	endp	
;******************************************************
;刪除DirectDraw和DirectDrawSuface對象
FreeDirectDraw proc
	cmp		lpDDSPrimary,NULL
	jz		FreeDD
	mov		eax,lpDDSPrimary
	mov		eax,[eax]
	call	[eax+IDirectDrawSurfaceVtbl.Release],lpDDSPrimary	
FreeDD:
	cmp		lpDD,NULL
	jz		FreeDirectDrawEnd
	mov		eax,lpDD
	mov		eax,[eax]
	call	[eax+IDirectDrawVtbl.Release],lpDD
FreeDirectDrawEnd:
	ret
FreeDirectDraw endp
;******************************************************
Fail	proc
	call	MessageBoxA,NULL,offset Err,offset caption,MB_OK
	call	ExitProcess,0
Fail	endp
	end main

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲综合激情另类小说区| 国产亚洲欧美日韩在线一区| 成人91在线观看| 国产ts人妖一区二区| 国产自产2019最新不卡| 麻豆成人久久精品二区三区红| 视频一区视频二区中文| 秋霞电影网一区二区| 老司机精品视频导航| 久久精品国产秦先生| 国产一区在线看| 国产丶欧美丶日本不卡视频| 国产成人aaa| 91免费在线看| 91 com成人网| 久久美女艺术照精彩视频福利播放| 精品福利一区二区三区| 国产精品天干天干在观线| 亚洲欧美综合另类在线卡通| 亚洲精品美腿丝袜| 蜜桃av噜噜一区| 成人av动漫网站| 欧美精品三级在线观看| 久久综合狠狠综合久久综合88| 中文幕一区二区三区久久蜜桃| 亚洲欧美日韩国产中文在线| 日韩中文字幕亚洲一区二区va在线| 精品一区二区在线看| 成人黄色片在线观看| 欧美精选在线播放| 国产日韩欧美一区二区三区乱码 | 日韩天堂在线观看| 精品国产乱码久久久久久夜甘婷婷| 欧美激情自拍偷拍| 天天综合网天天综合色| 国产精品综合二区| 欧美三级在线播放| 国产亚洲午夜高清国产拍精品| 一区二区三区高清| 国产在线精品不卡| 欧美视频在线不卡| 国产日韩精品久久久| 懂色av一区二区三区免费看| 欧美色国产精品| 中文字幕av一区二区三区免费看| 亚洲午夜羞羞片| 成人精品国产福利| 精品国产91亚洲一区二区三区婷婷| 亚洲精品国产a| 成熟亚洲日本毛茸茸凸凹| 欧美二区三区的天堂| 亚洲日本乱码在线观看| 国产乱子伦一区二区三区国色天香| 欧美日韩一级二级三级| 国产精品国产三级国产普通话蜜臀 | 日韩精品一区二区三区在线| 亚洲人妖av一区二区| 国内精品伊人久久久久av一坑| 欧美性生活一区| 亚洲少妇中出一区| 国产麻豆精品theporn| 91麻豆精品国产无毒不卡在线观看| 亚洲视频一区在线| 成人国产精品免费观看| 久久精品无码一区二区三区| 蜜桃av噜噜一区| 91麻豆精品国产| 亚洲成人av中文| 欧美视频在线一区二区三区 | 调教+趴+乳夹+国产+精品| 91在线观看视频| 亚洲欧洲国产专区| 成人18视频日本| 中文在线一区二区| 成人h动漫精品| 国产精品久久久久婷婷二区次| 懂色av一区二区三区免费观看| 国产夜色精品一区二区av| 国产乱对白刺激视频不卡| 久久久精品综合| 国产精品系列在线观看| 久久久精品影视| 成人黄色免费短视频| 亚洲欧洲在线观看av| 91浏览器入口在线观看| 夜夜操天天操亚洲| 538在线一区二区精品国产| 蜜臀av一区二区在线免费观看| 日韩精品一区二区三区中文精品| 久久99精品久久久久久| 久久久影视传媒| 99在线视频精品| 亚洲高清久久久| 欧美变态tickling挠脚心| 国产美女在线精品| 亚洲品质自拍视频网站| 欧美日韩午夜精品| 国产一区二区调教| 一色桃子久久精品亚洲| 欧洲另类一二三四区| 看电影不卡的网站| 欧美激情综合在线| 欧美丝袜第三区| 国产精品中文字幕一区二区三区| 国产精品每日更新在线播放网址| 欧美性色黄大片| 国产精品一区二区黑丝| 一区二区免费视频| 久久五月婷婷丁香社区| 欧美系列一区二区| 国产乱人伦偷精品视频不卡| 一区二区三区在线视频观看58 | 成人av高清在线| 日韩中文字幕区一区有砖一区| 国产欧美一区二区精品婷婷| 欧美日韩中文字幕精品| 国产精品18久久久| 婷婷综合在线观看| 1区2区3区欧美| 久久网站热最新地址| 欧美性生活影院| 国产成人av电影在线观看| 婷婷国产v国产偷v亚洲高清| 中文字幕一区不卡| 久久综合久久久久88| 欧美另类高清zo欧美| 99国内精品久久| 国产一区二区三区最好精华液| 亚洲亚洲人成综合网络| 国产精品网曝门| 久久久噜噜噜久久中文字幕色伊伊| 欧美三级中文字幕| 91网站最新地址| 成人网页在线观看| 激情综合色播激情啊| 视频一区免费在线观看| 亚洲精品一卡二卡| 国产精品成人在线观看| 国产欧美日韩在线看| 精品久久久久久久人人人人传媒| 欧美午夜片在线观看| 97aⅴ精品视频一二三区| 成人性生交大片免费看中文网站| 麻豆成人在线观看| 久久精品国产99国产| 免费高清在线一区| 奇米在线7777在线精品| 性欧美疯狂xxxxbbbb| 亚洲va在线va天堂| 性欧美大战久久久久久久久| 亚洲黄一区二区三区| 亚洲精品视频观看| 亚洲综合色在线| 亚洲一区免费视频| 国产成人在线影院| 精品一区二区三区免费毛片爱| 日本欧美韩国一区三区| 蜜臀99久久精品久久久久久软件| 五月天激情综合| 蜜臀91精品一区二区三区| 久久精品免费看| 国产综合久久久久久鬼色| 国产精品主播直播| 99久久亚洲一区二区三区青草| 99国产精品久久久久久久久久久| 91亚洲精华国产精华精华液| 91蝌蚪porny| 欧美日韩一区二区三区高清| 日韩一级大片在线| 久久综合九色综合欧美98| 中文成人av在线| 一区二区三区丝袜| 日本在线不卡一区| 国内外成人在线| 99热这里都是精品| 欧美私人免费视频| 精品电影一区二区三区| 亚洲欧洲日韩av| 天天色 色综合| 国产精品77777| 欧美午夜免费电影| 精品国产乱码久久久久久久久| 国产精品丝袜在线| 丝袜脚交一区二区| 国产成a人亚洲精品| 欧美日韩亚洲另类| 日本一区二区三区在线不卡| 一卡二卡三卡日韩欧美| 美美哒免费高清在线观看视频一区二区 | 91丨porny丨最新| 欧美一区二区视频观看视频| 国产情人综合久久777777| 亚洲自拍偷拍麻豆| 国产精品资源站在线| 91国产成人在线| 国产午夜精品久久久久久久| 午夜欧美电影在线观看| 欧美亚洲国产bt| 国产精品网站在线| 国内外成人在线|