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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? sfx2.asm

?? 這是我碩士論文時(shí)的研究的一種高效的壓縮算法,有興趣的同行可以切磋一下
?? ASM
?? 第 1 頁 / 共 2 頁
字號(hào):
page	66, 120					;
;$_init						;
;***********************************************;
;       LHarc version 1.13 (c) Yoshi 1988-89.	;
;       self-extract module : 1989/ 5/ 4	;
;						;
; HTAB = 8					;
;***********************************************;
						;
_TEXT	segment	byte public 'CODE'		;
_TEXT	ends					;
						;
DGROUP	group	_BSS				;
	assume	cs:_TEXT, ds:DGROUP		;
						;
		public	THRESHOLD, F, N_CHAR, T	;
THRESHOLD	equ	2			;
F		equ	60			;
N_CHAR		equ	(256 - THRESHOLD + F)	;
T		equ	(N_CHAR * 2 - 1)	;
R		equ	(T - 1)			;
N		equ	1000h			;
MAX_FREQ	equ	8000h			;
CRC16		equ	0a001h			;
BufSiz		equ	04000h			;
						;
LzHead	struc					;
	HeadSiz	db	?			;
	HeadChk	db	?			;
	HeadID	db	3 dup (?)		;
	Method	db	?			;
		db	?			;
	PacSiz	dw	2 dup (?)		;
	OrgSiz	dw	2 dup (?)		;
	FTime	dw	?			;
	FDate	dw	?			;
	FAttr	dw	?			;
	FnLen	db	?			;
	Fname	db	80h dup (?)		;
LzHead	ends					;
						;
_BSS	segment	para public 'BSS'		;
	public	freq, prnt, son			;
	public	d_len, d_code			;
	public	crctbl				;
	public	cpyhdr, infile, outfile		;
	public	inpptr				;
	public	curcrc, iobuf, iolen, crcflg, orgcrc
	public	myname, keyword, keyword2, keycnt
	public	param, pathname, fnnext, swchar	;
						;
freq		dw	(T + 1) dup (?)		;
prnt		dw	(T + N_CHAR) dup (?)	;
son		dw	T dup (?)		;
d_len		db	100h dup (?)		;
d_code		db	100h dup (?)		;
crctbl		dw	100h dup (?)		;
text_buf	db	N dup (?)		;
inpbuf		db	BufSiz dup (?)		;
inpptr		dw	1 dup (?)		;
cpyhdr		LzHead	1 dup (<?>)		;
infile		dw	1 dup (?)		;
outfile		dw	1 dup (?)		;
orgcrc		dw	1 dup (?)		;
curcrc		dw	1 dup (?)		;
iobuf		dw	1 dup (?)		;
crcflg		db	1 dup (?)		;
iolen		db	1 dup (?)		;
myname		db	80h dup (?)		;
keyword		db	80h dup (?)		;
keyword2	db	80h dup (?)		;
param		dw	20 dup (?)		;
pathname	db	80h dup (?)		;
fnnext		dw	1 dup (?)		;
fnptr		dw	1 dup (?)		;
swchar		db	1 dup (?)		;
endBBS		label	byte			;
_BSS		ends				;
						;
_TEXT	segment	byte public 'CODE'		;
	assume	cs:_TEXT			;
						;
	org	0100h				;
						;
	public	start, main			;
	public	BSSseg				;
	public	cright, chglen, crlf, space	;
	public	absent, myself, broken, extend	;
start:						;
	jmp	main				;
						;
BSSseg	=	(endofcode - start + 10fh) / 10h;
mes_yn	equ	space - 1			;
space	db	' ', 0				;
cright	db	"LHarc's SFX 1.13L (c)Yoshi, 1989."
	db	13, 10, 10, 0			;
absent	db	'Rename to '			;
myself	db	'            ', 0		;
chglen	db	01h, 04h, 0ch, 18h, 30h		; next byte must not be 3?h
overwt	db	'Overwrite ', 0			;
yesno	db	'[Y/N] ', 0			;
broken	db	'Broken file ', 0		;
write	db	'Write', 0			;
header	db	'Header', 0			;
crcmes	db	'CRC'				;
error	db	' Error'			;
crlf	db	13, 10, 0			;
auto	db	8, 'AUTOLARC'			;
autoflg	db	'.'				;
	db	'BAT'				;
extend	db	0				;
attrib	db	0				;
keycnt	dw	0				;
						;
envseg	=	002ch				;
cmdcnt	=	0080h				;
cmdline	=	0081h				;
						;
;-----------------------------------------------;
;	儊僀儞儖乕僠儞				;
;-----------------------------------------------;
main:						;
	cld					;
	mov	sp, offset start		;
	mov	bx, offset cright		;
	call	mesout				;
	mov	ax, cs				;
	add	ax, BSSseg			;
	mov	es, ax				;
						;
	assume	es:DGROUP			;
;-----------------------------------------------;
;	Get options				;
;-----------------------------------------------;
	public	getopt				;
getopt:						;
	mov	ax, 3700h			;
	int	21h				; get switch char
	mov	si, cmdline			;
	mov	es:swchar, dl			;
						;
	mov	es:fnnext, offset DGROUP:pathname
$_1:
	    lodsb				;
	    call isspace
	    jE $_3
		cmp al, es:swchar
		jE $_4
		cmp al, '-'
		jNE $_5
$_4:
lp0:						;
		    lodsb			;
		    call isspace
		    jE $_6
			cmp al, 'e'
			jNE $_8
			    lodsb		;
			    mov	    di, offset DGROUP:pathname
			    mov	    ah, '\'	;
			    call    trans_t	;
			    mov	    al, ah	;
			    call isdelim2
			    jE $_9
				mov	al, '\'	;
				stosb		;
$_9:
			    mov	    es:fnnext, di
			    dec	    si		;
			    jmp short $_7
$_8:
			cmp al, 'x'
			jNE $_10
			    inc	    cs:extend	;
			    jmp short $_7
$_10:
			cmp al, 'a'
			jNE $_11
			    inc	    cs:attrib	;
$_11:
$_7:
			jmp	lp0		;
$_6:
		jmp short $_12
$_5:
		    mov	    di, offset DGROUP:keyword
		    mov	    dx, di		;
		    call    trans		;
		    sub	    di, dx		;
		    mov	    cs:keycnt, di	;
$_12:
lp1:						;
$_3:
	cmp al, 0dh
	jNE $_1
$_2:
						;
public	mnlp1					;
mnlp1:						;
	push	es				;
	pop	ds				;
						;
	assume	ds:DGROUP			;
;-----------------------------------------------;
;	Get my name				;
;-----------------------------------------------;
	mov	ah, 30h				;
	int	21h				; get DOS ver.
	push	ds				;
	cmp al, 3
	jB $_13
		mov	ax, cs:[envseg]		;
		mov	es, ax			;
		xor	ax, ax			;
		mov	di, ax			;
		mov	cx, -1			;
$_14:
			repne	scasb		;
			scasb			;
		jNE $_14
$_15:
		inc	ax			;
		scasw				;
		push	es			;
		pop	ds			;
		mov	dx, di			;
		je	openme			;
	jmp short $_16
$_13:
		mov	ax, cs:[0002h]		;
		sub	ax, 38h			;
		mov	ds, ax			;
		mov	dx, 0009h		;
		jmp	short openme		;
$_16:
brknenv:					;
	push	cs				;
	pop	ds				;
	mov	dx, offset myself		;
openme:						;
	mov	ax, 3d00h			;
	int	21h				; Open Myself
	jNC $_17
		cmp	dx, offset myself	;
		jne	brknenv			;
		mov	bx, offset absent	;
		call	mesout			;
		mov	bx, offset crlf		;
		jmp	errout1			;
$_17:
	pop	ds				;
	mov	infile, ax			;
						;
	mov	bx, ax				;
	xor	cx, cx				;
exehdr	=	20h				;
	mov	dx, (endofcode - start) + exehdr;
	mov	ax, 4200h			;
	int	21h				; Move a File Pointer
	jNC $_18
		mov	bx, offset broken	; Broken file
		jmp	errout			;
$_18:
	push	ds				;
	pop	es				;
;-----------------------------------------------;
;	Get Key-word from SFX-file		;
;-----------------------------------------------;
	mov	di, offset DGROUP:keyword2	;
	lea	dx, [di + 79]			;
	mov	si, dx				;
	mov	cx, 1				;
	mov	bx, infile			;
$_19:
		mov	[si], ch		; for error detect (ch = 0)
		mov	ah, 3fh			;
		int	21h			; Read 1 char
		mov	al, [si]		;
		stosb				;
	or al,al
	jNZ $_19
$_20:
;---------------------------------------	;
;	make CRC table				;
;---------------------------------------	;
	mov	di, offset crctbl		;
	xor	dx, dx				;
$_21:
		mov	ax, dx			;
		mov	cx, 8			;
$_23:
			shr ax, 1
			jNC $_25
				xor	ax, CRC16
$_25:
		LOOP $_23
$_24:
		stosw				;
	inc dl
	jNZ $_21
$_22:
;---------------------------------------	;
; make table for position			;
;---------------------------------------	;
	mov	si, offset _TEXT:chglen		;
	mov	di, offset DGROUP:d_len		;
	mov	ax, 1				; d_len = real length - 2
	mov	dx, 0020h			;
$_26:
		cmp ah, cs:[si]
		jNE $_28
			inc	al		;
			inc	si		;
			shr	dx, 1		;
$_28:
		mov	cx, dx			;
$_29:
			mov	[di + d_code - d_len], ah
			stosb			;
		LOOP $_29
$_30:
		inc	ah			;
	cmp ah, 040h
	jL $_26
$_27:
;---------------------------------------	;
						;
	public mainloop				;
mainloop:					;
$_31:
						;
; Get Header ---------------------------	;
		mov	DGROUP:cpyhdr.HeadSiz, 0;
		mov	bx, infile		;
		mov	cx, 1			;
		mov	dx, offset DGROUP:cpyhdr.HeadSiz
		mov	ah, 3fh			;
		int	21h			; Read header size
		dec	cx			; cx = 0
		add	cl, DGROUP:cpyhdr.HeadSiz
		jNZ $_34
			jmp	exit		;
$_34:
		inc	dx			;
		mov	si, dx			;
						;
		inc	cx			;
		mov	ah, 3fh			;
		int	21h			; Read header
						;
; Test Header Sum ----------------------	;
		lodsb				;
		mov	di, si			; cpyhdr.HeadID
		dec	cx			;
$_35:
			sub	al, [si]	;
			inc	si		;
		LOOP $_35
$_36:
		or	al, al			;
		jne	errhdr			;
		xchg	di, si			; di = end of cpyhdr
						;
; Test Header ID -----------------------	;
		lodsw				;
		cmp	ax, 'l-'		;
		jne	errhdr			;
		lodsw				;
		xchg	al, ah			;
		sub	ax, 'h0'		;
		mov	bp, ax			; bp = method
		cmp	ax, 0001h		;
		ja	errhdr			;
		lodsb				;
		cmp	al, '-'			;
		jE $_37
errhdr:						;
			mov	bx, offset header
			jmp	errout		;
$_37:
						;
; Get original CRC ---------------------	;
		mov	bx, offset DGROUP:cpyhdr.Fname
		mov	dx, bx			;
		mov	cl, [bx - 1]		; ch = 0
		add	bx, cx			;
						;
		mov	ax, [bx]		; may be CRC
		mov	orgcrc, ax		;
						;
		sub	di, bx			; bx  = end of Fname
		mov	word ptr crcflg, di	; if 2, crc supported.
						; iolen = 0 also.
						;
; Test Special File ? ------------------	;
		mov	ax, 1			;
		mov	fnptr, dx		;
		cmp	word ptr DGROUP:cpyhdr.FnLen, 2101h ; 01h, '!'
		jNE $_38
			jmp	mn7		;
$_38:
						;
		mov	si, dx			;
		mov	di, offset auto + 1	; AUTOLARC.BAT ?
		mov	cl, 12			; ch may be 0
		push	es			;
		push	cs			;
		pop	es			;
		rep	cmpsb			;
		pop	es			;
		je	mn2			;
						;
; -x switch ----------------------------	;
		mov	si, dx			;
		cmp cs:extend, 0
		jNE $_39
$_40:
				lodsb		;
				call isdelim2
				jNE $_43
					mov	dx, si
					jmp short $_42
$_43:
				call iskanji
				jNE $_44
					inc	si
$_44:
$_42:
			cmp si, bx
			jB $_40
$_41:
			mov	si, dx		;
$_39:
						;
; -eDIRECTORY --------------------------	;
		mov	al, [si]		;
		call isdelim2
		jE $_45
			mov	cx, bx		;
			sub	cx, dx		;
			mov	dx, offset DGROUP:pathname
			mov	di, fnnext	;
			rep	movsb		;
			mov	bx, di		;
		jmp short $_46
$_45:
			mov	ax, word ptr DGROUP:pathname
			cmp ah, ':'
			jNE $_47
				dec	dx	;
				dec	dx	;
				mov	di, dx	;
				mov	[di], ax; brakes FnLen and
$_47:
$_46:
		mov	fnptr, dx		;
		mov	cx, 1			;
						;
; Display File name --------------------	;
mn2:						;
		mov	word ptr [bx], 0 * 256 + ' '
		mov	bx, dx			;
		push	dx			;
		call	dispent			; output file name
		pop	dx			;
		mov	byte ptr [bx - 1], 0	;
						;
		jcxz	mn9			; AUTOLARC.BAT ?
						;
; Check Existence of File --------------	;
		mov	ax, 4300h		; get file attr
		int	21h			;   (for MS-DOS 3.3)
		jc	mn5			;
						;
		mov	bx, offset overwt	; prompt
		call	mesout			;
		call	getyn			;
		je	mn1			;
						;
; Skip to next File --------------------	;
		mov	dx, DGROUP:cpyhdr.PacSiz	; skip file
		mov	cx, DGROUP:cpyhdr.PacSiz + 2
						;
		mov	bx, infile		;
		mov	ax, 4201h		;
		int	21h			; Move a File Pointer
		jmp	mn6			;
mn9:						;
		mov	cs:autoflg, 0dh		;
						;
; Make Directories ---------------------	;
mn5:						;
		mov	si, dx			;
		lodsb				;
		jmp	short mn0		;
$_48:
			lodsb			;
			call isdelim2
			jNE $_50
				mov	byte ptr [si - 1], 0
				mov	ah, 39h	; make dir
				int	21h	;
				mov	byte ptr [si - 1], '\'
$_50:
mn0:						;
			call iskanji
			jNE $_51
				inc	si	;
$_51:
		cmp al, 0
		jNE $_48
$_49:
						;
; Create a New File --------------------	;
mn1:						;
		mov	cl, 20h			; ch may be 0
		mov	ah, 3ch			;
		int	21h			; Create a File
		jNC $_52
			jmp	errwrite	;
$_52:
						;
; Decode -------------------------------	;
mn7:						;
		mov	outfile, ax		;
						;
		mov	curcrc, 0		;
;		mov	iolen, 0		; already iolen = 0
		mov	inpptr, -1		;
						;
		push	dx			;
		or bp, bp
		jZ $_53
			call	Decode		;
		jmp short $_54
$_53:
			call	copyall		;
$_54:
		pop	si			;
						;
; Set Time-Stamp -----------------------	;
		mov	bx, outfile		;
		cmp	bx, 1			; file '!' ?
		je	mn8			;
						;
		mov	dx, DGROUP:cpyhdr.FDate	;
		mov	cx, DGROUP:cpyhdr.FTime	;
		mov	ax, 5701h		; set date
		int	21h			;
		mov	bx, outfile		;
		call	close			;
						;
; Check CRC ----------------------------	;
		mov	dx, si			;
		cmp crcflg, 2
		jNE $_55
			mov	ax, curcrc	;
			cmp	ax, orgcrc	;
			jne	errcrc		;
$_55:
						;
; Set File Attributes ------------------	;
		cmp attrib, 0
		jE $_56
			mov	cl, byte ptr DGROUP:cpyhdr.FAttr
			mov	ch, 0		;
			mov	ax, 4301h	;
			int	21h		; Set File Attributes
$_56:
		jmp	mn6			;
mn8:						;
		call	getyn			;
		jne	exit1			;
mn6:						;
		mov	bx, offset crlf		;
		call	mesout			;
	jmp $_31
$_33:
$_32:
	public	exit				;
exit:						;
	push	ds				;
	pop	es				;
	cmp cs:autoflg, 0dh
	jNE $_57
		mov	cx, keycnt		;
		jcxz	exit1			;
		inc	cx			;
		mov	si, offset DGROUP:keyword
		mov	di, offset DGROUP:keyword2
	repe cmpsb
	jNE $_57
		push	cs			;
		pop	es			;
		mov	bx, (offset resident - start + 100h + 15) / 16
		mov	ah, 4ah			;
		int	21h			;
		push	cs			;
		pop	ds			;
		mov	si, offset auto		;
		int	2eh			; execute
$_57:
exit1:						;
	mov	ax, 4c00h			;
	int	21h				;
resident:					;
						;
;-----------------------------------------------;
;	僄儔乕張棟				;
;-----------------------------------------------;
	public	errhdr, errwrite, errout	;
errcrc:						;
	call	unlink				;
	mov	bx, offset crcmes		;
	jmp	short errout1			;
						;
errwrite:					;
	mov	bx, outfile			;
	call	close				;
	call	unlink				;
	mov	bx, offset write		;
						;
errout:						;
	call	mesout				;
	mov	bx, offset error		;
errout1:					;
	call	mesout				;
	mov	bx, infile			;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品欧美一区二区三区不卡| 伊人一区二区三区| 在线综合亚洲欧美在线视频| 欧美丝袜丝交足nylons| 欧洲亚洲国产日韩| 色天天综合色天天久久| 色综合中文字幕国产| 91蜜桃免费观看视频| 91免费看片在线观看| 色综合久久久网| 欧美性色综合网| 欧美美女一区二区在线观看| 欧美人伦禁忌dvd放荡欲情| 欧美日韩精品一区二区三区蜜桃| 欧美日韩免费一区二区三区| 欧美日本一区二区| 日韩欧美在线网站| 久久先锋资源网| 国产精品网站导航| 亚洲欧美视频在线观看视频| 亚洲黄色性网站| 三级精品在线观看| 久久99蜜桃精品| 国产成人一级电影| 色综合久久99| 欧美精品在线观看播放| 日韩精品一区二区三区视频播放 | 欧美va亚洲va香蕉在线| 欧美tickling网站挠脚心| 久久新电视剧免费观看| 国产精品美女久久久久久| 亚洲码国产岛国毛片在线| 五月婷婷综合在线| 国内成人精品2018免费看| 成人激情视频网站| 欧美吻胸吃奶大尺度电影| 欧美一级xxx| 欧美国产激情一区二区三区蜜月| 亚洲天堂久久久久久久| 首页欧美精品中文字幕| 国产乱淫av一区二区三区| 91色九色蝌蚪| 日韩欧美一区在线| 亚洲欧洲日韩一区二区三区| 午夜久久福利影院| 国产99久久久国产精品潘金| 日本高清不卡视频| 精品国产一区二区三区久久久蜜月| 久久久精品国产免大香伊| 亚洲激情在线激情| 精品一区二区三区影院在线午夜| 99久久婷婷国产综合精品电影| 7777精品伊人久久久大香线蕉完整版| 久久久综合视频| 亚洲一区二区三区免费视频| 黑人精品欧美一区二区蜜桃| 在线视频欧美精品| 久久久久久久久蜜桃| 亚洲动漫第一页| 粉嫩欧美一区二区三区高清影视| 欧美视频自拍偷拍| 亚洲国产精华液网站w| 亚洲成人av免费| k8久久久一区二区三区| 日韩欧美激情四射| 一区二区三区欧美久久| 国产成人精品免费在线| 欧美日韩高清一区二区不卡 | 亚洲欧美国产三级| 国产一区福利在线| 欧美人与z0zoxxxx视频| 17c精品麻豆一区二区免费| 精品在线免费观看| 欧美日韩性生活| 中文字幕在线一区| 精品在线播放免费| 在线不卡a资源高清| 亚洲欧美国产三级| 成人av综合在线| 久久久精品2019中文字幕之3| 五月天视频一区| 欧美性视频一区二区三区| 韩国午夜理伦三级不卡影院| 色婷婷国产精品综合在线观看| 久久久久国产精品厨房| 男人的天堂久久精品| 精品视频全国免费看| 最新国产成人在线观看| 国产99一区视频免费| 精品国产91九色蝌蚪| 日本在线不卡一区| 8x8x8国产精品| 亚洲成人免费在线| 精品视频在线看| 夜夜精品视频一区二区| 色婷婷精品大视频在线蜜桃视频| 中文字幕在线视频一区| heyzo一本久久综合| 国产欧美日本一区视频| 国产精品一线二线三线精华| wwwwww.欧美系列| 精品亚洲porn| 久久久精品tv| 成人一级视频在线观看| 国产精品丝袜一区| 成人看片黄a免费看在线| 欧美激情在线观看视频免费| 国产成a人无v码亚洲福利| 久久久欧美精品sm网站| 国产一区二区在线视频| 国产亚洲短视频| 成人在线视频一区| 国产精品无遮挡| 91在线精品一区二区| 樱花影视一区二区| 欧美日韩中文一区| 日韩精品一级二级| 精品嫩草影院久久| 国产在线精品不卡| 国产精品视频免费| 一本大道久久a久久综合婷婷| 亚洲永久免费视频| 91精品国产综合久久蜜臀 | 69成人精品免费视频| 免费观看日韩av| 久久久精品tv| 99精品热视频| 亚洲第一狼人社区| 欧美不卡一区二区三区| 国产ts人妖一区二区| 亚洲欧美日韩电影| 欧美精选在线播放| 精品一区精品二区高清| 国产精品五月天| 欧美视频一区在线观看| 蜜臀av一区二区在线观看| 久久美女高清视频| 色香色香欲天天天影视综合网| 五月综合激情网| 国产天堂亚洲国产碰碰| 日本韩国精品一区二区在线观看| 丝袜a∨在线一区二区三区不卡| 欧美成人a在线| 一本一道久久a久久精品综合蜜臀| 亚洲一区二区三区四区在线免费观看| 日韩午夜中文字幕| 99r精品视频| 日本成人在线网站| 国产中文一区二区三区| 中文字幕在线不卡一区| 欧美日韩1区2区| 国产99久久久国产精品免费看| 一二三区精品福利视频| 精品福利在线导航| 日本高清不卡视频| 国产精品123区| 亚洲大片在线观看| 欧美激情一区在线| 51精品国自产在线| 成人黄色片在线观看| 全部av―极品视觉盛宴亚洲| 中文文精品字幕一区二区| 欧美日韩一区二区欧美激情| 国产福利一区在线| 婷婷成人激情在线网| 国产精品久久久久毛片软件| 91精品国产综合久久久久久漫画| www.在线成人| 激情文学综合丁香| 亚洲成av人片在线观看无码| 中文字幕成人在线观看| 日韩精品资源二区在线| 在线观看欧美精品| 粉嫩在线一区二区三区视频| 青草av.久久免费一区| 亚洲精品视频免费看| 久久精品亚洲一区二区三区浴池| 欧美精品一级二级| 在线免费观看日本欧美| 成人a免费在线看| 国产精一区二区三区| 日本欧美肥老太交大片| 亚洲国产日韩一区二区| 国产精品乱人伦一区二区| 精品国产凹凸成av人导航| 欧美二区乱c少妇| 在线观看亚洲精品视频| 成人高清av在线| 国产a久久麻豆| 国产一区二区三区黄视频| 日韩av电影一区| 午夜亚洲国产au精品一区二区| 亚洲欧美在线视频观看| 欧美激情综合五月色丁香| 精品电影一区二区| 日韩你懂的在线播放| 制服丝袜日韩国产| 欧美情侣在线播放| 欧美日韩亚洲综合一区二区三区| 91色porny在线视频|