📄 gzip.s
字号:
.file "gzip.c" # rs6000/powerpc options: -msdata=data -G 8 # GNU C version 2.7-97r2 (powerpc-eabi) compiled by GNU C version 2.7-97r2. # options passed: -O # options enabled: -fdefer-pop -fomit-frame-pointer -fthread-jumps # -fpeephole -ffunction-cse -finline -fkeep-static-consts # -fpcc-struct-return -fsjlj-exceptions -fcommon -fverbose-asm # -fgnu-linker -mpowerpc -mnew-mnemonics -meabi -mcall-sysv -msdata=datagcc2_compiled.: .section ".data" .align 2 .type license_msg,@objectlicense_msg: .long .LC0 .long .LC1 .long .LC2 .long .LC3 .long .LC4 .long .LC5 .long .LC6 .long .LC7 .long .LC8 .long .LC9 .long .LC5 .long .LC10 .long .LC11 .long .LC12 .long 0 .section ".rodata" .align 2.LC12: .string " Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA." .align 2.LC11: .string " along with this program; if not, write to the Free Software" .align 2.LC10: .string " You should have received a copy of the GNU General Public License" .align 2.LC9: .string " GNU General Public License for more details." .align 2.LC8: .string " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the" .align 2.LC7: .string " but WITHOUT ANY WARRANTY; without even the implied warranty of" .align 2.LC6: .string " This program is distributed in the hope that it will be useful," .align 2.LC5: .string "" .align 2.LC4: .string " any later version." .align 2.LC3: .string " the Free Software Foundation; either version 2, or (at your option)" .align 2.LC2: .string " it under the terms of the GNU General Public License as published by" .align 2.LC1: .string " This program is free software; you can redistribute it and/or modify" .align 2.LC0: .string " Copyright (C) 1992-1993 Jean-loup Gailly" .size license_msg,60 .globl ascii .section ".sdata","aw" .align 2 .type ascii,@object .size ascii,4ascii: .long 0 .globl to_stdout .align 2 .type to_stdout,@object .size to_stdout,4to_stdout: .long 0 .globl decompress .align 2 .type decompress,@object .size decompress,4decompress: .long 0 .globl force .align 2 .type force,@object .size force,4force: .long 0 .globl no_name .align 2 .type no_name,@object .size no_name,4no_name: .long -1 .globl no_time .align 2 .type no_time,@object .size no_time,4no_time: .long -1 .globl recursive .align 2 .type recursive,@object .size recursive,4recursive: .long 0 .globl list .align 2 .type list,@object .size list,4list: .long 0 .globl verbose .align 2 .type verbose,@object .size verbose,4verbose: .long 0 .globl quiet .align 2 .type quiet,@object .size quiet,4quiet: .long 0 .globl do_lzw .align 2 .type do_lzw,@object .size do_lzw,4do_lzw: .long 0 .globl test .align 2 .type test,@object .size test,4test: .long 0 .globl maxbits .align 2 .type maxbits,@object .size maxbits,4maxbits: .long 16 .globl method .align 2 .type method,@object .size method,4method: .long 8 .globl level .align 2 .type level,@object .size level,4level: .long 6 .globl exit_code .align 2 .type exit_code,@object .size exit_code,4exit_code: .long 0 .globl args .align 2 .type args,@object .size args,4args: .long 0 .globl total_in .align 2 .type total_in,@object .size total_in,4total_in: .long 0 .globl total_out .align 2 .type total_out,@object .size total_out,4total_out: .long 0 .globl remove_ofname .align 2 .type remove_ofname,@object .size remove_ofname,4remove_ofname: .long 0 .globl longopts .section ".data" .align 2 .type longopts,@objectlongopts: .long .LC13 .long 0 .long 0 .long 97 .long .LC14 .long 0 .long 0 .long 99 .long .LC15 .long 0 .long 0 .long 99 .long .LC16 .long 0 .long 0 .long 100 .long .LC17 .long 0 .long 0 .long 100 .long .LC18 .long 0 .long 0 .long 102 .long .LC19 .long 0 .long 0 .long 104 .long .LC20 .long 0 .long 0 .long 108 .long .LC21 .long 0 .long 0 .long 76 .long .LC22 .long 0 .long 0 .long 110 .long .LC23 .long 0 .long 0 .long 78 .long .LC24 .long 0 .long 0 .long 113 .long .LC25 .long 0 .long 0 .long 113 .long .LC26 .long 0 .long 0 .long 114 .long .LC27 .long 1 .long 0 .long 83 .long .LC28 .long 0 .long 0 .long 116 .long .LC29 .long 0 .long 0 .long 84 .long .LC30 .long 0 .long 0 .long 118 .long .LC31 .long 0 .long 0 .long 86 .long .LC32 .long 0 .long 0 .long 49 .long .LC33 .long 0 .long 0 .long 57 .long .LC34 .long 0 .long 0 .long 90 .long .LC35 .long 1 .long 0 .long 98 .long 0 .long 0 .long 0 .long 0 .section ".rodata" .align 2.LC35: .string "bits" .align 2.LC34: .string "lzw" .align 2.LC33: .string "best" .align 2.LC32: .string "fast" .align 2.LC31: .string "version" .align 2.LC30: .string "verbose" .align 2.LC29: .string "no-time" .align 2.LC28: .string "test" .align 2.LC27: .string "suffix" .align 2.LC26: .string "recursive" .align 2.LC25: .string "silent" .align 2.LC24: .string "quiet" .align 2.LC23: .string "name" .align 2.LC22: .string "no-name" .align 2.LC21: .string "license" .align 2.LC20: .string "list" .align 2.LC19: .string "help" .align 2.LC18: .string "force" .align 2.LC17: .string "uncompress" .align 2.LC16: .string "decompress" .align 2.LC15: .string "stdout" .align 2.LC14: .string "to-stdout" .align 2.LC13: .string "ascii" .size longopts,384 .globl work .section ".sdata","aw" .align 2 .type work,@object .size work,4work: .long zip .section ".rodata" .align 2.LC36: .string "usage: %s [-%scdfhlLnN%stvV19] [-S suffix] [file ...]\n" .section ".text" .align 2 .type usage,@functionusage: stwu 1,-8(1) mflr 0 stw 0,12(1) addis 9,0,_impure_ptr@ha lwz 9,_impure_ptr@l(9) addis 11,0,progname@ha lwz 3,12(9) addis 4,0,.LC36@ha addi 4,4,.LC36@l lwz 5,progname@l(11) addis 6,0,.LC5@ha addi 6,6,.LC5@l mr 7,6 crxor 6,6,6 bl fprintf lwz 0,12(1) mtlr 0 addi 1,1,8 blr.Lfe1: .size usage,.Lfe1-usage .section ".data" .align 2 .type help_msg.4,@objecthelp_msg.4: .long .LC37 .long .LC38 .long .LC39 .long .LC40 .long .LC41 .long .LC42 .long .LC43 .long .LC44 .long .LC45 .long .LC46 .long .LC47 .long .LC48 .long .LC49 .long .LC50 .long .LC51 .long .LC52 .long 0 .section ".rodata" .align 2.LC52: .string " file... files to (de)compress. If none given, use standard input." .align 2.LC51: .string " -9 --best compress better" .align 2.LC50: .string " -1 --fast compress faster" .align 2.LC49: .string " -V --version display version number" .align 2.LC48: .string " -v --verbose verbose mode" .align 2.LC47: .string " -t --test test compressed file integrity" .align 2.LC46: .string " -S .suf --suffix .suf use suffix .suf on compressed files" .align 2.LC45: .string " -q --quiet suppress all warnings" .align 2.LC44: .string " -N --name save or restore the original name and time stamp" .align 2.LC43: .string " -n --no-name do not save or restore the original name and time stamp" .align 2.LC42: .string " -L --license display software license" .align 2.LC41: .string " -l --list list compressed file contents" .align 2.LC40: .string " -h --help give this help" .align 2.LC39: .string " -f --force force overwrite of output file and compress links" .align 2.LC38: .string " -d --decompress decompress" .align 2.LC37: .string " -c --stdout write on standard output, keep original files unchanged" .align 2.LC53: .string "%s %s (%s)\n" .align 2.LC54: .string "1.2.4" .align 2.LC55: .string "18 Aug 93" .align 2.LC56: .string "%s\n" .section ".text" .align 2 .type help,@functionhelp: 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,help_msg.4@ha addi 31,29,help_msg.4@l addis 9,0,_impure_ptr@ha lwz 9,_impure_ptr@l(9) addis 11,0,progname@ha lwz 3,12(9) addis 4,0,.LC53@ha addi 4,4,.LC53@l lwz 5,progname@l(11) addis 6,0,.LC54@ha addi 6,6,.LC54@l addis 7,0,.LC55@ha addi 7,7,.LC55@l crxor 6,6,6 bl fprintf bl usage lwz 0,help_msg.4@l(29) cmpwi 1,0,0 bc 12,6,.L4 addis 30,0,_impure_ptr@ha addis 29,0,.LC56@ha.L5: lwz 9,_impure_ptr@l(30) lwz 3,12(9) addi 4,29,.LC56@l lwz 5,0(31) crxor 6,6,6 bl fprintf lwzu 0,4(31) cmpwi 1,0,0 bc 4,6,.L5.L4: lwz 0,28(1) mtlr 0 lwz 29,12(1) lwz 30,16(1) lwz 31,20(1) addi 1,1,24 blr.Lfe2: .size help,.Lfe2-help .align 2 .type license,@functionlicense: 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,license_msg@ha addi 31,29,license_msg@l addis 9,0,_impure_ptr@ha lwz 9,_impure_ptr@l(9) addis 11,0,progname@ha lwz 3,12(9) addis 4,0,.LC53@ha addi 4,4,.LC53@l lwz 5,progname@l(11) addis 6,0,.LC54@ha addi 6,6,.LC54@l addis 7,0,.LC55@ha addi 7,7,.LC55@l crxor 6,6,6 bl fprintf lwz 0,license_msg@l(29) cmpwi 1,0,0 bc 12,6,.L9 addis 30,0,_impure_ptr@ha addis 29,0,.LC56@ha.L10: lwz 9,_impure_ptr@l(30) lwz 3,12(9) addi 4,29,.LC56@l lwz 5,0(31) crxor 6,6,6 bl fprintf lwzu 0,4(31) cmpwi 1,0,0 bc 4,6,.L10.L9: lwz 0,28(1) mtlr 0 lwz 29,12(1) lwz 30,16(1) lwz 31,20(1) addi 1,1,24 blr.Lfe3: .size license,.Lfe3-license .section ".rodata" .align 2.LC57: .string "Compilation options:\n%s %s " .align 2.LC58: .string "NO_DIR" .align 2.LC59: .string "HAVE_UNISTD_H " .align 2.LC60: .string "NO_MEMORY_H " .align 2.LC61: .string "\n" .section ".text" .align 2 .type version,@functionversion: 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,_impure_ptr@ha lwz 9,_impure_ptr@l(29) addis 11,0,progname@ha lwz 3,12(9) addis 4,0,.LC53@ha addi 4,4,.LC53@l lwz 5,progname@l(11) addis 6,0,.LC54@ha addi 6,6,.LC54@l addis 7,0,.LC55@ha addi 7,7,.LC55@l crxor 6,6,6 bl fprintf lwz 9,_impure_ptr@l(29) lwz 3,12(9) addis 4,0,.LC57@ha addi 4,4,.LC57@l addis 5,0,.LC58@ha addi 5,5,.LC58@l addis 6,0,.LC5@ha addi 6,6,.LC5@l crxor 6,6,6 bl fprintf lwz 9,_impure_ptr@l(29) lwz 3,12(9) addis 4,0,.LC59@ha addi 4,4,.LC59@l crxor 6,6,6 bl fprintf lwz 9,_impure_ptr@l(29) lwz 3,12(9) addis 4,0,.LC60@ha addi 4,4,.LC60@l crxor 6,6,6 bl fprintf lwz 9,_impure_ptr@l(29) lwz 3,12(9) addis 4,0,.LC61@ha addi 4,4,.LC61@l crxor 6,6,6 bl fprintf lwz 0,28(1) mtlr 0 lwz 29,12(1) lwz 30,16(1) lwz 31,20(1) addi 1,1,24 blr.Lfe4: .size version,.Lfe4-version .section ".rodata" .align 2.LC62: .string ".exe" .align 2.LC63: .string "GZIP" .align 2.LC64: .string "un" .align 2.LC65: .string "gun" .align 2.LC66: .string "cat" .align 2.LC67: .string "gzcat" .align 2.LC68: .string ".gz" .align 2.LC69: .string "ab:cdfhH?lLmMnNqrS:tvVZ123456789" .align 2.LC70: .string "%s: -r not supported on this system\n" .align 2.LC71: .string "%s: -Z not supported in this version\n" .align 2.LC72: .string "%s: option --ascii ignored on this system\n" .align 2.LC73: .string "%s: incorrect suffix '%s'\n" .section ".text" .align 2 .globl main .type main,@functionmain: stwu 1,-80(1) mflr 0 stw 18,24(1) stw 19,28(1) stw 20,32(1) stw 21,36(1) stw 22,40(1) stw 23,44(1) stw 24,48(1) 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 3,16(1) stw 4,12(1) stw 0,84(1) bl __eabi lwz 3,16(1) lwz 4,12(1) stw 3,8(1) stw 4,12(1) lwz 3,0(4) bl basename addis 28,0,progname@ha stw 3,progname@l(28) bl strlen mr 29,3 cmpwi 1,29,4 bc 4,5,.L14 lwz 3,progname@l(28) add 3,29,3 addi 3,3,-4 addis 4,0,.LC62@ha addi 4,4,.LC62@l bl strcmp mr. 3,3 bc 4,2,.L14 lwz 9,progname@l(28) add 9,29,9 stb 3,-4(9).L14: addi 3,1,8 addi 4,1,12 addis 5,0,.LC63@ha addi 5,5,.LC63@l bl add_envopt addis 9,0,env@ha stw 3,env@l(9) cmpwi 1,3,0 bc 12,6,.L15 addis 9,0,args@ha lwz 0,12(1) stw 0,args@l(9).L15: addis 29,0,foreground@ha li 3,2 li 4,1 bl signal xori 3,3,1 addic 0,3,-1 subfe 3,0,3 stw 3,foreground@l(29) cmpwi 1,3,0 bc 12,6,.L16 li 3,2 addis 4,0,abort_gzip@ha addi 4,4,abort_gzip@l bl signal.L16: li 3,15 li 4,1 bl signal cmpwi 1,3,1 bc 12,6,.L17 li 3,15 addis 4,0,abort_gzip@ha addi 4,4,abort_gzip@l bl signal.L17: li 3,1 mr 4,3 bl signal cmpwi 1,3,1 bc 12,6,.L18 li 3,1 addis 4,0,abort_gzip@ha addi 4,4,abort_gzip@l bl signal.L18: addis 29,0,progname@ha lwz 3,progname@l(29) addis 4,0,.LC64@ha addi 4,4,.LC64@l li 5,2 bl strncmp cmpwi 1,3,0 bc 12,6,.L20 lwz 3,progname@l(29) addis 4,0,.LC65@ha addi 4,4,.LC65@l li 5,3 bl strncmp cmpwi 1,3,0 bc 4,6,.L19.L20: addis 9,0,decompress@ha li 0,1 stw 0,decompress@l(9) b .L21.L19: addis 29,0,progname@ha lwz 3,progname@l(29) addi 3,3,1 addis 4,0,.LC66@ha addi 4,4,.LC66@l bl strcmp cmpwi 1,3,0 bc 12,6,.L23 lwz 3,progname@l(29) addis 4,0,.LC67@ha addi 4,4,.LC67@l bl strcmp cmpwi 1,3,0 bc 4,6,.L21.L23: addis 11,0,decompress@ha addis 9,0,to_stdout@ha li 0,1 stw 0,to_stdout@l(9) stw 0,decompress@l(11).L21: addis 28,0,z_suffix@ha addi 3,28,z_suffix@l addis 4,0,.LC68@ha addi 4,4,.LC68@l li 5,30 bl strncpy addis 29,0,z_len@ha addi 3,28,z_suffix@l bl strlen
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -