sha256-586.S revision 1.1
1.file "sha512-586.s" 2.text 3.globl sha256_block_data_order 4.type sha256_block_data_order,@function 5.align 16 6sha256_block_data_order: 7.L_sha256_block_data_order_begin: 8 pushl %ebp 9 pushl %ebx 10 pushl %esi 11 pushl %edi 12 movl 20(%esp),%esi 13 movl 24(%esp),%edi 14 movl 28(%esp),%eax 15 movl %esp,%ebx 16 call .L000pic_point 17.L000pic_point: 18 popl %ebp 19 leal .L001K256-.L000pic_point(%ebp),%ebp 20 subl $16,%esp 21 andl $-64,%esp 22 shll $6,%eax 23 addl %edi,%eax 24 movl %esi,(%esp) 25 movl %edi,4(%esp) 26 movl %eax,8(%esp) 27 movl %ebx,12(%esp) 28.align 16 29.L002loop: 30 movl (%edi),%eax 31 movl 4(%edi),%ebx 32 movl 8(%edi),%ecx 33 movl 12(%edi),%edx 34 bswap %eax 35 bswap %ebx 36 bswap %ecx 37 bswap %edx 38 pushl %eax 39 pushl %ebx 40 pushl %ecx 41 pushl %edx 42 movl 16(%edi),%eax 43 movl 20(%edi),%ebx 44 movl 24(%edi),%ecx 45 movl 28(%edi),%edx 46 bswap %eax 47 bswap %ebx 48 bswap %ecx 49 bswap %edx 50 pushl %eax 51 pushl %ebx 52 pushl %ecx 53 pushl %edx 54 movl 32(%edi),%eax 55 movl 36(%edi),%ebx 56 movl 40(%edi),%ecx 57 movl 44(%edi),%edx 58 bswap %eax 59 bswap %ebx 60 bswap %ecx 61 bswap %edx 62 pushl %eax 63 pushl %ebx 64 pushl %ecx 65 pushl %edx 66 movl 48(%edi),%eax 67 movl 52(%edi),%ebx 68 movl 56(%edi),%ecx 69 movl 60(%edi),%edx 70 bswap %eax 71 bswap %ebx 72 bswap %ecx 73 bswap %edx 74 pushl %eax 75 pushl %ebx 76 pushl %ecx 77 pushl %edx 78 addl $64,%edi 79 subl $32,%esp 80 movl %edi,100(%esp) 81 movl (%esi),%eax 82 movl 4(%esi),%ebx 83 movl 8(%esi),%ecx 84 movl 12(%esi),%edi 85 movl %ebx,4(%esp) 86 movl %ecx,8(%esp) 87 movl %edi,12(%esp) 88 movl 16(%esi),%edx 89 movl 20(%esi),%ebx 90 movl 24(%esi),%ecx 91 movl 28(%esi),%edi 92 movl %ebx,20(%esp) 93 movl %ecx,24(%esp) 94 movl %edi,28(%esp) 95.align 16 96.L00300_15: 97 movl 92(%esp),%ebx 98 movl %edx,%ecx 99 rorl $6,%ecx 100 movl %edx,%edi 101 rorl $11,%edi 102 movl 20(%esp),%esi 103 xorl %edi,%ecx 104 rorl $14,%edi 105 xorl %edi,%ecx 106 movl 24(%esp),%edi 107 addl %ecx,%ebx 108 movl %edx,16(%esp) 109 xorl %edi,%esi 110 movl %eax,%ecx 111 andl %edx,%esi 112 movl 12(%esp),%edx 113 xorl %edi,%esi 114 movl %eax,%edi 115 addl %esi,%ebx 116 rorl $2,%ecx 117 addl 28(%esp),%ebx 118 rorl $13,%edi 119 movl 4(%esp),%esi 120 xorl %edi,%ecx 121 rorl $9,%edi 122 addl %ebx,%edx 123 xorl %edi,%ecx 124 movl 8(%esp),%edi 125 addl %ecx,%ebx 126 movl %eax,(%esp) 127 movl %eax,%ecx 128 subl $4,%esp 129 orl %esi,%eax 130 andl %esi,%ecx 131 andl %edi,%eax 132 movl (%ebp),%esi 133 orl %ecx,%eax 134 addl $4,%ebp 135 addl %ebx,%eax 136 addl %esi,%edx 137 addl %esi,%eax 138 cmpl $3248222580,%esi 139 jne .L00300_15 140 movl 152(%esp),%ebx 141.align 16 142.L00416_63: 143 movl %ebx,%esi 144 movl 100(%esp),%ecx 145 shrl $3,%ebx 146 rorl $7,%esi 147 xorl %esi,%ebx 148 rorl $11,%esi 149 movl %ecx,%edi 150 xorl %esi,%ebx 151 shrl $10,%ecx 152 movl 156(%esp),%esi 153 rorl $17,%edi 154 xorl %edi,%ecx 155 rorl $2,%edi 156 addl %esi,%ebx 157 xorl %ecx,%edi 158 addl %edi,%ebx 159 movl %edx,%ecx 160 addl 120(%esp),%ebx 161 rorl $6,%ecx 162 movl %edx,%edi 163 rorl $11,%edi 164 movl 20(%esp),%esi 165 xorl %edi,%ecx 166 rorl $14,%edi 167 movl %ebx,92(%esp) 168 xorl %edi,%ecx 169 movl 24(%esp),%edi 170 addl %ecx,%ebx 171 movl %edx,16(%esp) 172 xorl %edi,%esi 173 movl %eax,%ecx 174 andl %edx,%esi 175 movl 12(%esp),%edx 176 xorl %edi,%esi 177 movl %eax,%edi 178 addl %esi,%ebx 179 rorl $2,%ecx 180 addl 28(%esp),%ebx 181 rorl $13,%edi 182 movl 4(%esp),%esi 183 xorl %edi,%ecx 184 rorl $9,%edi 185 addl %ebx,%edx 186 xorl %edi,%ecx 187 movl 8(%esp),%edi 188 addl %ecx,%ebx 189 movl %eax,(%esp) 190 movl %eax,%ecx 191 subl $4,%esp 192 orl %esi,%eax 193 andl %esi,%ecx 194 andl %edi,%eax 195 movl (%ebp),%esi 196 orl %ecx,%eax 197 addl $4,%ebp 198 addl %ebx,%eax 199 movl 152(%esp),%ebx 200 addl %esi,%edx 201 addl %esi,%eax 202 cmpl $3329325298,%esi 203 jne .L00416_63 204 movl 352(%esp),%esi 205 movl 4(%esp),%ebx 206 movl 8(%esp),%ecx 207 movl 12(%esp),%edi 208 addl (%esi),%eax 209 addl 4(%esi),%ebx 210 addl 8(%esi),%ecx 211 addl 12(%esi),%edi 212 movl %eax,(%esi) 213 movl %ebx,4(%esi) 214 movl %ecx,8(%esi) 215 movl %edi,12(%esi) 216 movl 20(%esp),%eax 217 movl 24(%esp),%ebx 218 movl 28(%esp),%ecx 219 movl 356(%esp),%edi 220 addl 16(%esi),%edx 221 addl 20(%esi),%eax 222 addl 24(%esi),%ebx 223 addl 28(%esi),%ecx 224 movl %edx,16(%esi) 225 movl %eax,20(%esi) 226 movl %ebx,24(%esi) 227 movl %ecx,28(%esi) 228 addl $352,%esp 229 subl $256,%ebp 230 cmpl 8(%esp),%edi 231 jb .L002loop 232 movl 12(%esp),%esp 233 popl %edi 234 popl %esi 235 popl %ebx 236 popl %ebp 237 ret 238.align 64 239.L001K256: 240.long 1116352408,1899447441,3049323471,3921009573 241.long 961987163,1508970993,2453635748,2870763221 242.long 3624381080,310598401,607225278,1426881987 243.long 1925078388,2162078206,2614888103,3248222580 244.long 3835390401,4022224774,264347078,604807628 245.long 770255983,1249150122,1555081692,1996064986 246.long 2554220882,2821834349,2952996808,3210313671 247.long 3336571891,3584528711,113926993,338241895 248.long 666307205,773529912,1294757372,1396182291 249.long 1695183700,1986661051,2177026350,2456956037 250.long 2730485921,2820302411,3259730800,3345764771 251.long 3516065817,3600352804,4094571909,275423344 252.long 430227734,506948616,659060556,883997877 253.long 958139571,1322822218,1537002063,1747873779 254.long 1955562222,2024104815,2227730452,2361852424 255.long 2428436474,2756734187,3204031479,3329325298 256.size sha256_block_data_order,.-.L_sha256_block_data_order_begin 257.byte 83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97 258.byte 110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32 259.byte 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97 260.byte 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103 261.byte 62,0 262