📄 gzip.s
字号:
cmpwi 1,0,0 bc 4,6,.L221 addis 9,0,_impure_ptr@ha lwz 9,_impure_ptr@l(9) addis 11,0,progname@ha lwz 3,12(9) addis 4,0,.LC102@ha addi 4,4,.LC102@l lwz 5,progname@l(11) addis 6,0,ifname@ha addi 6,6,ifname@l crxor 6,6,6 bl fprintf b .L221.L209: mr 3,29 bl strlwr mr 3,29 addis 4,0,.LC96@ha addi 4,4,.LC96@l bl strcmp cmpwi 1,3,0 bc 12,6,.L217 mr 3,29 addis 4,0,.LC95@ha addi 4,4,.LC95@l bl strcmp cmpwi 1,3,0 bc 4,6,.L216.L217: addis 9,0,.LC103@ha addi 11,9,.LC103@l lwz 0,.LC103@l(9) lbz 9,4(11) stw 0,0(29) stb 9,4(29) b .L219.L216: li 0,0 stb 0,0(29) b .L219.L208: cmpwi 1,29,0 bc 12,6,.L220 addis 9,0,verbose@ha lwz 0,verbose@l(9) cmpwi 1,0,0 bc 4,6,.L222 addis 9,0,recursive@ha lwz 0,recursive@l(9) cmpwi 1,0,0 bc 4,6,.L221 addis 9,0,quiet@ha lwz 0,quiet@l(9) cmpwi 1,0,0 bc 4,6,.L221.L222: addis 9,0,_impure_ptr@ha lwz 9,_impure_ptr@l(9) addis 11,0,progname@ha lwz 3,12(9) addis 4,0,.LC104@ha addi 4,4,.LC104@l lwz 5,progname@l(11) addis 6,0,ifname@ha addi 6,6,ifname@l mr 7,29 crxor 6,6,6 bl fprintf.L221: addis 9,0,exit_code@ha lwz 0,exit_code@l(9) cmpwi 1,0,0 bc 4,6,.L223 li 0,2 stw 0,exit_code@l(9).L223: li 3,2 b .L225.L220: addis 9,0,save_orig_name@ha li 0,0 stw 0,save_orig_name@l(9) addis 3,0,ofname@ha addi 3,3,ofname@l addis 4,0,z_suffix@ha addi 4,4,z_suffix@l bl strcat.L219: li 3,0.L225: lwz 0,28(1) mtlr 0 lwz 29,12(1) lwz 30,16(1) lwz 31,20(1) addi 1,1,24 blr.Lfe12: .size make_ofname,.Lfe12-make_ofname .section ".rodata" .align 2.LC105: .string "\037\213" .align 2.LC106: .string "\037\236" .align 2.LC107: .string "%s: %s: unknown method %d -- get newer version of gzip\n" .align 2.LC108: .string "%s: %s is encrypted -- get newer version of gzip\n" .align 2.LC109: .string "%s: %s is a a multi-part gzip file -- get newer version of gzip\n" .align 2.LC110: .string "%s: %s has flags 0x%x -- get newer version of gzip\n" .align 2.LC111: .string "%s: %s: part number %u\n" .align 2.LC112: .string "%s: %s: extra field of %u bytes ignored\n" .align 2.LC113: .string "corrupted input -- file name too large" .align 2.LC114: .string "PK\003\004" .align 2.LC115: .string "\037\036" .align 2.LC116: .string "\037\235" .align 2.LC117: .string "\037\240" .align 2.LC118: .string "\n%s: %s: not in gzip format\n" .align 2.LC119: .string "\n%s: %s: decompression OK, trailing garbage ignored\n" .section ".text" .align 2 .type get_method,@functionget_method: stwu 1,-48(1) mflr 0 stw 24,16(1) stw 25,20(1) stw 26,24(1) stw 27,28(1) stw 28,32(1) stw 29,36(1) stw 30,40(1) stw 31,44(1) stw 0,52(1) mr 29,3 addis 9,0,force@ha lwz 0,force@l(9) cmpwi 1,0,0 bc 12,6,.L227 addis 9,0,to_stdout@ha lwz 0,to_stdout@l(9) cmpwi 1,0,0 bc 12,6,.L227 addis 10,0,inptr@ha addis 9,0,insize@ha lwz 11,inptr@l(10) lwz 0,insize@l(9) cmplw 1,11,0 bc 4,4,.L228 addis 9,0,inbuf@ha addi 9,9,inbuf@l lbzx 3,9,11 addi 0,11,1 stw 0,inptr@l(10) b .L229.L228: li 3,1 bl fill_inbuf.L229: rlwinm 9,3,0,0xff slwi 9,9,8 lbz 0,9(1) or 0,0,9 sth 0,8(1) addis 10,0,inptr@ha addis 9,0,insize@ha lwz 11,inptr@l(10) lwz 0,insize@l(9) cmplw 1,11,0 bc 12,4,.L331 li 3,1 b .L332.L227: addis 10,0,inptr@ha addis 9,0,insize@ha lwz 11,inptr@l(10) lwz 0,insize@l(9) cmplw 1,11,0 bc 4,4,.L233 addis 9,0,inbuf@ha addi 9,9,inbuf@l lbzx 3,9,11 addi 0,11,1 stw 0,inptr@l(10) b .L234.L233: li 3,0 bl fill_inbuf.L234: rlwinm 9,3,0,0xff slwi 9,9,8 lbz 0,9(1) or 0,0,9 sth 0,8(1) addis 10,0,inptr@ha addis 9,0,insize@ha lwz 11,inptr@l(10) lwz 0,insize@l(9) cmplw 1,11,0 bc 4,4,.L235.L331: addis 9,0,inbuf@ha addi 9,9,inbuf@l lbzx 3,9,11 addi 0,11,1 stw 0,inptr@l(10) b .L236.L235: li 3,0.L332: bl fill_inbuf.L236: rlwinm 9,3,0,0xff lhz 0,8(1) rlwinm 0,0,0,16,23 or 0,0,9 sth 0,8(1) addis 9,0,method@ha li 0,-1 stw 0,method@l(9) addis 9,0,part_nb@ha lwz 0,part_nb@l(9) addic 0,0,1 stw 0,part_nb@l(9) addis 9,0,header_bytes@ha li 0,0 stw 0,header_bytes@l(9) addis 9,0,last_member@ha stw 0,last_member@l(9) addi 3,1,8 addis 4,0,.LC105@ha addi 4,4,.LC105@l li 5,2 bl memcmp cmpwi 1,3,0 bc 12,6,.L238 addi 3,1,8 addis 4,0,.LC106@ha addi 4,4,.LC106@l li 5,2 bl memcmp cmpwi 1,3,0 bc 4,6,.L237.L238: addis 9,0,method@ha addi 31,9,method@l addis 10,0,inptr@ha addis 9,0,insize@ha lwz 11,inptr@l(10) lwz 0,insize@l(9) cmplw 1,11,0 bc 4,4,.L239 addis 9,0,inbuf@ha addi 9,9,inbuf@l lbzx 3,9,11 addi 0,11,1 stw 0,inptr@l(10) b .L240.L239: li 3,0 bl fill_inbuf.L240: stw 3,0(31) addis 9,0,method@ha lwz 7,method@l(9) cmpwi 1,7,8 bc 12,6,.L241 addis 9,0,_impure_ptr@ha lwz 9,_impure_ptr@l(9) addis 11,0,progname@ha lwz 3,12(9) addis 4,0,.LC107@ha addi 4,4,.LC107@l lwz 5,progname@l(11) addis 6,0,ifname@ha addi 6,6,ifname@l crxor 6,6,6 bl fprintf b .L325.L241: addis 11,0,work@ha addis 9,0,unzip@ha addi 9,9,unzip@l stw 9,work@l(11) addis 10,0,inptr@ha addis 9,0,insize@ha lwz 11,inptr@l(10) lwz 0,insize@l(9) cmplw 1,11,0 bc 4,4,.L242 addis 9,0,inbuf@ha addi 9,9,inbuf@l lbzx 7,9,11 addi 0,11,1 stw 0,inptr@l(10) b .L243.L242: li 3,0 bl fill_inbuf rlwinm 7,3,0,0xff.L243: mr 28,7 andi. 0,28,32 bc 12,2,.L244 addis 9,0,_impure_ptr@ha lwz 9,_impure_ptr@l(9) addis 11,0,progname@ha lwz 3,12(9) addis 4,0,.LC108@ha addi 4,4,.LC108@l lwz 5,progname@l(11) addis 6,0,ifname@ha addi 6,6,ifname@l crxor 6,6,6 bl fprintf.L325: addis 9,0,exit_code@ha li 0,1 stw 0,exit_code@l(9).L330: li 3,-1 b .L324.L244: andi. 0,28,2 bc 12,2,.L245 addis 9,0,_impure_ptr@ha lwz 9,_impure_ptr@l(9) addis 11,0,progname@ha lwz 3,12(9) addis 4,0,.LC109@ha addi 4,4,.LC109@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 li 0,1 stw 0,exit_code@l(9) addis 9,0,force@ha lwz 0,force@l(9) cmpwi 1,0,1 bc 4,5,.L330.L245: andi. 0,28,192 bc 12,2,.L247 addis 9,0,_impure_ptr@ha lwz 9,_impure_ptr@l(9) addis 11,0,progname@ha lwz 3,12(9) addis 4,0,.LC110@ha addi 4,4,.LC110@l lwz 5,progname@l(11) addis 6,0,ifname@ha addi 6,6,ifname@l mr 7,28 crxor 6,6,6 bl fprintf addis 9,0,exit_code@ha li 0,1 stw 0,exit_code@l(9) addis 9,0,force@ha lwz 0,force@l(9) cmpwi 1,0,1 bc 4,5,.L330.L247: addis 10,0,inptr@ha addis 9,0,insize@ha lwz 11,inptr@l(10) lwz 0,insize@l(9) cmplw 1,11,0 bc 4,4,.L249 addis 9,0,inbuf@ha addi 9,9,inbuf@l lbzx 31,9,11 addi 0,11,1 stw 0,inptr@l(10) b .L250.L249: li 3,0 bl fill_inbuf mr 31,3.L250: addis 10,0,inptr@ha addis 9,0,insize@ha lwz 11,inptr@l(10) lwz 0,insize@l(9) cmplw 1,11,0 bc 4,4,.L251 addis 9,0,inbuf@ha addi 9,9,inbuf@l lbzx 0,9,11 slwi 0,0,8 or 31,31,0 addi 0,11,1 stw 0,inptr@l(10) b .L252.L251: li 3,0 bl fill_inbuf slwi 3,3,8 or 31,31,3.L252: addis 10,0,inptr@ha addis 9,0,insize@ha lwz 11,inptr@l(10) lwz 0,insize@l(9) cmplw 1,11,0 bc 4,4,.L253 addis 9,0,inbuf@ha addi 9,9,inbuf@l lbzx 0,9,11 slwi 0,0,16 or 31,31,0 addi 0,11,1 stw 0,inptr@l(10) b .L254.L253: li 3,0 bl fill_inbuf slwi 3,3,16 or 31,31,3.L254: addis 10,0,inptr@ha addis 9,0,insize@ha lwz 11,inptr@l(10) lwz 0,insize@l(9) cmplw 1,11,0 bc 4,4,.L255 addis 9,0,inbuf@ha addi 9,9,inbuf@l lbzx 0,9,11 slwi 0,0,24 or 31,31,0 addi 0,11,1 stw 0,inptr@l(10) b .L256.L255: li 3,0 bl fill_inbuf slwi 3,3,24 or 31,31,3.L256: cmpwi 1,31,0 bc 12,6,.L257 addis 9,0,no_time@ha lwz 0,no_time@l(9) cmpwi 1,0,0 bc 4,6,.L257 addis 9,0,time_stamp@ha stw 31,time_stamp@l(9).L257: addis 10,0,inptr@ha addis 9,0,insize@ha lwz 11,inptr@l(10) lwz 0,insize@l(9) cmplw 1,11,0 bc 4,4,.L258 addi 0,11,1 stw 0,inptr@l(10) b .L259.L258: li 3,0 bl fill_inbuf.L259: addis 10,0,inptr@ha addis 9,0,insize@ha lwz 11,inptr@l(10) lwz 0,insize@l(9) cmplw 1,11,0 bc 4,4,.L260 addi 0,11,1 stw 0,inptr@l(10) b .L261.L260: li 3,0 bl fill_inbuf.L261: andi. 0,28,2 bc 12,2,.L262 addis 10,0,inptr@ha addis 9,0,insize@ha lwz 11,inptr@l(10) lwz 0,insize@l(9) cmplw 1,11,0 bc 4,4,.L263 addis 9,0,inbuf@ha addi 9,9,inbuf@l lbzx 31,9,11 addi 0,11,1 stw 0,inptr@l(10) b .L264.L263: li 3,0 bl fill_inbuf mr 31,3.L264: addis 10,0,inptr@ha addis 9,0,insize@ha lwz 11,inptr@l(10) lwz 0,insize@l(9) cmplw 1,11,0 bc 4,4,.L265 addis 9,0,inbuf@ha addi 9,9,inbuf@l lbzx 0,9,11 slwi 0,0,8 or 31,31,0 addi 0,11,1 stw 0,inptr@l(10) b .L266.L265: li 3,0 bl fill_inbuf slwi 3,3,8 or 31,31,3.L266: addis 9,0,verbose@ha lwz 0,verbose@l(9) cmpwi 1,0,0 bc 12,6,.L262 addis 9,0,_impure_ptr@ha lwz 9,_impure_ptr@l(9) addis 11,0,progname@ha lwz 3,12(9) addis 4,0,.LC111@ha addi 4,4,.LC111@l lwz 5,progname@l(11) addis 6,0,ifname@ha addi 6,6,ifname@l mr 7,31 crxor 6,6,6 bl fprintf.L262: andi. 0,28,4 bc 12,2,.L268 addis 10,0,inptr@ha addis 9,0,insize@ha lwz 11,inptr@l(10) lwz 0,insize@l(9) cmplw 1,11,0 bc 4,4,.L269 addis 9,0,inbuf@ha addi 9,9,inbuf@l lbzx 31,9,11 addi 0,11,1 stw 0,inptr@l(10) b .L270.L269: li 3,0 bl fill_inbuf mr 31,3.L270: addis 10,0,inptr@ha addis 9,0,insize@ha lwz 11,inptr@l(10) lwz 0,insize@l(9) cmplw 1,11,0 bc 4,4,.L271 addis 9,0,inbuf@ha addi 9,9,inbuf@l lbzx 0,9,11 slwi 0,0,8 or 31,31,0 addi 0,11,1 stw 0,inptr@l(10) b .L272.L271: li 3,0 bl fill_inbuf slwi 3,3,8 or 31,31,3.L272: addis 9,0,verbose@ha lwz 0,verbose@l(9) cmpwi 1,0,0 bc 12,6,.L273 addis 9,0,_impure_ptr@ha lwz 9,_impure_ptr@l(9) addis 11,0,progname@ha lwz 3,12(9) addis 4,0,.LC112@ha addi 4,4,.LC112@l lwz 5,progname@l(11) addis 6,0,ifname@ha addi 6,6,ifname@l mr 7,31 crxor 6,6,6 bl fprintf.L273: cmpwi 1,31,0 addi 31,31,-1 bc 12,6,.L268 addis 30,0,inptr@ha addis 29,0,insize@ha.L276: lwz 9,inptr@l(30) lwz 0,insize@l(29) cmplw 1,9,0 bc 4,4,.L277 addi 0,9,1 stw 0,inptr@l(30) b .L274.L277: li 3,0 bl fill_inbuf.L274: cmpwi 1,31,0 addi 31,31,-1 bc 4,6,.L276.L268: andi. 0,28,8 bc 12,2,.L280 addis 9,0,no_name@ha lwz 0,no_name@l(9) cmpwi 1,0,0 bc 4,6,.L282 addis 9,0,to_stdout@ha lwz 0,to_stdout@l(9) cmpwi 1,0,0 bc 12,6,.L283 addis 9,0,list@ha lwz 0,list@l(9) cmpwi 1,0,0 bc 12,6,.L282.L283: addis 9,0,part_nb@ha lwz 0,part_nb@l(9) cmpwi 1,0,1 bc 4,5,.L281.L282: addis 31,0,inptr@ha addis 29,0,insize@ha addis 9,0,inbuf@ha addi 30,9,inbuf@l.L284: lwz 9,inptr@l(31) lwz 0,insize@l(29) cmplw 1,9,0 bc 4,4,.L287 lbzx 3,30,9 addi 0,9,1 stw 0,inptr@l(31) b .L288.L287: li 3,0 bl fill_inbuf rlwinm 3,3,0,0xff.L288: cmpwi 1,3,0 bc 4,6,.L284 b .L280.L281: addis 3,0,ofname@ha addi 3,3,ofname@l bl basename mr 29,3 mr 31,29 addis 30,0,inptr@ha addis 24,0,insize@ha addis 9,0,inbuf@ha addi 25,9,inbuf@l addis 9,0,ofname+1024@ha addi 26,9,ofname+1024@l addis 27,0,.LC113@ha.L291: lwz 9,inptr@l(30) lwz 0,insize@l(24) cmplw 1,9,0 bc 4,4,.L294 lbzx 3,25,9 addi 0,9,1 stw 0,inptr@l(30) b .L295.L294: li 3,0 bl fill_inbuf.L295: stb 3,0(31) rlwinm 0,3,0,0xff addi 31,31,1 cmpwi 1,0,0 bc 12,6,.L292 cmplw 1,31,26 bc 12,4,.L291 addi 3,27,.LC113@l bl error b .L291.L292: addis 9,0,list@ha lwz 0,list@l(9) cmpwi 1,0,0 bc 4,6,.L280 cmpwi 1,29,0.L280: andi. 0,28,16 bc 12,2,.L300 b .L301.L304: li 3,0 bl fill_inbuf cmpwi 1,3,0 bc 12,6,.L300.L301: addis 10,0,inptr@ha addis 9,0,insize@ha lwz 11,inptr@l(10) lwz 0,insize@l(9) cmplw 1,11,0 bc 4,4,.L304 addis 9,0,inbuf@ha addi 9,9,inbuf@l lbzx 9,9,11 addi 0,11,1 stw 0,inptr@l(10) cmpwi 1,9,0 bc 4,6,.L301.L300: addis 9,0,part_nb@ha lwz 0,part_nb@l(9) cmpwi 1,0,1 bc 4,6,.L308 addis 11,0,header_bytes@ha addis 9,0,inptr@ha lwz 0,inptr@l(9) addic 0,0,8 stw 0,header_bytes@l(11) b .L308.L237: addi 3,1,8 addis 30,0,.LC114@ha addi 4,30,.LC114@l li 5,2 bl memcmp cmpwi 1,3,0 bc 4,6,.L309 addis 31,0,inptr@ha lwz 0,inptr@l(31) cmpwi 1,0,2 bc 4,6,.L309 addis 3,0,inbuf@ha addi 3,3,inbuf@l addi 4,30,.LC114@l li 5,4 bl memcmp mr. 3,3 bc 4,2,.L309 stw 3,inptr@l(31) addis 11,0,work@ha addis 9,0,unzip@ha addi 9,9,unzip@l stw 9,work@l(11) mr 3,29 bl check_zipfile cmpwi 1,3,0 bc 4,6,.L330 b .L328.L309: addi 3,1,8 addis 4,0,.LC115@ha addi 4,4,.LC115@l li 5,2 bl memcmp cmpwi 1,3,0 bc 4,6,.L312 addis 11,0,work@ha addis 9,0,unpack@ha addi 9,9,unpack@l stw 9,work@l(11) addis 9,0,method@ha li 0,2 stw 0,method@l(9) b .L308.L312: addi 3,1,8 addis 4,0,.LC116@ha addi 4,4,.LC116@l li 5,2 bl memcmp cmpwi 1,3,0 bc 4,6,.L314 addis 11,0,work@ha addis 9,0,unlzw@ha addi 9,9,unlzw@l stw 9,work@l(11) addis 9,0,method@ha li 0,1 stw 0,method@l(9) addis 9,0,last_member@ha b .L329.L314: addi 3,1,8 addis 4,0,.LC117@ha addi 4,4,.LC117@l li 5,2 bl memcmp cmpwi 1,3,0 bc 4,6,.L316 addis 11,0,work@ha addis 9,0,unlzh@ha addi 9,9,unlzh@l stw 9,work@l(11) addis 9,0,method@ha li 0,3 stw 0,method@l(9) b .L328.L316: addis 9,0,force@ha lwz 0,force@l(9) cmpwi 1,0,0 bc 12,6,.L308 addis 9,0,to_stdout@ha lwz 0,to_stdout@l(9) cmpwi 1,0,0 bc 12,6,.L308 addis 9,0,list@ha
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -