⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gzip.s

📁 linux 下的源代码分析阅读器 red hat公司新版
💻 S
📖 第 1 页 / 共 5 页
字号:
	lwz 0,list@l(9)	cmpwi 1,0,0	bc 4,6,.L308	addis 9,0,method@ha	stw 0,method@l(9)	addis 11,0,work@ha	addis 9,0,copy@ha	addi 9,9,copy@l	stw 9,work@l(11)	addis 9,0,inptr@ha	stw 0,inptr@l(9).L328:	addis 9,0,last_member@ha	li 0,1.L329:	stw 0,last_member@l(9).L308:	addis 9,0,method@ha	lwz 3,method@l(9)	cmpwi 1,3,0	bc 4,4,.L324	addis 9,0,part_nb@ha	lwz 31,part_nb@l(9)	cmpwi 1,31,1	bc 4,6,.L320	addis 9,0,_impure_ptr@ha	lwz 9,_impure_ptr@l(9)	addis 11,0,progname@ha	lwz 3,12(9)	addis 4,0,.LC118@ha	addi 4,4,.LC118@l	lwz 5,progname@l(11)	addis 6,0,ifname@ha	addi 6,6,ifname@l	crxor 6,6,6	bl fprintf	addis 9,0,exit_code@ha	stw 31,exit_code@l(9)	b .L330.L320:	addis 9,0,quiet@ha	lwz 0,quiet@l(9)	cmpwi 1,0,0	bc 4,6,.L322	addis 9,0,_impure_ptr@ha	lwz 9,_impure_ptr@l(9)	addis 11,0,progname@ha	lwz 3,12(9)	addis 4,0,.LC119@ha	addi 4,4,.LC119@l	lwz 5,progname@l(11)	addis 6,0,ifname@ha	addi 6,6,ifname@l	crxor 6,6,6	bl fprintf.L322:	addis 9,0,exit_code@ha	lwz 0,exit_code@l(9)	cmpwi 1,0,0	bc 4,6,.L323	li 0,2	stw 0,exit_code@l(9).L323:	li 3,-2.L324:	lwz 0,52(1)	mtlr 0	lwz 24,16(1)	lwz 25,20(1)	lwz 26,24(1)	lwz 27,28(1)	lwz 28,32(1)	lwz 29,36(1)	lwz 30,40(1)	lwz 31,44(1)	addi 1,1,48	blr.Lfe13:	.size	 get_method,.Lfe13-get_method	.section ".sdata","aw"	.align 2	.type	 first_time.31,@object	.size	 first_time.31,4first_time.31:	.long 1	.section ".data"	.align 2	.type	 methods.32,@object	.size	 methods.32,36methods.32:	.long .LC120	.long .LC121	.long .LC122	.long .LC123	.long .LC5	.long .LC5	.long .LC5	.long .LC5	.long .LC124	.section	".rodata"	.align 2.LC124:	.string	"defla"	.align 2.LC123:	.string	"lzh  "	.align 2.LC122:	.string	"pack "	.align 2.LC121:	.string	"compr"	.align 2.LC120:	.string	"store"	.align 2.LC125:	.string	"method  crc     date  time  "	.align 2.LC126:	.string	"compressed  uncompr. ratio uncompressed_name\n"	.align 2.LC127:	.string	"                            %9lu %9lu "	.align 2.LC128:	.string	"%9ld %9ld "	.align 2.LC129:	.string	" (totals)\n"	.align 2.LC130:	.string	"%5s %08lx %11s "	.align 2.LC131:	.string	" %s\n"	.section ".text"	.align 2	.type	 do_list,@functiondo_list:	stwu 1,-32(1)	mflr 0	stw 28,16(1)	stw 29,20(1)	stw 30,24(1)	stw 31,28(1)	stw 0,36(1)	mr 28,3	mr 29,4	addis 10,0,first_time.31@ha	lwz 0,first_time.31@l(10)	addic 9,0,-1	subfe 0,9,0	nor 9,29,29	srwi 9,9,31	and. 11,0,9	bc 12,2,.L334	li 0,0	stw 0,first_time.31@l(10)	addis 9,0,verbose@ha	lwz 0,verbose@l(9)	cmpwi 1,0,0	bc 12,6,.L335	addis 3,0,.LC125@ha	addi 3,3,.LC125@l	crxor 6,6,6	bl printf.L335:	addis 9,0,quiet@ha	lwz 0,quiet@l(9)	cmpwi 1,0,0	bc 4,6,.L337	addis 3,0,.LC126@ha	addi 3,3,.LC126@l	crxor 6,6,6	bl printf	b .L337.L334:	cmpwi 1,29,0	bc 4,4,.L337	addis 9,0,total_in@ha	lwz 4,total_in@l(9)	cmpwi 1,4,0	bc 4,5,.L333	addis 9,0,total_out@ha	lwz 5,total_out@l(9)	cmpwi 1,5,0	bc 4,5,.L333	addis 9,0,verbose@ha	lwz 0,verbose@l(9)	cmpwi 1,0,0	bc 12,6,.L341	addis 3,0,.LC127@ha	addi 3,3,.LC127@l	b .L354.L341:	addis 9,0,quiet@ha	lwz 0,quiet@l(9)	cmpwi 1,0,0	bc 4,6,.L342	addis 9,0,total_in@ha	addis 11,0,total_out@ha	addis 3,0,.LC128@ha	addi 3,3,.LC128@l	lwz 4,total_in@l(9)	lwz 5,total_out@l(11).L354:	crxor 6,6,6	bl printf.L342:	addis 10,0,total_out@ha	addis 9,0,total_in@ha	addis 11,0,header_bytes@ha	lwz 3,total_in@l(9)	lwz 0,header_bytes@l(11)	subf 3,0,3	lwz 4,total_out@l(10)	addis 9,0,_impure_ptr@ha	lwz 9,_impure_ptr@l(9)	subf 3,3,4	lwz 5,8(9)	bl display_ratio	addis 3,0,.LC129@ha	addi 3,3,.LC129@l	crxor 6,6,6	bl printf	b .L333.L337:	li 31,-1	addis 9,0,bytes_out@ha	stw 31,bytes_out@l(9)	addis 30,0,bytes_in@ha	addis 9,0,ifile_size@ha	lwz 0,ifile_size@l(9)	stw 0,bytes_in@l(30)	cmpwi 1,29,8	bc 4,6,.L344	addis 9,0,last_member@ha	lwz 0,last_member@l(9)	cmpwi 1,0,0	bc 4,6,.L344	mr 3,28	li 4,-8	li 5,2	bl lseek	stw 3,bytes_in@l(30)	cmpw 1,3,31	bc 12,6,.L344	addi 0,3,8	stw 0,bytes_in@l(30)	mr 3,28	addi 4,1,8	li 5,8	bl read	cmpwi 1,3,8	bc 12,6,.L346	bl read_error.L346:	lbz 31,8(1)	lbz 0,9(1)	slwi 0,0,8	or 31,31,0	lbz 9,10(1)	lbz 0,11(1)	slwi 0,0,8	or 9,9,0	slwi 9,9,16	or 31,31,9	addis 10,0,bytes_out@ha	lbz 11,12(1)	lbz 0,13(1)	slwi 0,0,8	or 11,11,0	lbz 9,14(1)	lbz 0,15(1)	slwi 0,0,8	or 9,9,0	slwi 9,9,16	or 11,11,9	stw 11,bytes_out@l(10).L344:	addis 3,0,time_stamp@ha	addi 3,3,time_stamp@l	bl ctime	addi 6,3,4	li 0,0	stb 0,12(6)	addis 9,0,verbose@ha	lwz 0,verbose@l(9)	cmpwi 1,0,0	bc 12,6,.L347	addis 9,0,methods.32@ha	addi 9,9,methods.32@l	slwi 0,29,2	addis 3,0,.LC130@ha	addi 3,3,.LC130@l	lwzx 4,9,0	mr 5,31	crxor 6,6,6	bl printf.L347:	addis 31,0,bytes_in@ha	addis 30,0,bytes_out@ha	addis 3,0,.LC128@ha	addi 3,3,.LC128@l	lwz 4,bytes_in@l(31)	lwz 5,bytes_out@l(30)	crxor 6,6,6	bl printf	lwz 0,bytes_in@l(31)	cmpwi 1,0,-1	bc 4,6,.L348	addis 9,0,total_in@ha	stw 0,total_in@l(9)	addis 9,0,header_bytes@ha	li 0,0	stw 0,header_bytes@l(9)	stw 0,bytes_out@l(30)	stw 0,bytes_in@l(31)	b .L349.L348:	addis 10,0,total_in@ha	lwz 11,total_in@l(10)	cmpwi 1,11,0	bc 12,4,.L349	addis 9,0,bytes_in@ha	lwz 0,bytes_in@l(9)	add 0,11,0	stw 0,total_in@l(10).L349:	addis 10,0,bytes_out@ha	lwz 0,bytes_out@l(10)	cmpwi 1,0,-1	bc 4,6,.L351	addis 9,0,total_out@ha	stw 0,total_out@l(9)	addis 11,0,bytes_in@ha	addis 9,0,header_bytes@ha	li 0,0	stw 0,header_bytes@l(9)	stw 0,bytes_out@l(10)	stw 0,bytes_in@l(11)	b .L352.L351:	addis 10,0,total_out@ha	lwz 11,total_out@l(10)	cmpwi 1,11,0	bc 12,4,.L352	addis 9,0,bytes_out@ha	lwz 0,bytes_out@l(9)	add 0,11,0	stw 0,total_out@l(10).L352:	addis 10,0,bytes_out@ha	addis 9,0,bytes_in@ha	addis 11,0,header_bytes@ha	lwz 3,bytes_in@l(9)	lwz 0,header_bytes@l(11)	subf 3,0,3	lwz 4,bytes_out@l(10)	addis 9,0,_impure_ptr@ha	lwz 9,_impure_ptr@l(9)	subf 3,3,4	lwz 5,8(9)	bl display_ratio	addis 3,0,.LC131@ha	addi 3,3,.LC131@l	addis 4,0,ofname@ha	addi 4,4,ofname@l	crxor 6,6,6	bl printf.L333:	lwz 0,36(1)	mtlr 0	lwz 28,16(1)	lwz 29,20(1)	lwz 30,24(1)	lwz 31,28(1)	addi 1,1,32	blr.Lfe14:	.size	 do_list,.Lfe14-do_list	.align 2	.type	 same_file,@functionsame_file:	li 10,0	lwz 0,0(3)	lwz 9,0(4)	cmpw 1,0,9	bc 4,6,.L356	lwz 0,4(3)	lwz 9,4(4)	cmpw 1,0,9	bc 4,6,.L356	lhz 0,10(3)	lhz 9,10(4)	cmpw 1,0,9	bc 4,6,.L356	lhz 0,12(3)	lhz 9,12(4)	cmpw 1,0,9	bc 4,6,.L356	lwz 0,16(3)	lwz 9,16(4)	cmpw 1,0,9	bc 4,6,.L356	lwz 0,20(3)	lwz 9,20(4)	cmpw 1,0,9	bc 4,6,.L356	lwz 0,28(3)	lwz 9,28(4)	cmpw 1,0,9	bc 4,6,.L356	lwz 0,36(3)	lwz 9,36(4)	xor 10,0,9	subfic 11,10,0	adde 10,11,10.L356:	mr 3,10	blr.Lfe15:	.size	 same_file,.Lfe15-same_file	.globl memcpy	.align 2	.type	 name_too_long,@functionname_too_long:	stwu 1,-112(1)	mflr 0	stw 27,92(1)	stw 28,96(1)	stw 29,100(1)	stw 30,104(1)	stw 31,108(1)	stw 0,116(1)	mr 31,3	mr 30,4	bl strlen	mr 28,3	add 29,28,31	lbz 27,-1(29)	addi 3,1,24	mr 4,30	li 5,60	crxor 6,6,6	bl memcpy	li 0,0	stb 0,-1(29)	li 29,0	mr 3,31	addi 4,1,24	bl stat	cmpw 1,3,29	bc 4,6,.L358	mr 3,30	addi 4,1,24	bl same_file	addic 0,3,-1	subfe 29,0,3.L358:	add 9,28,31	stb 27,-1(9)	mr 3,29	lwz 0,116(1)	mtlr 0	lwz 27,92(1)	lwz 28,96(1)	lwz 29,100(1)	lwz 30,104(1)	lwz 31,108(1)	addi 1,1,112	blr.Lfe16:	.size	 name_too_long,.Lfe16-name_too_long	.section	".rodata"	.align 2.LC132:	.string	"name too short"	.align 2.LC133:	.string	"can't recover suffix\n"	.align 2.LC134:	.string	"."	.align 2.LC135:	.string	"internal error in shorten_name"	.section ".text"	.align 2	.type	 shorten_name,@functionshorten_name:	stwu 1,-32(1)	mflr 0	stw 27,12(1)	stw 28,16(1)	stw 29,20(1)	stw 30,24(1)	stw 31,28(1)	stw 0,36(1)	mr 27,3	li 30,0	li 29,3	bl strlen	mr 28,3	addis 9,0,decompress@ha	lwz 0,decompress@l(9)	cmpw 1,0,30	bc 12,6,.L360	cmpwi 1,28,1	bc 12,5,.L361	addis 3,0,.LC132@ha	addi 3,3,.LC132@l	bl error.L361:	add 9,28,27	li 0,0	stb 0,-1(9)	b .L359.L360:	mr 3,27	bl get_suffix	mr. 31,3	bc 4,2,.L362	addis 3,0,.LC133@ha	addi 3,3,.LC133@l	bl error.L362:	li 0,0	stb 0,0(31)	addis 9,0,save_orig_name@ha	li 0,1	stw 0,save_orig_name@l(9)	cmpwi 1,28,4	bc 4,5,.L363	addi 28,31,-4	mr 3,28	addis 4,0,.LC103@ha	addi 4,4,.LC103@l	bl strcmp	cmpwi 1,3,0	bc 4,6,.L363	addis 9,0,.LC96@ha	addi 11,9,.LC96@l	lwz 0,.LC96@l(9)	lbz 9,4(11)	stw 0,-4(31)	stb 9,4(28)	b .L359.L363:	addis 28,0,.LC134@ha.L364:	mr 3,27	li 4,47	bl strrchr	addic 9,3,-1	subfe 9,9,9	addi 3,3,1	and 0,27,9	andc 3,3,9	or 31,0,3	b .L386.L371:	mr 3,31	addi 4,28,.LC134@l	bl strcspn	add 31,31,3	cmpw 1,3,29	cror 7,6,4	mfcr 0	rlwinm 0,0,8,1	neg 0,0	addi 9,31,-1	and 11,30,0	andc 3,9,0	or 30,11,3	lbz 0,0(31)	addic 11,0,-1	subfe 11,11,11	addi 0,31,1	and 9,31,11	andc 0,0,11	or 31,9,0.L386:	lbz 0,0(31)	cmpwi 1,0,0	bc 4,6,.L371	cmpwi 1,30,0	bc 4,6,.L378	addic. 29,29,-1	bc 4,2,.L364	bc 12,6,.L377.L378:	lbz 0,1(30)	stb 0,0(30)	rlwinm 0,0,0,0xff	addi 30,30,1	cmpwi 1,0,0	bc 4,6,.L378	addi 30,30,-1	b .L382.L377:	mr 3,27	li 4,46	bl strrchr	mr. 30,3	bc 4,2,.L383	addis 3,0,.LC135@ha	addi 3,3,.LC135@l	bl error.L383:	lbz 0,1(30)	neg 0,0	srawi 0,0,31	addi 9,30,-1	and 11,30,0	andc 3,9,0	or 30,11,3.L382:	mr 3,30	addis 4,0,z_suffix@ha	addi 4,4,z_suffix@l	bl strcpy.L359:	lwz 0,36(1)	mtlr 0	lwz 27,12(1)	lwz 28,16(1)	lwz 29,20(1)	lwz 30,24(1)	lwz 31,28(1)	addi 1,1,32	blr.Lfe17:	.size	 shorten_name,.Lfe17-shorten_name	.section	".rodata"	.align 2.LC136:	.string	"%s: %s: cannot %scompress onto itself\n"	.align 2.LC137:	.string	"%s: %s and %s are the same file\n"	.align 2.LC138:	.string	"n"	.align 2.LC139:	.string	"%s: %s already exists;"	.align 2.LC140:	.string	" do you wish to overwrite (y or n)? "	.align 2.LC141:	.string	"\tnot overwritten\n"	.section ".text"	.align 2	.type	 check_ofname,@functioncheck_ofname:	stwu 1,-168(1)	mflr 0	stw 29,156(1)	stw 30,160(1)	stw 31,164(1)	stw 0,172(1)	bl __errno	li 0,0	stw 0,0(3)	addis 29,0,ofname@ha.L388:	addi 3,29,ofname@l	addi 4,1,8	bl stat	cmpwi 1,3,0	bc 12,6,.L389	bl __errno	lwz 0,0(3)	cmpwi 1,0,91	bc 4,6,.L411	addi 3,29,ofname@l	bl shorten_name	b .L388.L389:	addis 9,0,decompress@ha	lwz 0,decompress@l(9)	cmpwi 1,0,0	bc 4,6,.L392	addis 29,0,ofname@ha	addi 3,29,ofname@l	addi 4,1,8	bl name_too_long	cmpwi 1,3,0	bc 12,6,.L392	addi 3,29,ofname@l	bl shorten_name	addi 3,29,ofname@l	addi 4,1,8	bl stat	cmpwi 1,3,0	li 3,0	bc 4,6,.L406.L392:	addis 3,0,istat@ha	addi 3,3,istat@l	addi 4,1,8	bl same_file	cmpwi 1,3,0	bc 12,6,.L394	addis 3,0,ifname@ha	addi 3,3,ifname@l	addis 4,0,ofname@ha	addi 4,4,ofname@l	bl strcmp	cmpwi 1,3,0	bc 4,6,.L395	addis 9,0,_impure_ptr@ha	lwz 11,_impure_ptr@l(9)	addis 9,0,progname@ha	addi 5,9,progname@l	addis 9,0,decompress@ha	lwz 0,decompress@l(9)	cmpwi 1,0,0	bc 12,6,.L396	addis 9,0,.LC77@ha	addi 7,9,.LC77@l	b .L397.L396:	addis 9,0,.LC5@ha	addi 7,9,.LC5@l.L397:	lwz 3,12(11)	addis 4,0,.LC136@ha	addi 4,4,.LC136@l	lwz 5,0(5)	addis 6,0,ifname@ha	addi 6,6,ifname@l	b .L408.L395:	addis 9,0,_impure_ptr@ha	lwz 9,_impure_ptr@l(9)	addis 11,0,progname@ha	lwz 3,12(9)	addis 4,0,.LC137@ha	addi 4,4,.LC137@l	lwz 5,progname@l(11)	addis 6,0,ifname@ha	addi 6,6,ifname@l	addis 7,0,ofname@ha	addi 7,7,ofname@l.L408:	crxor 6,6,6	bl fprintf	b .L409.L394:	addis 9,0,force@ha	lwz 0,force@l(9)	cmpwi 1,0,0	bc 4,6,.L399	addis 9,0,.LC138@ha	lhz 0,.LC138@l(9)	sth 0,72(1)	addis 29,0,_impure_ptr@ha	lwz 9,_impure_ptr@l(29)	addis 11,0,progname@ha	lwz 3,12(9)	addis 4,0,.LC139@ha	addi 4,4,.LC139@l	lwz 5,progname@l(11)	addis 6,0,ofname@ha	addi 6,6,ofname@l	crxor 6,6,6	bl fprintf	addis 9,0,foreground@ha	lwz 0,foreground@l(9)	cmpwi 1,0,0	bc 12,6,.L400	lwz 9,_impure_ptr@l(29)	lwz 3,4(9)	bl fileno	bl isatty	cmpwi 1,3,0	bc 12,6,.L400	lwz 9,_impure_ptr@l(29)	lwz 3,12(9)	addis 4,0,.LC140@ha	addi 4,4,.LC140@l	crxor 6,6,6	bl fprintf	lwz 9,_impure_ptr@l(29)	lwz 3,12(9)	bl fflush	lwz 9,_impure_ptr@l(29)	addi 3,1,72	li 4,79	lwz 5,4(9)	bl fgets.L400:	lbz 11,72(1)	addis 9,0,_ctype_+1@ha	addi 9,9,_ctype_+1@l	lbzx 0,11,9	andi. 9,0,1	bc 12,2,.L402	cmpwi 1,11,89	bc 4,6,.L403	b .L399.L402:	lbz 0,72(1)	cmpwi 1,0,121	bc 12,6,.L399.L403:	addis 9,0,_impure_ptr@ha	lwz 9,_impure_ptr@l(9)	lwz 3,12(9)	addis 4,0,.LC141@ha	addi 4,4,.LC141@l	crxor 6,6,6	bl fprintf	addis 9,0,exit_code@ha	lwz 0,exit_code@l(9)	cmpwi 1,0,0	bc 4,6,.L410	li 0,2	b .L412.L399:	addis 29,0,ofname@ha	addi 3,29,ofname@l	li 4,511	bl chmod	addi 3,29,ofname@l	bl unlink	cmpwi 1,3,0	bc 4,6,.L405.L411:	li 3,0	b .L406.L405:	addis 9,0,_impure_ptr@ha	lwz 9,_impure_ptr@l(9)	addis 11,0,progname@ha	lwz 3,12(9)	addis 4,0,.LC86@ha	addi 4,4,.LC86@l	lwz 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -