xref: /plan9/sys/src/cmd/unix/drawterm/posix-386/sha1block.s (revision 96cbc34f1b36a29efdcfd47b10e70703a690febc)
1*96cbc34fSDavid du Colombier# 1 "<stdin>"
2*96cbc34fSDavid du Colombier# 1 "<built-in>"
3*96cbc34fSDavid du Colombier# 1 "<command line>"
4*96cbc34fSDavid du Colombier# 1 "<stdin>"
5*96cbc34fSDavid du Colombier.text
6*96cbc34fSDavid du Colombier
7*96cbc34fSDavid du Colombier.p2align 2,0x90
8*96cbc34fSDavid du Colombier
9*96cbc34fSDavid du Colombier.globl __sha1block
10*96cbc34fSDavid du Colombier__sha1block:
11*96cbc34fSDavid du Colombier# 110 "<stdin>"
12*96cbc34fSDavid du Colombier pushl %ebp
13*96cbc34fSDavid du Colombier subl $((48+80*4)), %esp
14*96cbc34fSDavid du Colombier
15*96cbc34fSDavid du Colombier mov %ebx, ((48+80*4)-36-(80*4))(%esp)
16*96cbc34fSDavid du Colombier mov %esi, ((48+80*4)-40-(80*4))(%esp)
17*96cbc34fSDavid du Colombier mov %edi, ((48+80*4)-44-(80*4))(%esp)
18*96cbc34fSDavid du Colombier
19*96cbc34fSDavid du Colombier movl ((48+80*4)+8)(%esp), %eax
20*96cbc34fSDavid du Colombier addl ((48+80*4)+12)(%esp), %eax
21*96cbc34fSDavid du Colombier movl %eax, ((48+80*4)-32-(80*4))(%esp)
22*96cbc34fSDavid du Colombier
23*96cbc34fSDavid du Colombier leal (((48+80*4)-4-(80*4))+15*4)(%esp), %edi
24*96cbc34fSDavid du Colombier movl %edi, ((48+80*4)-16-(80*4))(%esp)
25*96cbc34fSDavid du Colombier leal (((48+80*4)-4-(80*4))+40*4)(%esp), %edx
26*96cbc34fSDavid du Colombier movl %edx, ((48+80*4)-20-(80*4))(%esp)
27*96cbc34fSDavid du Colombier leal (((48+80*4)-4-(80*4))+60*4)(%esp), %ecx
28*96cbc34fSDavid du Colombier movl %ecx, ((48+80*4)-24-(80*4))(%esp)
29*96cbc34fSDavid du Colombier leal (((48+80*4)-4-(80*4))+80*4)(%esp), %edi
30*96cbc34fSDavid du Colombier movl %edi, ((48+80*4)-28-(80*4))(%esp)
31*96cbc34fSDavid du Colombier
32*96cbc34fSDavid du Colombier0:
33*96cbc34fSDavid du Colombier leal ((48+80*4)-4-(80*4))(%esp), %ebp
34*96cbc34fSDavid du Colombier
35*96cbc34fSDavid du Colombier movl ((48+80*4)+16)(%esp), %edi
36*96cbc34fSDavid du Colombier movl (%edi),%eax
37*96cbc34fSDavid du Colombier movl 4(%edi),%ebx
38*96cbc34fSDavid du Colombier movl %ebx, ((48+80*4)-8-(80*4))(%esp)
39*96cbc34fSDavid du Colombier movl 8(%edi), %ecx
40*96cbc34fSDavid du Colombier movl 12(%edi), %edx
41*96cbc34fSDavid du Colombier movl 16(%edi), %esi
42*96cbc34fSDavid du Colombier
43*96cbc34fSDavid du Colombier movl ((48+80*4)+8)(%esp), %ebx
44*96cbc34fSDavid du Colombier
45*96cbc34fSDavid du Colombier1:
46*96cbc34fSDavid du Colombier 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*96cbc34fSDavid du Colombier movl %esi,((48+80*4)-12-(80*4))(%esp)
48*96cbc34fSDavid du Colombier 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*96cbc34fSDavid du Colombier movl ((48+80*4)-8-(80*4))(%esp),%esi
50*96cbc34fSDavid du Colombier 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*96cbc34fSDavid du Colombier 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*96cbc34fSDavid du Colombier movl %esi,((48+80*4)-8-(80*4))(%esp)
53*96cbc34fSDavid du Colombier 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*96cbc34fSDavid du Colombier movl ((48+80*4)-12-(80*4))(%esp),%esi
55*96cbc34fSDavid du Colombier
56*96cbc34fSDavid du Colombier addl $20, %ebx
57*96cbc34fSDavid du Colombier addl $20, %ebp
58*96cbc34fSDavid du Colombier cmpl ((48+80*4)-16-(80*4))(%esp), %ebp
59*96cbc34fSDavid du Colombier jb 1b
60*96cbc34fSDavid du Colombier
61*96cbc34fSDavid du Colombier 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*96cbc34fSDavid du Colombier addl $4, %ebx
63*96cbc34fSDavid du Colombier MOVL %ebx, ((48+80*4)+8)(%esp)
64*96cbc34fSDavid du Colombier MOVL ((48+80*4)-8-(80*4))(%esp),%ebx
65*96cbc34fSDavid du Colombier
66*96cbc34fSDavid du Colombier 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*96cbc34fSDavid du Colombier 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*96cbc34fSDavid du Colombier 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*96cbc34fSDavid du Colombier 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*96cbc34fSDavid du Colombier
71*96cbc34fSDavid du Colombier addl $20, %ebp
72*96cbc34fSDavid du Colombier
73*96cbc34fSDavid du Colombier2:
74*96cbc34fSDavid du Colombier 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*96cbc34fSDavid du Colombier 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*96cbc34fSDavid du Colombier 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*96cbc34fSDavid du Colombier 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*96cbc34fSDavid du Colombier 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*96cbc34fSDavid du Colombier
80*96cbc34fSDavid du Colombier addl $20,%ebp
81*96cbc34fSDavid du Colombier cmpl ((48+80*4)-20-(80*4))(%esp), %ebp
82*96cbc34fSDavid du Colombier jb 2b
83*96cbc34fSDavid du Colombier
84*96cbc34fSDavid du Colombier3:
85*96cbc34fSDavid du Colombier 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*96cbc34fSDavid du Colombier 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*96cbc34fSDavid du Colombier 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*96cbc34fSDavid du Colombier 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*96cbc34fSDavid du Colombier 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*96cbc34fSDavid du Colombier
91*96cbc34fSDavid du Colombier addl $20, %ebp
92*96cbc34fSDavid du Colombier cmpl ((48+80*4)-24-(80*4))(%esp), %ebp
93*96cbc34fSDavid du Colombier jb 3b
94*96cbc34fSDavid du Colombier
95*96cbc34fSDavid du Colombier4:
96*96cbc34fSDavid du Colombier 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*96cbc34fSDavid du Colombier 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*96cbc34fSDavid du Colombier 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*96cbc34fSDavid du Colombier 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*96cbc34fSDavid du Colombier 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*96cbc34fSDavid du Colombier
102*96cbc34fSDavid du Colombier addl $20, %ebp
103*96cbc34fSDavid du Colombier cmpl ((48+80*4)-28-(80*4))(%esp), %ebp
104*96cbc34fSDavid du Colombier jb 4b
105*96cbc34fSDavid du Colombier
106*96cbc34fSDavid du Colombier movl ((48+80*4)+16)(%esp), %edi
107*96cbc34fSDavid du Colombier addl %eax, 0(%edi)
108*96cbc34fSDavid du Colombier addl %ebx, 4(%edi)
109*96cbc34fSDavid du Colombier addl %ecx, 8(%edi)
110*96cbc34fSDavid du Colombier addl %edx, 12(%edi)
111*96cbc34fSDavid du Colombier addl %esi, 16(%edi)
112*96cbc34fSDavid du Colombier
113*96cbc34fSDavid du Colombier movl ((48+80*4)-32-(80*4))(%esp), %edi
114*96cbc34fSDavid du Colombier cmpl %edi, ((48+80*4)+8)(%esp)
115*96cbc34fSDavid du Colombier jb 0b
116*96cbc34fSDavid du Colombier
117*96cbc34fSDavid du Colombier
118*96cbc34fSDavid du Colombier mov ((48+80*4)-36-(80*4))(%esp), %ebx
119*96cbc34fSDavid du Colombier mov ((48+80*4)-40-(80*4))(%esp), %esi
120*96cbc34fSDavid du Colombier mov ((48+80*4)-44-(80*4))(%esp), %edi
121*96cbc34fSDavid du Colombier addl $((48+80*4)), %esp
122*96cbc34fSDavid du Colombier popl %ebp
123*96cbc34fSDavid du Colombier ret
124