xref: /plan9/sys/src/cmd/unix/drawterm/posix-386/sha1block.s (revision 96cbc34f1b36a29efdcfd47b10e70703a690febc)
1# 1 "<stdin>"
2# 1 "<built-in>"
3# 1 "<command line>"
4# 1 "<stdin>"
5.text
6
7.p2align 2,0x90
8
9.globl __sha1block
10__sha1block:
11# 110 "<stdin>"
12 pushl %ebp
13 subl $((48+80*4)), %esp
14
15 mov %ebx, ((48+80*4)-36-(80*4))(%esp)
16 mov %esi, ((48+80*4)-40-(80*4))(%esp)
17 mov %edi, ((48+80*4)-44-(80*4))(%esp)
18
19 movl ((48+80*4)+8)(%esp), %eax
20 addl ((48+80*4)+12)(%esp), %eax
21 movl %eax, ((48+80*4)-32-(80*4))(%esp)
22
23 leal (((48+80*4)-4-(80*4))+15*4)(%esp), %edi
24 movl %edi, ((48+80*4)-16-(80*4))(%esp)
25 leal (((48+80*4)-4-(80*4))+40*4)(%esp), %edx
26 movl %edx, ((48+80*4)-20-(80*4))(%esp)
27 leal (((48+80*4)-4-(80*4))+60*4)(%esp), %ecx
28 movl %ecx, ((48+80*4)-24-(80*4))(%esp)
29 leal (((48+80*4)-4-(80*4))+80*4)(%esp), %edi
30 movl %edi, ((48+80*4)-28-(80*4))(%esp)
31
320:
33 leal ((48+80*4)-4-(80*4))(%esp), %ebp
34
35 movl ((48+80*4)+16)(%esp), %edi
36 movl (%edi),%eax
37 movl 4(%edi),%ebx
38 movl %ebx, ((48+80*4)-8-(80*4))(%esp)
39 movl 8(%edi), %ecx
40 movl 12(%edi), %edx
41 movl 16(%edi), %esi
42
43 movl ((48+80*4)+8)(%esp), %ebx
44
451:
46 movl 0(%ebx), %edi; bswap %edi; movl %edi, 0(%ebp); leal 0x5a827999(%edi,%esi,1), %esi; movl %eax, %edi; roll $5,%edi; addl %edi,%esi; movl %ecx, %edi; xorl %edx, %edi; andl ((48+80*4)-8-(80*4))(%esp), %edi; xorl %edx, %edi; addl %edi,%esi; rorl $2,((48+80*4)-8-(80*4))(%esp);
47 movl %esi,((48+80*4)-12-(80*4))(%esp)
48 movl 4(%ebx), %edi; bswap %edi; movl %edi, 4(%ebp); leal 0x5a827999(%edi,%edx,1), %edx; movl %esi, %edi; roll $5,%edi; addl %edi,%edx; movl ((48+80*4)-8-(80*4))(%esp), %edi; xorl %ecx, %edi; andl %eax, %edi; xorl %ecx, %edi; addl %edi,%edx; rorl $2,%eax;
49 movl ((48+80*4)-8-(80*4))(%esp),%esi
50 movl 8(%ebx), %edi; bswap %edi; movl %edi, 8(%ebp); leal 0x5a827999(%edi,%ecx,1), %ecx; movl %edx, %edi; roll $5,%edi; addl %edi,%ecx; movl %eax, %edi; xorl %esi, %edi; andl ((48+80*4)-12-(80*4))(%esp), %edi; xorl %esi, %edi; addl %edi,%ecx; rorl $2,((48+80*4)-12-(80*4))(%esp);
51 movl 12(%ebx), %edi; bswap %edi; movl %edi, 12(%ebp); leal 0x5a827999(%edi,%esi,1), %esi; movl %ecx, %edi; roll $5,%edi; addl %edi,%esi; movl ((48+80*4)-12-(80*4))(%esp), %edi; xorl %eax, %edi; andl %edx, %edi; xorl %eax, %edi; addl %edi,%esi; rorl $2,%edx;
52 movl %esi,((48+80*4)-8-(80*4))(%esp)
53 movl 16(%ebx), %edi; bswap %edi; movl %edi, 16(%ebp); leal 0x5a827999(%edi,%eax,1), %eax; movl %esi, %edi; roll $5,%edi; addl %edi,%eax; movl %edx, %edi; xorl ((48+80*4)-12-(80*4))(%esp), %edi; andl %ecx, %edi; xorl ((48+80*4)-12-(80*4))(%esp), %edi; addl %edi,%eax; rorl $2,%ecx;
54 movl ((48+80*4)-12-(80*4))(%esp),%esi
55
56 addl $20, %ebx
57 addl $20, %ebp
58 cmpl ((48+80*4)-16-(80*4))(%esp), %ebp
59 jb 1b
60
61 movl 0(%ebx), %edi; bswap %edi; movl %edi, 0(%ebp); leal 0x5a827999(%edi,%esi,1), %esi; movl %eax, %edi; roll $5,%edi; addl %edi,%esi; movl %ecx, %edi; xorl %edx, %edi; andl ((48+80*4)-8-(80*4))(%esp), %edi; xorl %edx, %edi; addl %edi,%esi; rorl $2,((48+80*4)-8-(80*4))(%esp);
62 addl $4, %ebx
63 MOVL %ebx, ((48+80*4)+8)(%esp)
64 MOVL ((48+80*4)-8-(80*4))(%esp),%ebx
65
66 movl (4 -64)(%ebp), %edi; xorl (4 -56)(%ebp), %edi; xorl (4 -32)(%ebp), %edi; xorl (4 -12)(%ebp), %edi; roll $1, %edi; movl %edi, 4(%ebp); leal 0x5a827999(%edi, %edx, 1), %edx; movl %esi, %edi; roll $5, %edi; addl %edi, %edx; movl %ebx, %edi; xorl %ecx, %edi; andl %eax, %edi; xorl %ecx, %edi; addl %edi, %edx; rorl $2, %eax;
67 movl (8 -64)(%ebp), %edi; xorl (8 -56)(%ebp), %edi; xorl (8 -32)(%ebp), %edi; xorl (8 -12)(%ebp), %edi; roll $1, %edi; movl %edi, 8(%ebp); leal 0x5a827999(%edi, %ecx, 1), %ecx; movl %edx, %edi; roll $5, %edi; addl %edi, %ecx; movl %eax, %edi; xorl %ebx, %edi; andl %esi, %edi; xorl %ebx, %edi; addl %edi, %ecx; rorl $2, %esi;
68 movl (12 -64)(%ebp), %edi; xorl (12 -56)(%ebp), %edi; xorl (12 -32)(%ebp), %edi; xorl (12 -12)(%ebp), %edi; roll $1, %edi; movl %edi, 12(%ebp); leal 0x5a827999(%edi, %ebx, 1), %ebx; movl %ecx, %edi; roll $5, %edi; addl %edi, %ebx; movl %esi, %edi; xorl %eax, %edi; andl %edx, %edi; xorl %eax, %edi; addl %edi, %ebx; rorl $2, %edx;
69 movl (16 -64)(%ebp), %edi; xorl (16 -56)(%ebp), %edi; xorl (16 -32)(%ebp), %edi; xorl (16 -12)(%ebp), %edi; roll $1, %edi; movl %edi, 16(%ebp); leal 0x5a827999(%edi, %eax, 1), %eax; movl %ebx, %edi; roll $5, %edi; addl %edi, %eax; movl %edx, %edi; xorl %esi, %edi; andl %ecx, %edi; xorl %esi, %edi; addl %edi, %eax; rorl $2, %ecx;
70
71 addl $20, %ebp
72
732:
74 movl (0 -64)(%ebp), %edi; xorl (0 -56)(%ebp), %edi; xorl (0 -32)(%ebp), %edi; xorl (0 -12)(%ebp), %edi; roll $1, %edi; movl %edi, 0(%ebp); leal 0x6ed9eba1(%edi, %esi, 1), %esi; movl %eax, %edi; roll $5, %edi; addl %edi, %esi; movl %ebx, %edi; xorl %ecx, %edi; xorl %edx, %edi; addl %edi, %esi; rorl $2, %ebx;
75 movl (4 -64)(%ebp), %edi; xorl (4 -56)(%ebp), %edi; xorl (4 -32)(%ebp), %edi; xorl (4 -12)(%ebp), %edi; roll $1, %edi; movl %edi, 4(%ebp); leal 0x6ed9eba1(%edi, %edx, 1), %edx; movl %esi, %edi; roll $5, %edi; addl %edi, %edx; movl %eax, %edi; xorl %ebx, %edi; xorl %ecx, %edi; addl %edi, %edx; rorl $2, %eax;
76 movl (8 -64)(%ebp), %edi; xorl (8 -56)(%ebp), %edi; xorl (8 -32)(%ebp), %edi; xorl (8 -12)(%ebp), %edi; roll $1, %edi; movl %edi, 8(%ebp); leal 0x6ed9eba1(%edi, %ecx, 1), %ecx; movl %edx, %edi; roll $5, %edi; addl %edi, %ecx; movl %esi, %edi; xorl %eax, %edi; xorl %ebx, %edi; addl %edi, %ecx; rorl $2, %esi;
77 movl (12 -64)(%ebp), %edi; xorl (12 -56)(%ebp), %edi; xorl (12 -32)(%ebp), %edi; xorl (12 -12)(%ebp), %edi; roll $1, %edi; movl %edi, 12(%ebp); leal 0x6ed9eba1(%edi, %ebx, 1), %ebx; movl %ecx, %edi; roll $5, %edi; addl %edi, %ebx; movl %edx, %edi; xorl %esi, %edi; xorl %eax, %edi; addl %edi, %ebx; rorl $2, %edx;
78 movl (16 -64)(%ebp), %edi; xorl (16 -56)(%ebp), %edi; xorl (16 -32)(%ebp), %edi; xorl (16 -12)(%ebp), %edi; roll $1, %edi; movl %edi, 16(%ebp); leal 0x6ed9eba1(%edi, %eax, 1), %eax; movl %ebx, %edi; roll $5, %edi; addl %edi, %eax; movl %ecx, %edi; xorl %edx, %edi; xorl %esi, %edi; addl %edi, %eax; rorl $2, %ecx;
79
80 addl $20,%ebp
81 cmpl ((48+80*4)-20-(80*4))(%esp), %ebp
82 jb 2b
83
843:
85 movl (0 -64)(%ebp), %edi; xorl (0 -56)(%ebp), %edi; xorl (0 -32)(%ebp), %edi; xorl (0 -12)(%ebp), %edi; roll $1, %edi; movl %edi, 0(%ebp); leal 0x8f1bbcdc(%edi, %esi, 1), %esi; movl %eax, %edi; roll $5, %edi; addl %edi, %esi; movl %ebx, %edi; xorl %ecx, %edi; xorl %ebx, %edx; andl %edx, %edi; xorl %ebx, %edi; xorl %ebx, %edx; addl %edi, %esi; rorl $2, %ebx;
86 movl (4 -64)(%ebp), %edi; xorl (4 -56)(%ebp), %edi; xorl (4 -32)(%ebp), %edi; xorl (4 -12)(%ebp), %edi; roll $1, %edi; movl %edi, 4(%ebp); leal 0x8f1bbcdc(%edi, %edx, 1), %edx; movl %esi, %edi; roll $5, %edi; addl %edi, %edx; movl %eax, %edi; xorl %ebx, %edi; xorl %eax, %ecx; andl %ecx, %edi; xorl %eax, %edi; xorl %eax, %ecx; addl %edi, %edx; rorl $2, %eax;
87 movl (8 -64)(%ebp), %edi; xorl (8 -56)(%ebp), %edi; xorl (8 -32)(%ebp), %edi; xorl (8 -12)(%ebp), %edi; roll $1, %edi; movl %edi, 8(%ebp); leal 0x8f1bbcdc(%edi, %ecx, 1), %ecx; movl %edx, %edi; roll $5, %edi; addl %edi, %ecx; movl %esi, %edi; xorl %eax, %edi; xorl %esi, %ebx; andl %ebx, %edi; xorl %esi, %edi; xorl %esi, %ebx; addl %edi, %ecx; rorl $2, %esi;
88 movl (12 -64)(%ebp), %edi; xorl (12 -56)(%ebp), %edi; xorl (12 -32)(%ebp), %edi; xorl (12 -12)(%ebp), %edi; roll $1, %edi; movl %edi, 12(%ebp); leal 0x8f1bbcdc(%edi, %ebx, 1), %ebx; movl %ecx, %edi; roll $5, %edi; addl %edi, %ebx; movl %edx, %edi; xorl %esi, %edi; xorl %edx, %eax; andl %eax, %edi; xorl %edx, %edi; xorl %edx, %eax; addl %edi, %ebx; rorl $2, %edx;
89 movl (16 -64)(%ebp), %edi; xorl (16 -56)(%ebp), %edi; xorl (16 -32)(%ebp), %edi; xorl (16 -12)(%ebp), %edi; roll $1, %edi; movl %edi, 16(%ebp); leal 0x8f1bbcdc(%edi, %eax, 1), %eax; movl %ebx, %edi; roll $5, %edi; addl %edi, %eax; movl %ecx, %edi; xorl %edx, %edi; xorl %ecx, %esi; andl %esi, %edi; xorl %ecx, %edi; xorl %ecx, %esi; addl %edi, %eax; rorl $2, %ecx;
90
91 addl $20, %ebp
92 cmpl ((48+80*4)-24-(80*4))(%esp), %ebp
93 jb 3b
94
954:
96 movl (0 -64)(%ebp), %edi; xorl (0 -56)(%ebp), %edi; xorl (0 -32)(%ebp), %edi; xorl (0 -12)(%ebp), %edi; roll $1, %edi; movl %edi, 0(%ebp); leal 0xca62c1d6(%edi, %esi, 1), %esi; movl %eax, %edi; roll $5, %edi; addl %edi, %esi; movl %ebx, %edi; xorl %ecx, %edi; xorl %edx, %edi; addl %edi, %esi; rorl $2, %ebx;
97 movl (4 -64)(%ebp), %edi; xorl (4 -56)(%ebp), %edi; xorl (4 -32)(%ebp), %edi; xorl (4 -12)(%ebp), %edi; roll $1, %edi; movl %edi, 4(%ebp); leal 0xca62c1d6(%edi, %edx, 1), %edx; movl %esi, %edi; roll $5, %edi; addl %edi, %edx; movl %eax, %edi; xorl %ebx, %edi; xorl %ecx, %edi; addl %edi, %edx; rorl $2, %eax;
98 movl (8 -64)(%ebp), %edi; xorl (8 -56)(%ebp), %edi; xorl (8 -32)(%ebp), %edi; xorl (8 -12)(%ebp), %edi; roll $1, %edi; movl %edi, 8(%ebp); leal 0xca62c1d6(%edi, %ecx, 1), %ecx; movl %edx, %edi; roll $5, %edi; addl %edi, %ecx; movl %esi, %edi; xorl %eax, %edi; xorl %ebx, %edi; addl %edi, %ecx; rorl $2, %esi;
99 movl (12 -64)(%ebp), %edi; xorl (12 -56)(%ebp), %edi; xorl (12 -32)(%ebp), %edi; xorl (12 -12)(%ebp), %edi; roll $1, %edi; movl %edi, 12(%ebp); leal 0xca62c1d6(%edi, %ebx, 1), %ebx; movl %ecx, %edi; roll $5, %edi; addl %edi, %ebx; movl %edx, %edi; xorl %esi, %edi; xorl %eax, %edi; addl %edi, %ebx; rorl $2, %edx;
100 movl (16 -64)(%ebp), %edi; xorl (16 -56)(%ebp), %edi; xorl (16 -32)(%ebp), %edi; xorl (16 -12)(%ebp), %edi; roll $1, %edi; movl %edi, 16(%ebp); leal 0xca62c1d6(%edi, %eax, 1), %eax; movl %ebx, %edi; roll $5, %edi; addl %edi, %eax; movl %ecx, %edi; xorl %edx, %edi; xorl %esi, %edi; addl %edi, %eax; rorl $2, %ecx;
101
102 addl $20, %ebp
103 cmpl ((48+80*4)-28-(80*4))(%esp), %ebp
104 jb 4b
105
106 movl ((48+80*4)+16)(%esp), %edi
107 addl %eax, 0(%edi)
108 addl %ebx, 4(%edi)
109 addl %ecx, 8(%edi)
110 addl %edx, 12(%edi)
111 addl %esi, 16(%edi)
112
113 movl ((48+80*4)-32-(80*4))(%esp), %edi
114 cmpl %edi, ((48+80*4)+8)(%esp)
115 jb 0b
116
117
118 mov ((48+80*4)-36-(80*4))(%esp), %ebx
119 mov ((48+80*4)-40-(80*4))(%esp), %esi
120 mov ((48+80*4)-44-(80*4))(%esp), %edi
121 addl $((48+80*4)), %esp
122 popl %ebp
123 ret
124