📄 gzip.s
字号:
addis 9,0,list@ha lwz 0,list@l(9) cmpwi 1,0,0 bc 12,6,.L123.L125: addis 9,0,istat+28@ha lwz 0,istat+28@l(9) b .L124.L123: li 0,0.L124: stw 0,0(11) addis 9,0,to_stdout@ha lwz 0,to_stdout@l(9) cmpwi 1,0,0 bc 12,6,.L126 addis 9,0,list@ha lwz 0,list@l(9) cmpwi 1,0,0 bc 4,6,.L126 addis 9,0,test@ha lwz 0,test@l(9) cmpwi 1,0,0 bc 4,6,.L126 addis 10,0,ofname@ha addi 8,10,ofname@l addis 9,0,.LC15@ha addi 11,9,.LC15@l lwz 0,.LC15@l(9) lhz 9,4(11) lbz 11,6(11) stw 0,ofname@l(10) sth 9,4(8) stb 11,6(8) b .L127.L126: bl make_ofname cmpwi 1,3,0 bc 4,6,.L109.L127: addis 29,0,ifname@ha addi 3,29,ifname@l li 4,0 li 5,384 crxor 6,6,6 bl open addis 9,0,ifd@ha stw 3,ifd@l(9) cmpwi 1,3,-1 bc 4,6,.L129 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 5,progname@l(11) crxor 6,6,6 bl fprintf addi 3,29,ifname@l bl perror addis 9,0,exit_code@ha li 0,1 stw 0,exit_code@l(9) b .L109.L129: bl clear_bufs addis 9,0,part_nb@ha li 0,0 stw 0,part_nb@l(9) addis 9,0,decompress@ha lwz 0,decompress@l(9) cmpwi 1,0,0 bc 12,6,.L130 addis 29,0,ifd@ha lwz 3,ifd@l(29) bl get_method addis 9,0,method@ha stw 3,method@l(9) cmpwi 1,3,0 bc 12,4,.L161.L130: addis 9,0,list@ha lwz 0,list@l(9) cmpwi 1,0,0 bc 12,6,.L132 addis 29,0,ifd@ha addis 9,0,method@ha lwz 3,ifd@l(29) lwz 4,method@l(9) bl do_list.L161: lwz 3,ifd@l(29) bl close b .L109.L132: addis 9,0,to_stdout@ha lwz 0,to_stdout@l(9) cmpwi 1,0,0 bc 12,6,.L133 addis 9,0,_impure_ptr@ha lwz 9,_impure_ptr@l(9) lwz 3,8(9) bl fileno addis 9,0,ofd@ha stw 3,ofd@l(9) b .L134.L133: bl create_outfile cmpwi 1,3,0 bc 4,6,.L109 addis 9,0,decompress@ha lwz 0,decompress@l(9) cmpwi 1,0,0 bc 4,6,.L134 addis 9,0,save_orig_name@ha lwz 0,save_orig_name@l(9) cmpwi 1,0,0 bc 12,6,.L160 addis 9,0,verbose@ha lwz 0,verbose@l(9) cmpwi 1,0,0 bc 4,6,.L134 addis 9,0,quiet@ha lwz 0,quiet@l(9) cmpwi 1,0,0 bc 4,6,.L134 addis 9,0,_impure_ptr@ha lwz 9,_impure_ptr@l(9) addis 11,0,progname@ha lwz 3,12(9) addis 4,0,.LC87@ha addi 4,4,.LC87@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 crxor 6,6,6 bl fprintf.L134: addis 9,0,save_orig_name@ha lwz 0,save_orig_name@l(9) cmpwi 1,0,0 bc 4,6,.L137.L160: addis 11,0,save_orig_name@ha addis 9,0,no_name@ha lwz 0,no_name@l(9) subfic 9,0,0 adde 0,9,0 stw 0,save_orig_name@l(11).L137: addis 9,0,verbose@ha lwz 0,verbose@l(9) cmpwi 1,0,0 bc 12,6,.L138 addis 9,0,_impure_ptr@ha lwz 28,_impure_ptr@l(9) addis 29,0,ifname@ha addi 3,29,ifname@l bl strlen cmpwi 1,3,14 bc 12,5,.L139 addi 3,29,ifname@l bl strlen cmpwi 1,3,6 bc 4,5,.L141 addis 9,0,.LC89@ha addi 6,9,.LC89@l b .L140.L141: addis 9,0,.LC90@ha addi 6,9,.LC90@l b .L140.L139: addis 9,0,.LC5@ha addi 6,9,.LC5@l.L140: lwz 3,12(28) addis 4,0,.LC88@ha addi 4,4,.LC88@l addis 5,0,ifname@ha addi 5,5,ifname@l crxor 6,6,6 bl fprintf.L138: addis 22,0,work@ha addis 28,0,ifd@ha addis 23,0,ofd@ha addis 24,0,decompress@ha addis 25,0,last_member@ha addis 26,0,inptr@ha addis 27,0,insize@ha addis 30,0,method@ha addis 31,0,bytes_out@ha.L143: lwz 0,work@l(22) lwz 3,ifd@l(28) lwz 4,ofd@l(23) mtlr 0 blrl cmpwi 1,3,0 bc 4,6,.L146 lwz 0,decompress@l(24) cmpwi 1,0,0 bc 12,6,.L144 lwz 29,last_member@l(25) cmpwi 1,29,0 bc 4,6,.L144 lwz 0,inptr@l(26) lwz 9,insize@l(27) cmpw 1,0,9 bc 12,6,.L144 lwz 3,ifd@l(28) bl get_method stw 3,method@l(30) cmpwi 1,3,0 bc 12,4,.L144 stw 29,bytes_out@l(31) b .L143.L146: addis 9,0,method@ha li 0,-1 stw 0,method@l(9).L144: addis 9,0,ifd@ha lwz 3,ifd@l(9) bl close addis 9,0,to_stdout@ha lwz 0,to_stdout@l(9) cmpwi 1,0,0 bc 4,6,.L150 addis 9,0,ofd@ha lwz 3,ofd@l(9) bl close cmpwi 1,3,0 bc 12,6,.L150 bl write_error.L150: addis 9,0,method@ha lwz 0,method@l(9) cmpwi 1,0,-1 bc 4,6,.L151 addis 9,0,to_stdout@ha lwz 0,to_stdout@l(9) cmpwi 1,0,0 bc 4,6,.L109 addis 3,0,ofname@ha addi 3,3,ofname@l bl unlink b .L109.L151: addis 9,0,verbose@ha lwz 0,verbose@l(9) cmpwi 1,0,0 bc 12,6,.L153 addis 9,0,test@ha lwz 0,test@l(9) cmpwi 1,0,0 bc 12,6,.L154 addis 9,0,_impure_ptr@ha lwz 9,_impure_ptr@l(9) lwz 3,12(9) addis 4,0,.LC91@ha addi 4,4,.LC91@l crxor 6,6,6 bl fprintf b .L155.L154: addis 9,0,decompress@ha lwz 0,decompress@l(9) cmpwi 1,0,0 bc 12,6,.L156 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) b .L162.L156: addis 10,0,bytes_in@ha addis 9,0,bytes_out@ha addis 11,0,header_bytes@ha lwz 3,bytes_out@l(9) lwz 0,header_bytes@l(11) subf 3,0,3 lwz 4,bytes_in@l(10).L162: addis 9,0,_impure_ptr@ha lwz 9,_impure_ptr@l(9) subf 3,3,4 lwz 5,12(9) bl display_ratio.L155: addis 9,0,test@ha lwz 0,test@l(9) cmpwi 1,0,0 bc 4,6,.L158 addis 9,0,to_stdout@ha lwz 0,to_stdout@l(9) cmpwi 1,0,0 bc 4,6,.L158 addis 9,0,_impure_ptr@ha lwz 9,_impure_ptr@l(9) lwz 3,12(9) addis 4,0,.LC92@ha addi 4,4,.LC92@l addis 5,0,ofname@ha addi 5,5,ofname@l crxor 6,6,6 bl fprintf.L158: addis 9,0,_impure_ptr@ha lwz 9,_impure_ptr@l(9) lwz 3,12(9) addis 4,0,.LC61@ha addi 4,4,.LC61@l crxor 6,6,6 bl fprintf.L153: addis 9,0,to_stdout@ha lwz 0,to_stdout@l(9) cmpwi 1,0,0 bc 4,6,.L109 addis 3,0,istat@ha addi 3,3,istat@l bl copy_stat.L109: lwz 0,52(1) mtlr 0 lwz 22,8(1) lwz 23,12(1) 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.Lfe7: .size treat_file,.Lfe7-treat_file .section ".rodata" .align 2.LC93: .string "%s: %s: warning, name truncated\n" .section ".text" .align 2 .type create_outfile,@functioncreate_outfile: stwu 1,-112(1) mflr 0 stw 23,76(1) stw 24,80(1) stw 25,84(1) stw 26,88(1) stw 27,92(1) stw 28,96(1) stw 29,100(1) stw 30,104(1) stw 31,108(1) stw 0,116(1) li 23,2561 addis 9,0,ascii@ha lwz 0,ascii@l(9) cmpwi 1,0,0 addis 28,0,ifd@ha addis 24,0,remove_ofname@ha li 25,1 addis 31,0,ofname@ha addis 30,0,ofd@ha addis 29,0,exit_code@ha addis 27,0,_impure_ptr@ha addis 26,0,progname@ha.L166: bl check_ofname cmpwi 1,3,0 bc 12,6,.L169 lwz 3,ifd@l(28) bl close li 3,1 b .L176.L169: stw 25,remove_ofname@l(24) addi 3,31,ofname@l mr 4,23 li 5,384 crxor 6,6,6 bl open stw 3,ofd@l(30) cmpwi 1,3,-1 bc 4,6,.L170 addi 3,31,ofname@l bl perror lwz 3,ifd@l(28) bl close b .L177.L170: lwz 3,ofd@l(30) addi 4,1,8 bl fstat cmpwi 1,3,0 bc 12,6,.L171 lwz 9,_impure_ptr@l(27) lwz 3,12(9) addis 4,0,.LC86@ha addi 4,4,.LC86@l lwz 5,progname@l(26) crxor 6,6,6 bl fprintf addi 3,31,ofname@l bl perror lwz 3,ifd@l(28) bl close lwz 3,ofd@l(30) bl close addi 3,31,ofname@l bl unlink.L177: stw 25,exit_code@l(29) li 3,1 b .L176.L171: addi 3,31,ofname@l addi 4,1,8 bl name_too_long cmpwi 1,3,0 bc 4,6,.L172.L178: li 3,0 b .L176.L172: addis 9,0,decompress@ha lwz 0,decompress@l(9) cmpwi 1,0,0 bc 12,6,.L173 addis 9,0,quiet@ha lwz 0,quiet@l(9) cmpwi 1,0,0 bc 4,6,.L174 lwz 9,_impure_ptr@l(27) lwz 3,12(9) addis 4,0,.LC93@ha addi 4,4,.LC93@l lwz 5,progname@l(26) addi 6,31,ofname@l crxor 6,6,6 bl fprintf.L174: lwz 0,exit_code@l(29) cmpwi 1,0,0 bc 4,6,.L178 li 0,2 stw 0,exit_code@l(29) b .L178.L173: lwz 3,ofd@l(30) bl close addi 3,31,ofname@l bl unlink addi 3,31,ofname@l bl shorten_name b .L166.L176: lwz 0,116(1) mtlr 0 lwz 23,76(1) lwz 24,80(1) lwz 25,84(1) lwz 26,88(1) 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.Lfe8: .size create_outfile,.Lfe8-create_outfile .align 2 .type do_stat,@functiondo_stat: stwu 1,-16(1) mflr 0 stw 30,8(1) stw 31,12(1) stw 0,20(1) mr 31,3 mr 30,4 bl __errno li 0,0 stw 0,0(3) addis 9,0,to_stdout@ha lwz 0,to_stdout@l(9) cmpwi 1,0,0 bc 4,6,.L180 addis 9,0,force@ha lwz 0,force@l(9) cmpwi 1,0,0 bc 4,6,.L180 mr 3,31 mr 4,30 crxor 6,6,6 bl lstat b .L181.L180: mr 3,31 mr 4,30 bl stat.L181: lwz 0,20(1) mtlr 0 lwz 30,8(1) lwz 31,12(1) addi 1,1,16 blr.Lfe9: .size do_stat,.Lfe9-do_stat .section ".data" .align 2 .type known_suffixes.21,@objectknown_suffixes.21: .long z_suffix .long .LC68 .long .LC94 .long .LC95 .long .LC96 .long .LC97 .long .LC98 .long .LC99 .long 0 .section ".rodata" .align 2.LC99: .string "_z" .align 2.LC98: .string "-z" .align 2.LC97: .string "-gz" .align 2.LC96: .string ".tgz" .align 2.LC95: .string ".taz" .align 2.LC94: .string ".z" .align 2.LC100: .string "z" .section ".text" .align 2 .type get_suffix,@functionget_suffix: stwu 1,-80(1) mflr 0 stw 25,52(1) stw 26,56(1) stw 27,60(1) stw 28,64(1) stw 29,68(1) stw 30,72(1) stw 31,76(1) stw 0,84(1) mr 26,3 addis 9,0,known_suffixes.21@ha addi 30,9,known_suffixes.21@l addis 3,0,z_suffix@ha addi 3,3,z_suffix@l addis 4,0,.LC100@ha addi 4,4,.LC100@l bl strcmp srawi 9,3,31 xor 0,9,3 subf 0,0,9 srawi 0,0,31 addi 9,30,4 and 11,0,30 andc 0,9,0 or 30,11,0 mr 3,26 bl strlen mr 27,3 cmpwi 1,27,32 bc 12,5,.L184 addi 3,1,8 mr 4,26 b .L193.L192: add 3,26,27 subf 3,31,3 b .L191.L184: add 4,26,27 addi 3,1,8 addi 4,4,-32.L193: bl strcpy addi 3,1,8 bl strlwr addi 3,1,8 bl strlen mr 29,3 addi 28,1,8 add 25,28,29.L186: lwz 3,0(30) bl strlen mr 31,3 cmpw 1,29,31 bc 4,5,.L188 subf 0,31,29 addic 0,0,-1 lbzx 0,28,0 cmpwi 1,0,47 bc 12,6,.L188 subf 3,31,25 lwz 4,0(30) bl strcmp cmpwi 1,3,0 bc 12,6,.L192.L188: lwzu 0,4(30) cmpwi 1,0,0 bc 4,6,.L186 li 3,0.L191: lwz 0,84(1) mtlr 0 lwz 25,52(1) lwz 26,56(1) lwz 27,60(1) lwz 28,64(1) lwz 29,68(1) lwz 30,72(1) lwz 31,76(1) addi 1,1,80 blr.Lfe10: .size get_suffix,.Lfe10-get_suffix .section ".data" .align 2 .type suffixes.24,@objectsuffixes.24: .long z_suffix .long .LC68 .long .LC94 .long .LC98 .long .LC101 .long 0 .section ".rodata" .align 2.LC101: .string ".Z" .section ".text" .align 2 .type get_istat,@functionget_istat: stwu 1,-48(1) mflr 0 stw 23,12(1) 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 0,3 mr 28,4 addis 9,0,suffixes.24@ha addi 31,9,suffixes.24@l addis 29,0,ifname@ha addi 3,29,ifname@l mr 4,0 bl strcpy addi 3,29,ifname@l mr 4,28 bl do_stat cmpwi 1,3,0 bc 12,6,.L203 addis 9,0,decompress@ha lwz 0,decompress@l(9) cmpwi 1,0,0 bc 12,6,.L197 bl __errno lwz 0,0(3) cmpwi 1,0,2 bc 12,6,.L196.L197: addis 3,0,ifname@ha addi 3,3,ifname@l b .L206.L196: addis 30,0,ifname@ha addi 3,30,ifname@l bl get_suffix cmpwi 1,3,0 bc 12,6,.L198 addi 3,30,ifname@l.L206: bl perror addis 9,0,exit_code@ha li 0,1 stw 0,exit_code@l(9) li 3,1 b .L205.L198: addis 3,0,ifname@ha addi 3,3,ifname@l bl strlen mr 27,3 addis 3,0,z_suffix@ha addi 3,3,z_suffix@l addis 4,0,.LC68@ha addi 4,4,.LC68@l bl strcmp srawi 0,3,31 xor 11,0,3 subf 11,11,0 srawi 11,11,31 addi 0,31,4 and 9,31,11 andc 0,0,11 or 31,9,0 addis 30,0,ifname@ha mr 9,30 addi 29,9,ifname@l li 26,0 addis 25,0,z_suffix@ha addis 23,0,exit_code@ha li 24,1.L200: addi 3,30,ifname@l lwz 4,0(31) bl strcat addi 3,30,ifname@l mr 4,28 bl do_stat cmpwi 1,3,0 bc 12,6,.L203 stbx 26,29,27 lwzu 0,4(31) cmpwi 1,0,0 bc 4,6,.L200 mr 3,29 addi 4,25,z_suffix@l bl strcat mr 3,29 bl perror stw 24,exit_code@l(23) li 3,1 b .L205.L203: li 3,0.L205: lwz 0,52(1) mtlr 0 lwz 23,12(1) 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.Lfe11: .size get_istat,.Lfe11-get_istat .section ".rodata" .align 2.LC102: .string "%s: %s: unknown suffix -- ignored\n" .align 2.LC103: .string ".tar" .align 2.LC104: .string "%s: %s already has %s suffix -- unchanged\n" .section ".text" .align 2 .type make_ofname,@functionmake_ofname: stwu 1,-24(1) mflr 0 stw 29,12(1) stw 30,16(1) stw 31,20(1) stw 0,28(1) addis 29,0,ofname@ha addi 3,29,ofname@l addis 4,0,ifname@ha addi 4,4,ifname@l bl strcpy addi 3,29,ofname@l bl get_suffix mr 29,3 addis 9,0,decompress@ha lwz 0,decompress@l(9) cmpwi 1,0,0 bc 12,6,.L208 cmpwi 1,29,0 bc 4,6,.L209 addis 9,0,recursive@ha lwz 0,recursive@l(9) cmpwi 1,0,0 bc 4,6,.L210 addis 9,0,list@ha lwz 0,list@l(9) cmpwi 1,0,0 bc 4,6,.L219 addis 9,0,test@ha lwz 0,test@l(9) cmpwi 1,0,0 bc 4,6,.L219.L210: addis 9,0,verbose@ha lwz 0,verbose@l(9) cmpwi 1,0,0 bc 4,6,.L213 addis 9,0,recursive@ha lwz 0,recursive@l(9) cmpwi 1,0,0 bc 4,6,.L223 addis 9,0,quiet@ha lwz 0,quiet@l(9) cmpwi 1,0,0 bc 4,6,.L223.L213: addis 9,0,quiet@ha lwz 0,quiet@l(9)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -