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

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

?? clock.asm

?? 很不錯的匯編代碼
?? ASM
字號:
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Sample code for < Win32ASM Programming >
; by 羅云彬, http://asm.yeah.net
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Clock.asm
; 時鐘例子:使用 GDI 函數繪畫指針
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 使用 nmake 或下列命令進行編譯和鏈接:
; ml /c /coff Clock.asm
; rc Clock.rc
; Link /subsystem:windows Clock.obj Clock.res
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
		.386
		.model flat, stdcall
		option casemap :none
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Include 文件定義
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include		windows.inc
include		user32.inc
includelib	user32.lib
include		kernel32.inc
includelib	kernel32.lib
include		Gdi32.inc
includelib	Gdi32.lib
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Equ 等值定義
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
ICO_MAIN	equ		1000h
ID_TIMER	equ		1
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 數據段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
		.data?

hInstance	dd		?
hWinMain	dd		?
dwCenterX	dd		?	;圓心X
dwCenterY	dd		?	;圓心Y
dwRadius	dd		?	;半徑

		.const
szClassName	db	'Clock',0
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 代碼段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
		.code
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 計算時鐘的位置、大小等參數
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_CalcClockParam	proc
		local	@stRect:RECT

		invoke	GetClientRect,hWinMain,addr @stRect
		mov	eax,@stRect.right
		sub	eax,@stRect.left	;eax = 寬度
		mov	ecx,@stRect.bottom
		sub	ecx,@stRect.top		;ecx = 高度
;********************************************************************
; 比較客戶區寬度和高度,以小的值作為時鐘的直徑
;********************************************************************
		.if	ecx > eax
			mov	edx,eax		;高度 > 寬度
			sub	ecx,eax
			shr	ecx,1
			mov	dwCenterX,0
			mov	dwCenterY,ecx
		.else
			mov	edx,ecx
			sub	eax,ecx
			shr	eax,1
			mov	dwCenterX,eax
			mov	dwCenterY,0
		.endif
		shr	edx,1
		mov	dwRadius,edx
		add	dwCenterX,edx
		add	dwCenterY,edx
		ret

_CalcClockParam	endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 計算時鐘圓周上某個角度對應的 X 坐標
; X = 圓心X + Sin(角度) * 半徑
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_dwPara180	dw	180
_CalcX		proc	_dwDegree,_dwRadius
		local	@dwReturn

		fild	dwCenterX
		fild	_dwDegree
		fldpi
		fmul			;角度*Pi
		fild	_dwPara180
		fdivp	st(1),st	;角度*Pi/180
		fsin			;Sin(角度*Pi/180)
		fild	_dwRadius
		fmul			;半徑*Sin(角度*Pi/180)
		fadd			;X+半徑*Sin(角度*Pi/180)
		fistp	@dwReturn
		mov	eax,@dwReturn
		ret

_CalcX		endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 計算時鐘圓周上某個角度對應的 Y 坐標
; Y = 圓心Y - Cos(角度) * 半徑
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_CalcY		proc	_dwDegree,_dwRadius
		local	@dwReturn

		fild	dwCenterY
		fild	_dwDegree
		fldpi
		fmul
		fild	_dwPara180
		fdivp	st(1),st
		fcos
		fild	_dwRadius
		fmul
		fsubp	st(1),st
		fistp	@dwReturn
		mov	eax,@dwReturn
		ret

_CalcY		endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 按照 _dwDegreeInc 的步進角度,畫 _dwRadius 為半徑的小圓點
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_DrawDot	proc	_hDC,_dwDegreeInc,_dwRadius
		local	@dwNowDegree,@dwR
		local	@dwX,@dwY

		mov	@dwNowDegree,0
		mov	eax,dwRadius
		sub	eax,10
		mov	@dwR,eax
		.while	@dwNowDegree <=	360
			finit
;********************************************************************
; 計算小圓點的圓心坐標
;********************************************************************
			invoke	_CalcX,@dwNowDegree,@dwR
			mov	@dwX,eax
			invoke	_CalcY,@dwNowDegree,@dwR
			mov	@dwY,eax

			mov	eax,@dwX	;畫點
			mov	ebx,eax
			mov	ecx,@dwY
			mov	edx,ecx
			sub	eax,_dwRadius
			add	ebx,_dwRadius
			sub	ecx,_dwRadius
			add	edx,_dwRadius
			invoke	Ellipse,_hDC,eax,ecx,ebx,edx

			mov	eax,_dwDegreeInc
			add	@dwNowDegree,eax
		.endw
		ret

_DrawDot	endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 畫 _dwDegree 角度的線條,半徑=時鐘半徑-參數_dwRadiusAdjust
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_DrawLine	proc	_hDC,_dwDegree,_dwRadiusAdjust
		local	@dwR
		local	@dwX1,@dwY1,@dwX2,@dwY2

		mov	eax,dwRadius
		sub	eax,_dwRadiusAdjust
		mov	@dwR,eax
;********************************************************************
; 計算線條兩端的坐標
;********************************************************************
		invoke	_CalcX,_dwDegree,@dwR
		mov	@dwX1,eax
		invoke	_CalcY,_dwDegree,@dwR
		mov	@dwY1,eax
		add	_dwDegree,180
		invoke	_CalcX,_dwDegree,10
		mov	@dwX2,eax
		invoke	_CalcY,_dwDegree,10
		mov	@dwY2,eax
		invoke	MoveToEx,_hDC,@dwX1,@dwY1,NULL
		invoke	LineTo,_hDC,@dwX2,@dwY2

		ret

_DrawLine	endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_ShowTime	proc	_hWnd,_hDC
		local	@stTime:SYSTEMTIME

		pushad
		invoke	GetLocalTime,addr @stTime
		invoke	_CalcClockParam
;********************************************************************
; 畫時鐘圓周上的點
;********************************************************************
		invoke	GetStockObject,BLACK_BRUSH
		invoke	SelectObject,_hDC,eax
		invoke	_DrawDot,_hDC,360/12,3	;畫12個大圓點
		invoke	_DrawDot,_hDC,360/60,1	;畫60個小圓點
;********************************************************************
; 畫時鐘指針
;********************************************************************
		invoke	CreatePen,PS_SOLID,1,0
		invoke	SelectObject,_hDC,eax
		invoke	DeleteObject,eax
		movzx	eax,@stTime.wSecond
		mov	ecx,360/60
		mul	ecx			;秒針度數 = 秒 * 360/60
		invoke	_DrawLine,_hDC,eax,15
;********************************************************************
		invoke	CreatePen,PS_SOLID,2,0
		invoke	SelectObject,_hDC,eax
		invoke	DeleteObject,eax
		movzx	eax,@stTime.wMinute
		mov	ecx,360/60
		mul	ecx			;分針度數 = 分 * 360/60
		invoke	_DrawLine,_hDC,eax,20
;********************************************************************
		invoke	CreatePen,PS_SOLID,3,0
		invoke	SelectObject,_hDC,eax
		invoke	DeleteObject,eax
		movzx	eax,@stTime.wHour
		.if	eax >=	12
			sub	eax,12
		.endif
		mov	ecx,360/12
		mul	ecx
		movzx	ecx,@stTime.wMinute
		shr	ecx,1
		add	eax,ecx
		invoke	_DrawLine,_hDC,eax,30
;********************************************************************
		popad
		ret

_ShowTime	endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_ProcWinMain	proc	uses ebx edi esi hWnd,uMsg,wParam,lParam
		local	@stPS:PAINTSTRUCT

		mov	eax,uMsg
		.if	eax ==	WM_TIMER
			invoke	InvalidateRect,hWnd,NULL,TRUE
		.elseif	eax ==	WM_PAINT
			invoke	BeginPaint,hWnd,addr @stPS
			invoke	_ShowTime,hWnd,eax
			invoke	EndPaint,hWnd,addr @stPS
		.elseif	eax ==	WM_CREATE
			invoke	SetTimer,hWnd,ID_TIMER,1000,NULL
;********************************************************************
		.elseif	eax ==	WM_CLOSE
			invoke	KillTimer,hWnd,ID_TIMER
			invoke	DestroyWindow,hWinMain
			invoke	PostQuitMessage,NULL
;********************************************************************
		.else
			invoke	DefWindowProc,hWnd,uMsg,wParam,lParam
			ret
		.endif
;********************************************************************
		xor	eax,eax
		ret

_ProcWinMain	endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_WinMain	proc
		local	@stWndClass:WNDCLASSEX
		local	@stMsg:MSG

		invoke	GetModuleHandle,NULL
		mov	hInstance,eax
;********************************************************************
; 注冊窗口類
;********************************************************************
		invoke	RtlZeroMemory,addr @stWndClass,sizeof @stWndClass
		invoke	LoadIcon,hInstance,ICO_MAIN
		mov	@stWndClass.hIcon,eax
		mov	@stWndClass.hIconSm,eax
		invoke	LoadCursor,0,IDC_ARROW
		mov	@stWndClass.hCursor,eax
		push	hInstance
		pop	@stWndClass.hInstance
		mov	@stWndClass.cbSize,sizeof WNDCLASSEX
		mov	@stWndClass.style,CS_HREDRAW or CS_VREDRAW
		mov	@stWndClass.lpfnWndProc,offset _ProcWinMain
		mov	@stWndClass.hbrBackground,COLOR_WINDOW + 1
		mov	@stWndClass.lpszClassName,offset szClassName
		invoke	RegisterClassEx,addr @stWndClass
;********************************************************************
; 建立并顯示窗口
;********************************************************************
		invoke	CreateWindowEx,WS_EX_CLIENTEDGE,\
			offset szClassName,offset szClassName,\
			WS_OVERLAPPEDWINDOW,\
			100,100,250,270,\
			NULL,NULL,hInstance,NULL
		mov	hWinMain,eax
		invoke	ShowWindow,hWinMain,SW_SHOWNORMAL
		invoke	UpdateWindow,hWinMain
;********************************************************************
; 消息循環
;********************************************************************
		.while	TRUE
			invoke	GetMessage,addr @stMsg,NULL,0,0
			.break	.if eax	== 0
			invoke	TranslateMessage,addr @stMsg
			invoke	DispatchMessage,addr @stMsg
		.endw
		ret

_WinMain	endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
start:
		call	_WinMain
		invoke	ExitProcess,NULL
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
		end	start

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品123| 欧美日韩美少妇| 欧洲精品在线观看| 精品粉嫩超白一线天av| 亚洲一区二区在线播放相泽| 韩国欧美国产1区| 欧美日韩一区在线观看| 久久久久国产精品麻豆ai换脸| 亚洲成人在线免费| 99久久婷婷国产综合精品电影| 日韩一级免费一区| 亚洲mv在线观看| 91国偷自产一区二区三区观看| 国产视频在线观看一区二区三区| 日韩综合小视频| 欧美色老头old∨ideo| 欧美激情一区二区三区蜜桃视频| 美国毛片一区二区三区| 欧美性极品少妇| 亚洲网友自拍偷拍| 色国产综合视频| 亚洲柠檬福利资源导航| 国产成人免费网站| 精品国产麻豆免费人成网站| 视频一区免费在线观看| 欧美日韩一区小说| 亚洲成人av电影在线| 一本大道综合伊人精品热热| 国产精品福利一区| 99久久精品免费| 最新欧美精品一区二区三区| 成人精品免费视频| 中文字幕一区二区三区四区不卡| 成人午夜大片免费观看| 精品久久五月天| 久久超级碰视频| 日本一区二区三区视频视频| 亚洲高清久久久| 欧美日韩精品福利| 久久国产福利国产秒拍| 欧美成va人片在线观看| 极品少妇一区二区| 国产色婷婷亚洲99精品小说| 成人晚上爱看视频| 最新国产の精品合集bt伙计| 色综合久久久网| 亚洲欧美日韩久久精品| 在线视频欧美精品| 天天色综合成人网| 欧美精品一区二区三区在线播放 | 精品国精品国产尤物美女| 免费成人av资源网| 久久久久久久久久久99999| 成人av第一页| 亚洲香肠在线观看| 精品国产乱码久久久久久浪潮| 国产91综合一区在线观看| 国产精品久久久久久久久搜平片 | 欧美一区二区三区系列电影| 成人ar影院免费观看视频| 综合网在线视频| 欧美一区二区三区四区高清| 久久精品av麻豆的观看方式| 国产精品国产精品国产专区不片| 色噜噜夜夜夜综合网| 日韩成人精品在线| 日本一区二区三区四区 | 亚洲国产综合色| 日韩精品一区二区在线| 成人涩涩免费视频| 五月开心婷婷久久| 国产精品久久一级| 欧美久久一二三四区| 高清av一区二区| 亚洲国产日韩a在线播放性色| 欧美xxxxx裸体时装秀| 一本在线高清不卡dvd| 青青草国产成人av片免费| 一色桃子久久精品亚洲| 日韩免费一区二区| 在线免费精品视频| 成人免费视频播放| 久久99国产精品尤物| 一区二区三区精品在线观看| 国产亚洲1区2区3区| 欧美日韩不卡一区二区| 99视频精品免费视频| 极品少妇xxxx精品少妇| 亚洲国产另类av| 日韩毛片在线免费观看| 精品第一国产综合精品aⅴ| 欧美偷拍一区二区| 91在线视频官网| 国产成人免费视频| 国产精品一区二区三区四区| 日韩精品一级中文字幕精品视频免费观看 | 亚洲男同1069视频| 欧美国产欧美综合| 精品久久久久久最新网址| 欧美精品一二三四| 欧美日韩一级黄| 欧美亚洲一区二区在线| www.亚洲色图| 国产精品一二二区| 国产一区二区美女| 国产在线国偷精品免费看| 日韩精品欧美成人高清一区二区| 一区二区在线看| 尤物av一区二区| 亚洲综合成人网| 亚洲午夜精品在线| 亚洲高清在线精品| 日韩精品一二区| 日本中文字幕一区二区有限公司| 性感美女极品91精品| 亚洲成av人片在线观看无码| 亚洲福利视频一区二区| 日韩专区中文字幕一区二区| 亚洲成人av在线电影| 日本中文字幕不卡| 久久成人免费网| 国产精品影视天天线| 成av人片一区二区| 波多野洁衣一区| 91高清视频在线| 欧美日韩在线三级| 欧美r级电影在线观看| 久久久欧美精品sm网站| 国产亚洲va综合人人澡精品| 国产精品美女久久久久av爽李琼| 国产精品久久久久婷婷二区次| 国产精品你懂的| 亚洲主播在线观看| 免费观看30秒视频久久| 国产乱人伦偷精品视频免下载| 国产精品18久久久久久vr| 99国产精品国产精品久久| 日本高清无吗v一区| 91精品国产入口| 久久午夜电影网| 亚洲欧美色图小说| 日本成人在线网站| 国产成人av一区二区三区在线观看| 99久久伊人网影院| 欧美群妇大交群中文字幕| 精品国产一区久久| 亚洲精品少妇30p| 全国精品久久少妇| 成人免费的视频| 欧美一区三区二区| 国产精品麻豆一区二区| 日韩主播视频在线| 99视频在线观看一区三区| 欧美日韩国产123区| 国产色产综合色产在线视频| 亚洲综合偷拍欧美一区色| 国内精品国产三级国产a久久 | 亚洲欧美成人一区二区三区| 免费看黄色91| 91麻豆文化传媒在线观看| 日韩一区和二区| 一级精品视频在线观看宜春院 | 99精品一区二区三区| 91精品久久久久久久久99蜜臂| 国产精品三级av| 另类小说欧美激情| 91福利在线观看| 国产精品视频一区二区三区不卡 | 亚洲在线视频一区| 国产一区二区福利| 欧美精品乱人伦久久久久久| 亚洲国产成人私人影院tom| 三级在线观看一区二区| 91看片淫黄大片一级在线观看| www成人在线观看| 日日摸夜夜添夜夜添国产精品| 91一区在线观看| 国产亚洲短视频| 狠狠色综合日日| 日韩一区二区中文字幕| 午夜精品福利一区二区三区av| 99视频精品免费视频| 国产精品丝袜91| 成人国产精品视频| 久久久国产精华| 国产一区二区三区黄视频| 欧美成人女星排名| 日韩激情在线观看| 欧美男男青年gay1069videost| 亚洲精品一二三| 91蜜桃在线观看| 成人免费视频在线观看| 成人午夜视频免费看| 欧美国产激情二区三区| 狠狠狠色丁香婷婷综合久久五月| 欧美一级在线免费| 日本不卡视频在线观看| 欧美一区二区三区四区五区| 视频一区二区不卡| 精品免费视频.|