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

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

?? sfx2.asm

?? 這是我碩士論文時的研究的一種高效的壓縮算法,有興趣的同行可以切磋一下
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
	call	close				;
	mov	ax, 4c01h			;
	int	21h				;
						;
;-----------------------------------------------;
;	get 'Y' or 'N'				;
;-----------------------------------------------;
	public	getyn				;
getyn	proc	near				;
	mov	bx, offset yesno		; prompt
	call	mesout				;
$_58:
		mov	ah, 08h			;
		int	21h			;
		and	al, 0dfh		;
	cmp al, 'Y'
	jE $_60
	cmp al, 'N'
	jNE $_58
$_59:
$_60:
	mov	bx, offset mes_yn		;
	mov	cs:[bx], al			;
	call	mesout				;
	cmp	al, 'Y'				;
	ret					;
getyn	endp					;
;-----------------------------------------------;
;	僶僢僼傽偺弌椡				;
;-----------------------------------------------;
	public	putbuf				;
putbuf	proc	near				;
	mov	dx, offset text_buf		;
	mov	cx, di				;
	mov	bx, outfile			;
	mov	ah, 40h				; write to file
	int	21h				;
	jc	errwrite			;
	sub ax, cx
	jE $_61
		cmp	bx, 1			;
		jne	errwrite		;
$_61:
						;
	push	si				;
	mov	si, dx				;
	jcxz	putbuf9				;
	mov	ax, curcrc			;
$_62:
		xor	al, [si]		;
		inc	si			;
		mov	bl, al			; crc & 0xff
		xor	bh, bh			;
		mov	al, ah			; crc >> 8
		xor	ah, ah			;
		shl	bx, 1			;
		xor	ax, crctbl[bx]		;
	LOOP $_62
$_63:
	mov	curcrc, ax			;
putbuf9:					;
	pop	si				;
	cmp	outfile, 1			;
	je	return				;
	mov	ah, 02h				;
	mov	dl, '.'				;
	jmp	short int21_ret			; int	21h
						; ret
putbuf	endp					;
						;
;-----------------------------------------------;
;	偦偺傑傑弌椡				;
;-----------------------------------------------;
	public	copyall				;
copyall	proc	near				;
	xor	di, di				;
$_64:
		mov	bx, offset DGROUP:cpyhdr.OrgSiz
		sub	[bx], di		;
		sbb	word ptr 2[bx], 0	;
		mov	cx, N			;
		jNE $_67
			mov	ax, [bx]	;
			or	ax, ax		;
			jz	cpyend		;
		cmp ax, cx
		jAE $_67
			mov	cx, ax		;
$_67:
						;
		mov	dx, offset DGROUP:text_buf
		mov	bx, infile		;
		mov	ah, 3fh			;
		int	21h			;
		mov	di, cx			;
		call	putbuf			;
	jmp $_64
$_66:
$_65:
cpyend:						;
	ret					;
copyall	endp					;
						;
;-----------------------------------------------;
;	僼傽僀儖偺 close			;
;-----------------------------------------------;
	public	close				;
close	proc	near				;
	mov	ah, 3eh				;
	jmp	short int21_ret			; int	21h
						; ret
close	endp					;
						;
;-----------------------------------------------;
;	僼傽僀儖偺嶍彍				;
;-----------------------------------------------;
	public	unlink				;
unlink	proc	near				;
	mov	dx, fnptr			;
	mov	ah, 41h				; unlink
int21_ret:					;
	int	21h				;
return:						;
	ret					;
unlink	endp					;
						;
;-----------------------------------------------;
;	buffer 擖椡				;
;-----------------------------------------------;
	public	getbuf				;
getbuf	proc	near				;
	push	ax				;
	push	bx				;
	push	cx				;
	push	dx				;
	mov	bx, infile			;
	mov	dx, offset DGROUP:inpbuf	;
	mov	cx, BufSiz			;
	cmp DGROUP:cpyhdr.PacSiz + 2, 0
	jNE $_68
	cmp cx, DGROUP:cpyhdr.PacSiz
	jBE $_68
		mov	cx, DGROUP:cpyhdr.PacSiz;
$_68:
	sub	DGROUP:cpyhdr.PacSiz, cx	;
	sbb	DGROUP:cpyhdr.PacSiz + 2, 0	;
	mov	ah, 3fh				;
	int	21h				; Read from an Archive
	mov	inpptr, dx			;
	pop	dx				;
	pop	cx				;
	pop	bx				;
	pop	ax				;
	ret					;
getbuf	endp					;
						;
;-----------------------------------------------;
;	儊僢僙乕僕偺弌椡			;
;-----------------------------------------------;
	public	mesout				;
mesout	proc	near				;
	push	ds				;
	push	ax				;
	push	dx				;
	push	cs				;
	pop	ds				;
	call	dispent				;
	pop	dx				;
	pop	ax				;
	pop	ds				;
	ret					;
mesout	endp					;
						;
;-----------------------------------------------;
;	栘峔憿偺嵞峔抸				;
;-----------------------------------------------;
	public	reconst				;
reconst	proc	near				;
	push	si				;
						;
	xor	si, si				;
	mov	di, si				;
$_69:
		mov	bx, son[si]		;
		lodsw				; freq[si]
		cmp bx, bp
		jB $_71
			inc	ax		;
			shr	ax, 1		;
			mov	son[di], bx	;
			stosw			; mov	freq[di], ax
						; add	di, 2
$_71:
	cmp si, bp
	jB $_69
$_70:
	xor	si, si				;
$_72:
		push	si			;
		lodsw				; freq[si]
		add	ax, [si]		; freq[bx]
		mov	[di], ax		; freq[di], ax
						;
		mov	bx, di			;
$_74:
			dec	bx		;
			dec	bx		;
		cmp ax, [bx]
		jB $_74
$_75:
		inc	bx			;
		inc	bx			;
						;
		push	ax			;
		push	di			;
		std				;
		jmp	short rc1		;
$_76:
			mov	ax, [di - 2]	; freq[di - 2]
			mov	cx, son[di - 2]	;
			mov	son[di], cx	;
			stosw			; freq[di], ax
rc1:						;
		cmp di, bx
		jA $_76
$_77:
		cld				;
		pop	di			;
		pop	[bx]			; freq[bx]
		pop	son[bx]			;
						;
		lodsw				; add	si, 2
		scasw				; add	di, 2
	cmp di, bp
	jB $_72
$_73:
	xor	si, si				;
$_78:
		mov	di, son[si]		;
		mov	prnt[di], si		;
		cmp di, bp
		jAE $_80
			mov	prnt[di + 2], si;
$_80:
		lodsw				; add	si, 2
	cmp si, bp
	jB $_78
$_79:
						;
	pop	si				;
	ret					;
reconst	endp					;
						;
;-----------------------------------------------;
;	栘峔憿偺峏怴				;
;-----------------------------------------------;
;	si : prnt[c + T]			;
;-----------------------------------------------;
	public	update				;
update	proc	near				;
	or freq[R * 2], 0
	jNS $_81
		call	near ptr reconst	;
$_81:
	mov	si, ds:prnt[si + bp]		;
$_82:
		mov	di, si			; lea	di, freq[si]
		mov	ax, [di]		;
		scasw	; inc	di		;
			; inc	di		;
		scasw
		jNE $_84
			mov	cx, 0ffffh	; must large enough
			repe	scasw		;
			sub	di, 4		; offset freq + 4
						;
			mov	bx, son[si]	;
			mov	prnt[bx], di	;
			cmp bx, bp
			jAE $_85
				mov	prnt[bx + 2], di
$_85:
			xchg	bx, son[di]	;
			mov	prnt[bx], si	;
			cmp bx, bp
			jAE $_86
				mov	prnt[bx + 2], si
$_86:
			mov	son[si], bx	;
						;
			mov	si, di		;
$_84:
		inc	word ptr [si]		; freq[si]
		mov	si, prnt[si]		;
	or si, si
	jNZ $_82
$_83:
	ret					;
update	endp					;
						;
;-----------------------------------------------;
;	俫倀俥偺夝撉				;
;-----------------------------------------------;
		public	DecodeChar		;
DecodeChar	proc	near			;
	push	bp				;
	mov	bp, T * 2			;
	mov	si, son[R * 2]			;
	mov	dx, DGROUP:iobuf		;
	mov	cl, DGROUP:iolen		;
	xor	ch, ch				;
$_87:
		jcxz	getword			;
dc2:						;
		shr	si, 1			;
		shl	dx, 1			;
		adc	si, 0			;
		shl	si, 1			;
		mov	si, son[si]		;
		dec	cx			;
	cmp si, bp
	jB $_87
$_88:
	mov	DGROUP:iobuf, dx		;
	mov	DGROUP:iolen, cl		;
	sub	si, bp				;
	push	si				;
	call	near ptr update			;
	pop	ax				;
	shr	ax, 1				;
	pop	bp				;
	ret					;
DecodeChar	endp				;
						;
	public	getword				;
getword:					;
	call	getc				;
	mov	dh, al				;
	call	getc				;
	mov	dl, al				;
	mov	cl, 16				;
	jmp	short dc2			;
						;
;-----------------------------------------------;
;	getc					;
;	    ax: 1 byte (return)			;
;-----------------------------------------------;
	public	getc				;
getc	proc	near				;
	cmp inpptr, offset inpbuf + BufSiz
	jB $_89
		call	getbuf			;
$_89:
	mov	bx, inpptr			;
	mov	al, [bx]			;
	inc	inpptr				;
	xor	ah, ah				;
	ret					;
getc	endp					;
						;
;-----------------------------------------------;
;	擖椡偐傜値價僢僩傪摼傞			;
;-----------------------------------------------;
;	cl : n bits				;
;-----------------------------------------------;
		public	GetNBits		;
GetNBits	proc	near			;
	push	cx				;
	mov	dx, DGROUP:iobuf		;
	cmp iolen, 8
	jG $_90
		call	getc			;
		mov	cl, 8			;
		sub	cl, DGROUP:iolen	;
		shl	ax, cl			;
		or	dx, ax			;
		add	DGROUP:iolen, 8		;
$_90:
	pop	cx				;
	mov	ax, dx				;
	shl	dx, cl				;
	mov	DGROUP:iobuf, dx		;
	sub	DGROUP:iolen, cl		;
	mov	dx, -1				;
	shr	dx, cl				;
	not	dx				;
	and	ax, dx				;
	ret					;
GetNBits	endp				;
						;
;-----------------------------------------------;
;	埵抲忣曬偺夝撉				;
;-----------------------------------------------;
		public	DecodePosition		;
DecodePosition	proc	near			;
	mov	cx, 8				;
	call	near ptr GetNBits		;
	xchg	al, ah				;
	mov	si, ax				;
	mov	dl, d_code[si]			;
	mov	dh, 0				;
	mov	cl, 6				;
	shl	dx, cl				;
	push	dx				;
	mov	cl, d_len[si]			; ch == 0
	call	near ptr GetNBits		;
	or	ax, si				;
	rol	ax, cl				;
	and	ax, 003fh			;
	pop	dx				;
	add	ax, dx				;
	ret					;
DecodePosition	endp				;
						;
;-----------------------------------------------;
;	Decode					;
;-----------------------------------------------;
	public	Decode				;
Decode	proc	near				;
	mov	si, offset DGROUP:cpyhdr.OrgSiz	;
	lodsw					;
	or	ax, [si]			;
	jNZ $_91
		jmp	de9			;
$_91:
	push	ds				;
	pop	es				;
;---------------------------------------	;
;  俫倀俥梡偺栘峔憿偺弶婜壔			;
;---------------------------------------	;
	public	StartHuff			;
StartHuff:					;
	mov	ax, 1				;
	mov	cx, N_CHAR			;
	push	cx				;
	xor	di, di				; mov	di, offset DGROUP:freq
	rep	stosw				;
	mov	ax, T * 2			;
	xor	dx, dx				;
	pop	cx				;
	mov	di, offset DGROUP:son		;
	mov	bx, offset DGROUP:prnt[T * 2]	;
$_92:
		stosw				;
		inc	ax			; add	ax, 2
		inc	ax			;
		mov	[bx], dx		;
		inc	bx			; add	bx, 2
		inc	bx			;
		inc	dx			; add	dx, 2
		inc	dx			;
	LOOP $_92
$_93:
						;
	xor	si, si				;
	mov	di, N_CHAR * 2			;
	mov	cx, N_CHAR - 1			;
$_94:
		mov	son[di], si		;
		mov	prnt[si], di		;
		lodsw				; mov	ax, freq[si]
		add	ax, [si]		; add	ax, freq[si + 2]
		mov	prnt[si], di		;
		stosw				; mov	freq[di], ax
		lodsw				;
	LOOP $_94
$_95:
	xor	ax, ax				;
	mov	iobuf, ax			;
;	mov	iolen, al			;
	mov	DGROUP:prnt[R * 2], ax		; prnt[R * 2], 0
	dec	ax				;
	mov	[di], ax			; freq[T * 2], -1
;---------------------------------------	;
						;
	mov	al, 20h				;
	mov	cx, F				;
	mov	di, offset DGROUP:text_buf + N - F
	rep	stosb				;
						;
	xor	di, di				;
	mov	bp, N - 1			;
$_96:
		push	di			;
		call	near ptr DecodeChar	;
;		$_if				;
		or	ah, ah			;
		jnz	de1			;
			pop	di		;
			mov	cx, 1		;
			push	cx		;
			jmp	short de2	;
;		$_else				;
de1:						;
			push	ax		;
			call	near ptr DecodePosition
			pop	cx		;
			pop	di		;
			mov	si, di		;
			sub	si, ax		;
			dec	si		;
			and	si, bp		;
			sub	cx, 255 - THRESHOLD
			push	cx		;
$_98:
				mov	al, DGROUP:text_buf[si]
				inc	si	;
				and	si, bp	;
de2:						;
				mov	DGROUP:text_buf[di], al
				inc	di	;
				cmp di, bp
				jBE $_100
					push	cx
					call	putbuf
					pop	cx
$_100:
				and	di, bp	;
			LOOP $_98
$_99:
			pop	cx		;
;		$_elseif			;
		mov	bx, offset DGROUP:cpyhdr.OrgSiz
		sub	[bx], cx		;
		pushf				;
		sbb	word ptr 2[bx], 0	;
		pop	ax			;
		lahf				;
		and	ah, al			;
		sahf				;
	jG $_96
$_97:
	call	putbuf				;
de9:						;
	ret					;
Decode	endp					;
						;
;-----------------------------------------------;
;	is Japanese kanji char			;
;-----------------------------------------------;
	public	iskanji				;
iskanji	proc	near				;
	push	ax				;
	and	al, 0e0h			;
	cmp	al, 080h			;
	je	ik_ret				;
	cmp	al, 0e0h			;
ik_ret:						;
	pop	ax				;
	ret					;
iskanji	endp					;
						;
;-----------------------------------------------;
;	is delimiter of path-name		;
;-----------------------------------------------;
	public	isdelim				;
	public	isdelim2			;
isdelim proc	near				;
	cmp	al, ':'				;
	je	id_ret				;
isdelim2:					;
	cmp	al, '\'				;
	je	id_ret				;
	cmp	al, '/'				;
id_ret:						;
	ret					;
isdelim endp					;
						;
;-----------------------------------------------;
;	is spacing char				;
;-----------------------------------------------;
	public	isspace				;
isspace proc	near				;
	cmp	al, 0dh				;
	je	is_ret				;
	cmp	al, 09h				;
	je	is_ret				;
	cmp	al, ' '				;
is_ret:						;
	ret					;
isspace endp					;
						;
;-----------------------------------------------;
;	transfer from cmd-line			;
;-----------------------------------------------;
	public	trans				;
	public	trans_t				;
trans	proc	near				;
$_101:
		mov	ah, al			;
		stosb				;
		call iskanji
		jNZ $_103
			movsb			;
$_103:
trans_e:					;
		lodsb				;
trans_t:					;
	call isspace
	jNZ $_101
$_102:
	mov	byte ptr es:[di], 0		;
	ret					;
trans	endp					;
						;
;-----------------------------------------------;
;	display ASCIZ char			;
;-----------------------------------------------;
	public	disp				;
disp	proc	near				;
$_104:
		inc	bx			;
		mov	ah, 02h			;
		int	21h			;
dispent:					;
		mov	dl, [bx]		;
	or dl, dl
	jNZ $_104
$_105:
	ret					;
disp	endp					;
						;
	public	endofcode			;
endofcode:					;
_TEXT	ends					;
	end	start				;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产大片一区二区| 欧美精品一二三| 欧美日韩在线三级| 久久精品水蜜桃av综合天堂| 一区二区激情小说| 黑人精品欧美一区二区蜜桃| 欧美视频一区在线| 国产精品久久久久久久久晋中| 日韩高清一区在线| 日本高清不卡一区| 欧美激情一区二区三区蜜桃视频| 日韩精品久久理论片| 91美女视频网站| 欧美韩日一区二区三区| 九九**精品视频免费播放| 欧美性猛交xxxxxxxx| 亚洲欧洲日韩av| 岛国精品一区二区| 久久久久久久久岛国免费| 理论片日本一区| 777xxx欧美| 天天综合网 天天综合色| 色婷婷精品久久二区二区蜜臀av| 日本一区二区视频在线| 国产超碰在线一区| 久久久久9999亚洲精品| 精品一区在线看| 日韩视频在线你懂得| 免费精品视频在线| 日韩一区二区三区av| 日本成人中文字幕| 91精品国产欧美一区二区| 午夜电影一区二区| 91精品国产福利在线观看| 视频一区在线视频| 日韩欧美在线一区二区三区| 蜜臀va亚洲va欧美va天堂| 91精品国产免费| 裸体一区二区三区| 久久精品一区二区| 97久久精品人人澡人人爽| 亚洲色图视频网| 91福利国产精品| 亚洲gay无套男同| 日韩一级高清毛片| 国产乱子伦一区二区三区国色天香| ww亚洲ww在线观看国产| 高清不卡一二三区| 亚洲日本韩国一区| 欧美福利一区二区| 国产一区二区看久久| 国产精品麻豆视频| 欧美在线视频日韩| 极品销魂美女一区二区三区| 欧美国产视频在线| 欧美视频第二页| 久久疯狂做爰流白浆xx| 中文字幕的久久| 欧美日韩在线直播| 国产美女精品在线| 一区二区三区四区在线| 日韩精品专区在线影院重磅| 粉嫩av亚洲一区二区图片| 亚洲精品成人少妇| 日韩欧美不卡在线观看视频| 国产成人精品aa毛片| 亚洲影院免费观看| 久久毛片高清国产| 欧美日韩中文字幕一区二区| 国产一区二区三区免费播放| 亚洲精品中文在线影院| 精品国产免费一区二区三区四区 | 亚洲欧美在线视频| 91精品久久久久久久久99蜜臂| 国产精品一区二区黑丝| 亚洲一区日韩精品中文字幕| 欧美不卡一区二区三区| av网站一区二区三区| 青娱乐精品视频在线| 最新欧美精品一区二区三区| 91麻豆精品国产91久久久久久久久 | 亚洲综合色视频| 久久免费美女视频| 欧美精选在线播放| 91在线免费播放| 国产福利不卡视频| 免费亚洲电影在线| 亚洲综合清纯丝袜自拍| 日本一区二区三区四区在线视频| 欧美一区欧美二区| 欧美综合色免费| thepron国产精品| 国产一区二区三区高清播放| 日日骚欧美日韩| 亚洲午夜久久久久久久久久久| 国产片一区二区| 欧美大片日本大片免费观看| 欧美日韩一区 二区 三区 久久精品| 成人自拍视频在线| 国产美女一区二区三区| 蜜臀av性久久久久av蜜臀妖精| 亚洲永久免费av| 亚洲自拍偷拍欧美| 亚洲免费观看在线视频| 国产精品久久毛片av大全日韩| 久久免费视频色| 久久亚洲精品国产精品紫薇| 日韩一区二区视频| 日韩欧美中文一区二区| 欧美一区二区三区成人| 欧美日韩国产123区| 欧美在线影院一区二区| 色综合色综合色综合色综合色综合| 国产成人亚洲精品青草天美 | 日韩网站在线看片你懂的| 欧美精品tushy高清| 欧美日韩日日骚| 69堂亚洲精品首页| 在线播放中文一区| 日韩欧美视频在线| 精品国产伦一区二区三区免费| 欧美草草影院在线视频| 久久一区二区视频| 国产三区在线成人av| 国产精品乱人伦一区二区| 国产精品理论在线观看| 亚洲免费电影在线| 一区二区三区欧美| 爽爽淫人综合网网站| 麻豆91精品视频| 国产成人精品免费| 色狠狠av一区二区三区| 欧美日韩在线三级| 精品久久久网站| 国产免费成人在线视频| 亚洲人成亚洲人成在线观看图片| 樱桃视频在线观看一区| 日本不卡视频一二三区| 国产在线国偷精品产拍免费yy | 国产婷婷色一区二区三区| 国产精品天干天干在线综合| 成人免费一区二区三区在线观看| 亚洲精品免费看| 日本欧美一区二区在线观看| 国产一区二区成人久久免费影院 | 欧美激情在线一区二区| 亚洲免费av网站| 另类小说色综合网站| 9i在线看片成人免费| 欧美精品aⅴ在线视频| 国产亚洲欧美中文| 亚洲mv在线观看| av在线播放不卡| 日韩欧美中文一区| 亚洲精品视频在线观看网站| 日本成人在线不卡视频| 成人短视频下载| 欧美一区二区三区在线观看 | 99精品视频一区二区三区| 欧美人与性动xxxx| 国产精品乱码久久久久久| 午夜激情久久久| 99这里只有久久精品视频| 欧美成人性战久久| 一区二区激情小说| 丰满岳乱妇一区二区三区| 欧美精品视频www在线观看| 中文字幕av一区二区三区免费看| 偷拍一区二区三区| 成人aa视频在线观看| 精品国产免费人成电影在线观看四季| 亚洲精品乱码久久久久| 国产成人免费视| 精品少妇一区二区三区视频免付费 | 中文字幕在线一区二区三区| 琪琪一区二区三区| 91捆绑美女网站| 午夜精品在线看| 99v久久综合狠狠综合久久| 日韩美女在线视频| 日韩av一区二区三区| 在线国产亚洲欧美| 久久久精品国产免费观看同学| 日本麻豆一区二区三区视频| 在线免费一区三区| 亚洲美女屁股眼交3| 成人午夜av在线| 国产视频一区二区在线| 久久疯狂做爰流白浆xx| 日韩欧美在线1卡| 日韩一区精品视频| 欧美精品xxxxbbbb| 日韩成人免费在线| 欧美另类z0zxhd电影| 亚洲高清一区二区三区| 在线观看av不卡| 亚欧色一区w666天堂| 欧美日韩视频第一区| 日韩电影在线一区二区三区| 欧美日韩精品欧美日韩精品一综合|