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

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

?? parserc.asm

?? 匯編資源編輯器
?? ASM
?? 第 1 頁 / 共 4 頁
字號:
.data?

wordbuff	db 512 dup(?)
namebuff	db 256 dup(?)

.code

SkipToEndOfComment proc

	.while byte ptr [esi] && word ptr [esi]!='/*'
		inc		esi
	.endw
	ret

SkipToEndOfComment endp

SkipToEol proc

	.while byte ptr [esi]!=VK_RETURN && byte ptr [esi]
		inc		esi
	.endw
	ret

SkipToEol endp

SkipSpace proc

  @@:
	.while byte ptr [esi]==VK_SPACE || byte ptr [esi]==VK_TAB
		inc		esi
	.endw
	.if word ptr [esi]=='*/'
		invoke SkipToEndOfComment
		jmp		@b
	.endif
	.if byte ptr [esi]==';' || word ptr [esi]=='//'
		invoke SkipToEol
	.endif
	ret

SkipSpace endp

SkipCRLF proc

  @@:
	.while byte ptr [esi]==VK_SPACE || byte ptr [esi]==VK_TAB || byte ptr [esi]==0Dh || byte ptr [esi]==0Ah
		inc		esi
	.endw
	.if byte ptr [esi]==';' || (byte ptr [esi]=='/' && byte ptr [esi+1]=='/')
		invoke SkipToEol
		jmp		@b
	.endif
	ret

SkipCRLF endp

UnQuoteWord proc uses esi edi,lpWord:DWORD

	mov		esi,lpWord
	mov		edi,esi
	.if byte ptr [esi]=='"'
		inc		esi
	.endif
	.while byte ptr [esi]
		mov		al,[esi]
		inc		esi
		.if al!='"'
			mov		[edi],al
			inc		edi
		.endif
	.endw
	mov		dword ptr [edi],0
	ret

UnQuoteWord endp

GetWord proc uses esi edi,lpWord:DWORD,lpLine:DWORD

	mov		esi,lpLine
	mov		edi,lpWord
	invoke SkipCRLF
	.if byte ptr [esi]=='"'
		mov		al,[esi]
		mov		[edi],al
		inc		esi
		inc		edi
		xor		eax,eax
		.while byte ptr [esi] && al!='"'
			mov		al,[esi]
			mov		[edi],al
			inc		esi
			inc		edi
		.endw
	.else
		.while byte ptr [esi] && byte ptr [esi]!=VK_SPACE && byte ptr [esi]!=VK_TAB && byte ptr [esi]!=0Dh && byte ptr [esi]!=0Ah && byte ptr [esi]!=',' && byte ptr [esi]!='|'
			mov		al,[esi]
			mov		[edi],al
			inc		esi
			inc		edi
		.endw
	.endif
	mov		byte ptr [edi],0
	invoke SkipSpace
	mov		dl,[esi]
	.if dl==',' || dl=='|'
		inc		esi
		invoke SkipCRLF
	.endif
	mov		eax,esi
	sub		eax,lpLine
	ret

GetWord endp

IsBegin proc lpWord:DWORD

	push	ecx
	push	edx
	invoke lstrcmpi,lpWord,offset szBEGIN
	.if eax
		invoke lstrcmpi,lpWord,offset szBEGINSHORT
	.endif
	pop		edx
	pop		ecx
	ret

IsBegin endp

IsEnd proc lpWord:DWORD

	push	ecx
	push	edx
	invoke lstrcmpi,lpWord,offset szEND
	.if eax
		invoke lstrcmpi,lpWord,offset szENDSHORT
	.endif
	pop		edx
	pop		ecx
	ret

IsEnd endp

GetName proc lpProMem:DWORD,lpBuff:DWORD,lpName:DWORD,lpID:DWORD

	mov		eax,lpBuff
	mov		al,[eax]
	.if (al>='0' && al<='9') || al=='-'
		;ID
		invoke ResEdDecToBin,lpBuff
		mov		edx,lpID
		mov		[edx],eax
		mov		edx,lpName
		mov		byte ptr [edx],0
	.else
		;Name
		invoke lstrcpyn,lpName,lpBuff,32
		;ID
		invoke FindName,lpProMem,lpBuff
		.if eax
			mov		[eax].NAMEMEM.delete,TRUE
			mov		eax,[eax].NAMEMEM.value
			mov		edx,lpID
			mov		[edx],eax
		.endif
	.endif
	ret

GetName endp

ParseDefine proc uses esi,lpRCMem:DWORD,lpProMem:DWORD

	mov		esi,lpRCMem
	invoke GetWord,offset namebuff,esi
	add		esi,eax
	invoke GetWord,offset wordbuff,esi
	add		esi,eax
	invoke AddName,lpProMem,offset namebuff,offset wordbuff
	mov		eax,esi
	sub		eax,lpRCMem
	ret

ParseDefine endp

ParseFileName proc uses esi edi,lpRCMem:DWORD
	LOCAL	nend:BYTE

	mov		esi,lpRCMem
	mov		edi,offset wordbuff
	call	SkipSpace
	xor		ecx,ecx
	.while TRUE
		mov		al,[esi+ecx]
		.if al==VK_RETURN
			xor		al,al
		.endif
		mov		[edi+ecx],al
		inc		ecx
		.break .if !al
	.endw
	lea		esi,[esi+ecx-1]
	push	esi
	mov		esi,offset wordbuff
	mov		edi,esi
	mov		al,[esi]
	.if al=='"'
		mov		nend,al
		inc		esi
	.elseif al=='<'
		mov		nend,'>'
		inc		esi
	.else
		mov		nend,' '
	.endif
	.while byte ptr [esi]
		mov		al,[esi]
		.if al==nend
			xor		al,al
		.elseif al=='\'
			.if byte ptr [esi+1]=='\'
				inc		esi
			.endif
		.elseif al=='/'
			mov		al,'\'
		.endif
		mov		[edi],al
		inc		esi
		inc		edi
	.endw
	pop		esi
	mov		eax,esi
	sub		eax,lpRCMem
	ret

ParseFileName endp

ParseInclude proc uses esi edi,lpRCMem:DWORD,lpProMem:DWORD

	mov		esi,lpRCMem
	invoke GetTypeMem,lpProMem,TPE_INCLUDE
	mov		eax,[eax].PROJECT.hmem
	.if !eax
		invoke AddTypeMem,lpProMem,64*1024,TPE_INCLUDE
	.endif
	mov		edi,eax
	.while [edi].INCLUDEMEM.szfile
		lea		edi,[edi+sizeof INCLUDEMEM]
	.endw
	invoke ParseFileName,esi
	add		esi,eax
	invoke lstrcpy,addr [edi].INCLUDEMEM.szfile,offset wordbuff
	mov		eax,esi
	sub		eax,lpRCMem
	ret

ParseInclude endp

ParseSkip proc uses ebx esi edi,lpRCMem:DWORD,lpProMem:DWORD

	mov		esi,lpRCMem
	xor		ebx,ebx
  @@:
	add		esi,ebx
	invoke GetWord,offset wordbuff,esi
	mov		ebx,eax
	invoke lstrcmpi,offset wordbuff,offset szPRELOAD
	or		eax,eax
	je		@b
	invoke lstrcmpi,offset wordbuff,offset szLOADONCALL
	or		eax,eax
	je		@b
	invoke lstrcmpi,offset wordbuff,offset szFIXED
	or		eax,eax
	je		@b
	invoke lstrcmpi,offset wordbuff,offset szMOVEABLE
	or		eax,eax
	je		@b
	invoke lstrcmpi,offset wordbuff,offset szDISCARDABLE
	or		eax,eax
	je		@b
	invoke lstrcmpi,offset wordbuff,offset szPURE
	or		eax,eax
	je		@b
	invoke lstrcmpi,offset wordbuff,offset szIMPURE
	or		eax,eax
	je		@b
	xor		ebx,ebx
	invoke GetWord,offset wordbuff,esi
	add		esi,eax
	invoke lstrcmpi,offset wordbuff,offset szBEGIN
	.if eax
		invoke lstrcmpi,offset wordbuff,offset szBEGINSHORT
	.endif
	.if !eax
	  Nx:
		inc		ebx
	  @@:
		invoke GetWord,offset wordbuff,esi
		add		esi,eax
		invoke lstrcmpi,offset wordbuff,offset szEND
		.if eax
			invoke lstrcmpi,offset wordbuff,offset szENDSHORT
		.endif
		.if eax
			invoke lstrcmpi,offset wordbuff,offset szBEGIN
			.if eax
				invoke lstrcmpi,offset wordbuff,offset szBEGINSHORT
			.endif
			.if !eax
				jmp		Nx
			.endif
			invoke SkipToEol
			jmp		@b
		.endif
		dec		ebx
		jne		@b
	.endif
	mov		eax,esi
	sub		eax,lpRCMem
	ret

ParseSkip endp

ParseStringTable proc uses ebx esi edi,lpRCMem:DWORD,lpProMem:DWORD

	mov		esi,lpRCMem
	invoke AddTypeMem,lpProMem,64*1024,TPE_STRING
	mov		edi,eax
	xor		ebx,ebx
  @@:
	add		esi,ebx
	invoke GetWord,offset wordbuff,esi
	mov		ebx,eax
	invoke lstrcmpi,offset wordbuff,offset szPRELOAD
	or		eax,eax
	je		@b
	invoke lstrcmpi,offset wordbuff,offset szLOADONCALL
	or		eax,eax
	je		@b
	invoke lstrcmpi,offset wordbuff,offset szFIXED
	or		eax,eax
	je		@b
	invoke lstrcmpi,offset wordbuff,offset szMOVEABLE
	or		eax,eax
	je		@b
	invoke lstrcmpi,offset wordbuff,offset szDISCARDABLE
	or		eax,eax
	je		@b
	invoke lstrcmpi,offset wordbuff,offset szPURE
	or		eax,eax
	je		@b
	invoke lstrcmpi,offset wordbuff,offset szIMPURE
	or		eax,eax
	je		@b
  @@:
	invoke GetWord,offset wordbuff,esi
	add		esi,eax
	invoke lstrcmpi,offset wordbuff,offset szBEGIN
	.if eax
		invoke lstrcmpi,offset wordbuff,offset szBEGINSHORT
	.endif
	.if !eax
	  @@:
		invoke GetWord,offset wordbuff,esi
		add		esi,eax
		invoke lstrcmpi,offset wordbuff,offset szEND
		.if eax
			invoke lstrcmpi,offset wordbuff,offset szENDSHORT
		.endif
		.if eax
			invoke GetName,lpProMem,offset wordbuff,addr [edi].STRINGMEM.szname,addr [edi].STRINGMEM.value
			invoke GetWord,offset wordbuff,esi
			add		esi,eax
			invoke UnQuoteWord,offset wordbuff
			invoke lstrcpy,addr [edi].STRINGMEM.szstring,offset wordbuff
			add		edi,sizeof STRINGMEM
			jmp		@b
		.endif
	.endif
	mov		eax,esi
	sub		eax,lpRCMem
	ret

ParseStringTable endp

ParseResource proc uses esi edi,lpRCMem:DWORD,lpProMem:DWORD,nType:DWORD

	mov		esi,lpRCMem
	invoke GetTypeMem,lpProMem,TPE_RESOURCE
	mov		eax,[eax].PROJECT.hmem
	.if !eax
		invoke AddTypeMem,lpProMem,64*1024,TPE_RESOURCE
	.endif
	mov		edi,eax
	.while [edi].RESOURCEMEM.szfile
		lea		edi,[edi+sizeof RESOURCEMEM]
	.endw
	mov		eax,nType
	mov		[edi].RESOURCEMEM.ntype,eax
	invoke GetName,lpProMem,offset namebuff,addr [edi].RESOURCEMEM.szname,addr [edi].RESOURCEMEM.value
	xor		ebx,ebx
  @@:
	add		esi,ebx
	invoke GetWord,offset wordbuff,esi
	mov		ebx,eax
	invoke lstrcmpi,offset wordbuff,offset szPRELOAD
	or		eax,eax
	je		@b
	invoke lstrcmpi,offset wordbuff,offset szLOADONCALL
	or		eax,eax
	je		@b
	invoke lstrcmpi,offset wordbuff,offset szFIXED
	or		eax,eax
	je		@b
	invoke lstrcmpi,offset wordbuff,offset szMOVEABLE
	or		eax,eax
	je		@b
	invoke lstrcmpi,offset wordbuff,offset szDISCARDABLE
	or		eax,eax
	je		@b
	invoke lstrcmpi,offset wordbuff,offset szPURE
	or		eax,eax
	je		@b
	invoke lstrcmpi,offset wordbuff,offset szIMPURE
	or		eax,eax
	je		@b
	invoke ParseFileName,esi
	add		esi,eax
	invoke lstrcpy,addr [edi].RESOURCEMEM.szfile,offset wordbuff
	mov		eax,esi
	sub		eax,lpRCMem
	ret

ParseResource endp

ConvertSize proc uses esi,lpMem:DWORD
	LOCAL	bux:DWORD
	LOCAL	buy:DWORD
	LOCAL	rect:RECT

	mov		esi,lpMem
	mov		dlgps,10
	mov		dlgfn,0
	invoke CreateDialogIndirectParam,hInstance,offset dlgdata,hDEd,offset TestProc,0
	invoke DestroyWindow,eax
	push	fntwt
	pop		dfntwt
	push	fntht
	pop		dfntht
	mov		eax,[esi].DLGHEAD.fontsize
	mov		dlgps,ax
	pushad
	lea		esi,[esi].DLGHEAD.font
	mov		edi,offset dlgfn
	xor		eax,eax
	mov		ecx,32
  @@:
	lodsb
	stosw
	loop	@b
	popad
	invoke CreateDialogIndirectParam,hInstance,offset dlgdata,hDEd,offset TestProc,0
	invoke DestroyWindow,eax
	invoke GetDialogBaseUnits
	mov		edx,eax
	and		eax,0FFFFh
	mov		bux,eax
	shr		edx,16
	mov		buy,edx
	add		esi,sizeof DLGHEAD
	.while [esi].DIALOG.hwnd
		mov		rect.left,0
		mov		rect.top,0
		mov		rect.right,0
		mov		rect.bottom,0
		.if ![esi].DIALOG.ntype
			invoke AdjustWindowRectEx,addr rect,[esi].DIALOG.style,FALSE,[esi].DIALOG.exstyle
		.endif
		mov		eax,[esi].DIALOG.x
		call	ConvX
		.if fSnapToGrid
			call	SnapX
		.endif
		mov		[esi].DIALOG.x,eax
		mov		eax,[esi].DIALOG.y
		call	ConvY
		.if fSnapToGrid
			call	SnapY
		.endif
		mov		[esi].DIALOG.y,eax
		mov		eax,[esi].DIALOG.ccx
		call	ConvX
		.if fSnapToGrid
			call	SnapX
			inc		eax
		.endif
		add		eax,rect.right
		sub		eax,rect.left
		mov		[esi].DIALOG.ccx,eax
		mov		eax,[esi].DIALOG.ccy
		call	ConvY
		.if fSnapToGrid
			call	SnapY
			inc		eax
		.endif
		add		eax,rect.bottom
		sub		eax,rect.top
		mov		[esi].DIALOG.ccy,eax
		add		esi,sizeof DIALOG
	.endw
	ret

ConvX:
	cdq
	mov		ecx,fntwt
	imul	ecx
	mov		ecx,bux
	imul	ecx
	mov		ecx,dfntwt
	idiv	ecx
	cdq
	mov		ecx,4
	idiv	ecx
	retn

SnapX:
	mov		ecx,Gridcx
	.if sdword ptr eax>0
		add		eax,ecx
		dec		eax
	.else
		sub		eax,ecx
		inc		eax
	.endif
	cdq
	idiv	ecx
	cdq
	imul	ecx
	retn

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品免视看| 亚洲精品视频在线看| 欧美激情资源网| 久久精品国产第一区二区三区| 欧美午夜理伦三级在线观看| 国产日韩欧美激情| 国产一区二区在线电影| 欧美va亚洲va香蕉在线| 久久99热这里只有精品| 亚洲久本草在线中文字幕| 欧美日本在线看| 欧美成人官网二区| 婷婷开心久久网| 日本乱人伦aⅴ精品| 欧美国产精品一区二区三区| 久久精品国产精品亚洲精品| 欧美人狂配大交3d怪物一区| 国产精品免费丝袜| 国产一区视频在线看| 欧美久久久久中文字幕| 亚洲精品写真福利| 成人黄色免费短视频| 久久久精品一品道一区| 亚洲超碰97人人做人人爱| 一本色道久久综合亚洲91| 欧美韩国日本一区| 国产成人在线免费观看| 精品国产伦一区二区三区观看体验 | 成人综合婷婷国产精品久久 | 久久99久久久欧美国产| 7777精品久久久大香线蕉| 亚洲综合无码一区二区| 99久久精品一区| 国产精品久久一级| caoporn国产精品| 国产精品不卡一区二区三区| 丁香婷婷综合激情五月色| 久久久精品欧美丰满| 青青青爽久久午夜综合久久午夜| 欧美色国产精品| 亚洲成在线观看| 3d成人h动漫网站入口| 日韩高清在线电影| 欧美色爱综合网| 久草中文综合在线| 色噜噜狠狠成人中文综合| 99精品国产视频| 本田岬高潮一区二区三区| 91看片淫黄大片一级在线观看| 国产成人精品综合在线观看| 国产成人高清在线| www.日韩在线| 成人黄色电影在线| 精品国产乱码久久| 亚洲二区在线观看| 欧美日韩卡一卡二| 激情小说欧美图片| 国产精品对白交换视频| 欧美日韩中字一区| 日韩激情在线观看| 久久精品亚洲国产奇米99| 97精品久久久久中文字幕| 天天爽夜夜爽夜夜爽精品视频| 色悠悠亚洲一区二区| 国产日韩综合av| 亚洲天堂av老司机| 国产激情一区二区三区四区| 成人精品小蝌蚪| av在线不卡免费看| 欧美性xxxxxx少妇| 亚洲黄色在线视频| 亚洲视频 欧洲视频| 一区二区三区在线免费播放| 国产黄色精品网站| 2021国产精品久久精品| 日韩二区三区四区| 日韩精品一区二区三区中文不卡| 五月婷婷激情综合网| 欧洲亚洲国产日韩| 亚洲国产精品自拍| 精品乱人伦一区二区三区| 91老师片黄在线观看| 在线精品观看国产| 国产精品久久久久久久久搜平片 | 日本一区二区不卡视频| 91久久国产综合久久| 男女性色大片免费观看一区二区 | 成人av电影在线网| 久久精品国产一区二区| 一区二区三区免费| 国产欧美日本一区二区三区| 欧美日本一道本在线视频| 国产成人av一区二区三区在线| 亚洲第一精品在线| 亚洲欧美中日韩| 久久久精品国产免费观看同学| 欧美日韩一区二区在线观看| 粉嫩欧美一区二区三区高清影视| 视频在线观看一区| 樱桃国产成人精品视频| 国产精品久久久久一区二区三区 | 一区二区三区电影在线播| 国产亚洲成aⅴ人片在线观看 | 亚洲欧美一区二区三区国产精品| 久久综合五月天婷婷伊人| 欧美日韩国产成人在线91| 色8久久人人97超碰香蕉987| av高清久久久| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 一本一道久久a久久精品| 国产sm精品调教视频网站| 国产伦精一区二区三区| 国产尤物一区二区| 国产精品一区二区三区网站| 国模娜娜一区二区三区| 国产一区二区三区观看| 狠狠色丁香久久婷婷综合丁香| 久久国产精品72免费观看| 久久99精品一区二区三区三区| 久久成人久久鬼色| 精品一区二区综合| 国产美女在线精品| 国产丶欧美丶日本不卡视频| 国产成人免费在线观看不卡| 高清不卡在线观看| 99精品国产99久久久久久白柏 | 7777女厕盗摄久久久| 91精品国产综合久久久久久漫画| 欧美人狂配大交3d怪物一区| 欧美一级片在线观看| 日韩午夜激情免费电影| 日韩精品一区二区三区视频播放 | 中文字幕佐山爱一区二区免费| 中文字幕日本不卡| 亚洲在线中文字幕| 精品影视av免费| 白白色亚洲国产精品| 欧美写真视频网站| 精品三级在线看| 国产精品九色蝌蚪自拍| 亚洲图片有声小说| 久久99热国产| 91最新地址在线播放| 欧美欧美午夜aⅴ在线观看| 欧美不卡在线视频| 国产精品国产自产拍高清av| 性做久久久久久久久| 国产精品中文字幕欧美| 色综合久久久久久久久| 日韩女优制服丝袜电影| 国产精品久久久久久久久免费丝袜 | 久久久久久一级片| 亚洲黄色小视频| 国产一区啦啦啦在线观看| 91网上在线视频| 欧美videos大乳护士334| 亚洲欧美影音先锋| 狠狠色丁香婷婷综合久久片| 欧美自拍丝袜亚洲| 日本一区二区三区久久久久久久久不| 亚洲综合在线第一页| 狠狠色丁香婷综合久久| 欧美日韩一级片在线观看| 国产欧美精品日韩区二区麻豆天美 | 国产一区二区三区四区五区入口 | 91啪亚洲精品| 久久免费午夜影院| 午夜精品123| 99久久精品国产网站| 精品久久久久久久一区二区蜜臀| 亚洲欧洲精品成人久久奇米网| 日本成人超碰在线观看| 91理论电影在线观看| 欧美激情在线一区二区| 美女一区二区视频| 欧美日韩视频专区在线播放| 亚洲视频资源在线| 国产电影一区二区三区| 2020国产成人综合网| 奇米影视7777精品一区二区| 91福利在线播放| 中文字幕在线不卡一区| 国产成人精品免费视频网站| 2024国产精品视频| 美女www一区二区| 欧美精品日日鲁夜夜添| 亚洲一二三级电影| 色综合久久88色综合天天6| 国产免费久久精品| 成人一区在线观看| 久久精品视频一区| 国产美女主播视频一区| 久久久国产午夜精品| 激情综合网av| 26uuu精品一区二区在线观看| 日本美女一区二区三区视频| 在线成人小视频| 日韩二区三区四区| 欧美一区中文字幕| 久久国产精品免费|