~ubuntu-branches/ubuntu/lucid/unzip/lucid-security

« back to all changes in this revision

Viewing changes to win32/crc_lcc.asm

  • Committer: Bazaar Package Importer
  • Author(s): Santiago Vila
  • Date: 2009-05-08 20:02:40 UTC
  • mfrom: (1.1.2 upstream)
  • mto: This revision was merged to the branch mainline in revision 18.
  • Revision ID: james.westby@ubuntu.com-20090508200240-7l4gypruop5863bd
* New upstream release. Closes: #496989.
* Enabled new Unicode support. Closes: #197427. This may or may not work
  for your already created zipfiles, but it's not a bug unless they were
  created using the Unicode feature present in zip 3.0.
* Built using DATE_FORMAT=DF_YMD so that unzip -l show dates in ISO format,
  as that's the only available one which makes sense. Closes: #312886.
* Enabled new bzip2 support. Closes: #426798.
* Exit code for zipgrep should now be the right one. Closes: #441997.
* The reason why a file may not be created is now shown. Closes: #478791.
* Summary of changes in this version not being the debian/* files:
- Manpages in section 1, not 1L.
- Branding patch. UnZip by Debian. Original by Info-ZIP.
- Always #include <unistd.h>. Debian GNU/kFreeBSD needs it.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
;===========================================================================
2
 
; Copyright (c) 1990-2000 Info-ZIP.  All rights reserved.
 
2
; Copyright (c) 1990-2006 Info-ZIP.  All rights reserved.
3
3
;
4
4
; See the accompanying file LICENSE, version 2000-Apr-09 or later
5
5
; (the contents of which are also included in zip.h) for terms of use.
7
7
; also may be found at:  ftp://ftp.info-zip.org/pub/infozip/license.html
8
8
;===========================================================================
9
9
; crc_lcc.asm, optimized CRC calculation function for Zip and UnZip,
10
 
; created by Paul Kienitz and Christian Spieler.  Last revised 24 Dec 98.
 
10
; created by Paul Kienitz and Christian Spieler.  Last revised 02 Jan 2006.
11
11
;
12
12
; The code in this file has been copied verbatim from crc_i386.{asm|S};
13
13
; only the assembler syntax and metacommands have been adapted to
59
59
        jnz     _$5
60
60
_$6:
61
61
        movl    %ecx,%edx
62
 
        shrl    $3,%ecx
 
62
        shrl    $4,%ecx
63
63
        jz      _$8
64
64
_$7:
65
65
        xorl    (%esi),%eax
66
 
        addl    $4,%esi
67
 
        movzbl  %al,%ebx
68
 
        shrl    $8,%eax
69
 
        xorl    (%edi,%ebx,4),%eax
70
 
        movzbl  %al,%ebx
71
 
        shrl    $8,%eax
72
 
        xorl    (%edi,%ebx,4),%eax
73
 
        movzbl  %al,%ebx
74
 
        shrl    $8,%eax
75
 
        xorl    (%edi,%ebx,4),%eax
76
 
        movzbl  %al,%ebx
77
 
        shrl    $8,%eax
78
 
        xorl    (%edi,%ebx,4),%eax
79
 
        xorl    (%esi),%eax
80
 
        addl    $4,%esi
81
 
        movzbl  %al,%ebx
82
 
        shrl    $8,%eax
83
 
        xorl    (%edi,%ebx,4),%eax
84
 
        movzbl  %al,%ebx
85
 
        shrl    $8,%eax
86
 
        xorl    (%edi,%ebx,4),%eax
 
66
        movzbl  %al,%ebx
 
67
        shrl    $8,%eax
 
68
        xorl    (%edi,%ebx,4),%eax
 
69
        movzbl  %al,%ebx
 
70
        shrl    $8,%eax
 
71
        xorl    (%edi,%ebx,4),%eax
 
72
        movzbl  %al,%ebx
 
73
        shrl    $8,%eax
 
74
        xorl    (%edi,%ebx,4),%eax
 
75
        movzbl  %al,%ebx
 
76
        shrl    $8,%eax
 
77
        xorl    (%edi,%ebx,4),%eax
 
78
        xorl    4(%esi),%eax
 
79
        movzbl  %al,%ebx
 
80
        shrl    $8,%eax
 
81
        xorl    (%edi,%ebx,4),%eax
 
82
        movzbl  %al,%ebx
 
83
        shrl    $8,%eax
 
84
        xorl    (%edi,%ebx,4),%eax
 
85
        movzbl  %al,%ebx
 
86
        shrl    $8,%eax
 
87
        xorl    (%edi,%ebx,4),%eax
 
88
        movzbl  %al,%ebx
 
89
        shrl    $8,%eax
 
90
        xorl    (%edi,%ebx,4),%eax
 
91
        xorl    8(%esi),%eax
 
92
        movzbl  %al,%ebx
 
93
        shrl    $8,%eax
 
94
        xorl    (%edi,%ebx,4),%eax
 
95
        movzbl  %al,%ebx
 
96
        shrl    $8,%eax
 
97
        xorl    (%edi,%ebx,4),%eax
 
98
        movzbl  %al,%ebx
 
99
        shrl    $8,%eax
 
100
        xorl    (%edi,%ebx,4),%eax
 
101
        movzbl  %al,%ebx
 
102
        shrl    $8,%eax
 
103
        xorl    (%edi,%ebx,4),%eax
 
104
        xorl    12(%esi),%eax
 
105
        movzbl  %al,%ebx
 
106
        shrl    $8,%eax
 
107
        xorl    (%edi,%ebx,4),%eax
 
108
        movzbl  %al,%ebx
 
109
        shrl    $8,%eax
 
110
        xorl    (%edi,%ebx,4),%eax
 
111
        addl    $16,%esi
87
112
        movzbl  %al,%ebx
88
113
        shrl    $8,%eax
89
114
        xorl    (%edi,%ebx,4),%eax
94
119
        jnz     _$7
95
120
_$8:
96
121
        movl    %edx,%ecx
97
 
        andl    $7,%ecx
98
 
        jz      _$4
 
122
        andl    $0x0f,%ecx
 
123
        shrl    $2,%ecx
 
124
        jz      _$10
99
125
_$9:
 
126
        xorl    (%esi),%eax
 
127
        movzbl  %al,%ebx
 
128
        shrl    $8,%eax
 
129
        xorl    (%edi,%ebx,4),%eax
 
130
        movzbl  %al,%ebx
 
131
        shrl    $8,%eax
 
132
        xorl    (%edi,%ebx,4),%eax
 
133
        addl    $4,%esi
 
134
        movzbl  %al,%ebx
 
135
        shrl    $8,%eax
 
136
        xorl    (%edi,%ebx,4),%eax
 
137
        movzbl  %al,%ebx
 
138
        shrl    $8,%eax
 
139
        xorl    (%edi,%ebx,4),%eax
 
140
        decl    %ecx
 
141
        jnz     _$9
 
142
_$10:
 
143
        movl    %edx,%ecx
 
144
        andl    $0x03,%ecx
 
145
        jz      _$4
 
146
_$11:
100
147
        xorb    (%esi),%al
101
148
        incl    %esi
102
149
        movzbl  %al,%ebx
103
150
        shrl    $8,%eax
104
151
        xorl    (%edi,%ebx,4),%eax
105
152
        decl    %ecx
106
 
        jnz     _$9
 
153
        jnz     _$11
107
154
_$4:
108
155
        xorl    $0xffffffff,%eax
109
156
_$3: