亚洲欧美第一页_禁久久精品乱码_粉嫩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精品| 久久九九久精品国产免费直播| 色呦呦一区二区三区| 成人精品鲁一区一区二区| 国产一区二区在线免费观看| 久久99精品久久久久久久久久久久 | 视频一区二区中文字幕| 亚洲国产美女搞黄色| 亚洲精品欧美专区| 亚洲一级二级三级在线免费观看| 亚洲精品写真福利| 天涯成人国产亚洲精品一区av| 亚洲gay无套男同| 美女国产一区二区三区| 国内精品嫩模私拍在线| 成人福利在线看| 日本道精品一区二区三区| 欧美妇女性影城| 精品国产制服丝袜高跟| 国产精品美女久久久久aⅴ | 欧美一区二区三区视频免费 | 在线亚洲免费视频| 51午夜精品国产| 欧美激情在线一区二区| 国产欧美日韩亚州综合| 1024亚洲合集| 麻豆久久久久久| 99久久婷婷国产综合精品| 666欧美在线视频| 亚洲另类春色校园小说| 玖玖九九国产精品| 日本道免费精品一区二区三区| 日韩精品一区二区三区视频在线观看 | 久久精品国产澳门| 99久久婷婷国产综合精品 | 国产夜色精品一区二区av| 香蕉久久夜色精品国产使用方法 | 亚洲v中文字幕| 9久草视频在线视频精品| 欧美电影免费观看高清完整版在线 | 亚洲国产精品精华液2区45| 亚洲国产欧美另类丝袜| 波波电影院一区二区三区| 日韩欧美在线一区二区三区| 一区二区成人在线| 97成人超碰视| 青青草伊人久久| 日韩美女主播在线视频一区二区三区 | 91丨九色丨国产丨porny| 久久综合中文字幕| 国产成人精品综合在线观看| 26uuu国产日韩综合| 久久99国产精品久久| 欧美三级视频在线观看| 亚洲电影在线播放| 91精品国产色综合久久ai换脸| 一区二区三区欧美| 在线观看视频一区二区 | 亚洲视频一二三区| 色综合天天综合在线视频| 亚洲人成在线观看一区二区| 99久久亚洲一区二区三区青草| 国产欧美日韩另类一区| kk眼镜猥琐国模调教系列一区二区| 国产精品国产自产拍在线| 99re这里只有精品6| 亚洲一区二区三区四区在线| 欧美日韩高清影院| 久久99久久精品| 亚洲欧洲无码一区二区三区| 色哟哟精品一区| 日本va欧美va精品| 久久久久久久久久久久久夜| 99视频有精品| 蜜桃一区二区三区在线| www日韩大片| 欧美午夜不卡视频| 韩国理伦片一区二区三区在线播放 | 欧美亚洲一区二区在线观看| 蜜臀av一级做a爰片久久| 国产精品另类一区| 欧美一区二区网站| 99热99精品| 韩国v欧美v日本v亚洲v| 亚洲在线视频网站| 欧美韩国日本综合| 日韩欧美电影一二三| 色又黄又爽网站www久久| 欧美精品一级二级| 91电影在线观看| 成人午夜又粗又硬又大| 日本特黄久久久高潮| 亚洲另类色综合网站| 久久综合九色综合欧美就去吻| 欧美在线不卡一区| 色香蕉久久蜜桃| 99这里只有久久精品视频| 国产一区视频导航| 久久精品久久精品| 老司机精品视频线观看86| 亚洲一区二区av在线| 亚洲欧洲成人自拍| 亚洲欧美日韩综合aⅴ视频| 国产精品视频第一区| 久久嫩草精品久久久久| 国产欧美一区二区精品忘忧草| 精品国产一区二区精华| 欧美一级专区免费大片| 欧美电影免费观看高清完整版 | 成人av在线影院| 91麻豆产精品久久久久久| 色综合一区二区三区| 色狠狠av一区二区三区| 欧美在线free| 日韩一区二区免费电影| 精品国产乱子伦一区| 国产精品全国免费观看高清| 亚洲精品免费一二三区| 亚洲6080在线| 激情小说亚洲一区| 成人丝袜视频网| 欧美午夜精品久久久久久超碰| 日韩一区二区在线看片| 国产亚洲欧洲997久久综合| 日韩伦理电影网| 欧美aaaaaa午夜精品| 国产凹凸在线观看一区二区| 色婷婷激情一区二区三区| 91精品国产色综合久久久蜜香臀| 国产精品理论片在线观看| 夜夜嗨av一区二区三区四季av| 久久电影网电视剧免费观看| 懂色av中文一区二区三区| 欧美色大人视频| 国产精品久久久久久久久免费桃花| 亚州成人在线电影| 91在线视频免费91| 精品久久久久久久久久久久久久久久久 | 国产成人午夜精品5599| 欧美女孩性生活视频| 自拍偷拍亚洲欧美日韩| 激情六月婷婷综合| 日韩欧美在线综合网| 亚洲妇熟xx妇色黄| 91激情五月电影| 中文字幕精品—区二区四季| 久久99国产精品尤物| 911精品国产一区二区在线| 亚洲一区在线视频观看| 91农村精品一区二区在线| 国产午夜精品久久久久久免费视| 日本一不卡视频| 欧美视频中文字幕| 亚洲综合色网站| 欧洲人成人精品| 亚洲精选免费视频| 91亚洲精华国产精华精华液| 国产精品入口麻豆九色| 成人综合婷婷国产精品久久 | 亚洲欧洲综合另类| 97久久久精品综合88久久| 亚洲图片另类小说| 欧美在线观看一区二区| 亚洲bt欧美bt精品777| 91精品国产综合久久香蕉的特点 | 婷婷国产在线综合| 欧美精品久久久久久久多人混战 | 日韩精品一区在线| 成人毛片老司机大片| 日韩美女视频一区二区 | 欧美一级在线视频| 国产成人免费高清| 亚洲欧美日韩中文播放| 91精品久久久久久久91蜜桃| 国产自产高清不卡| 国产精品美女久久久久久久久久久| 色综合久久久久网| 美女一区二区久久| 国产精品另类一区| 欧美日韩精品系列| 国产福利一区在线| 亚洲美女免费视频| 精品久久国产97色综合| 欧洲国内综合视频| 国产麻豆视频一区二区| 亚洲一区视频在线| 国产日韩欧美精品一区| 8v天堂国产在线一区二区| 成人一级视频在线观看| 亚洲成av人在线观看| 国产欧美一区在线| 欧美大片日本大片免费观看| 色先锋久久av资源部| 国产成人精品免费| 六月丁香婷婷久久| 亚洲超碰精品一区二区| 中文字幕亚洲精品在线观看| 欧美mv和日韩mv国产网站| 欧美三级中文字幕在线观看|