diff options
Diffstat (limited to 'src/lib/libcrypto/bn/asm/x86w32.asm')
-rw-r--r-- | src/lib/libcrypto/bn/asm/x86w32.asm | 34 |
1 files changed, 16 insertions, 18 deletions
diff --git a/src/lib/libcrypto/bn/asm/x86w32.asm b/src/lib/libcrypto/bn/asm/x86w32.asm index fc6f917714..957d71e3b1 100644 --- a/src/lib/libcrypto/bn/asm/x86w32.asm +++ b/src/lib/libcrypto/bn/asm/x86w32.asm | |||
@@ -6,11 +6,11 @@ F_TEXT SEGMENT WORD USE16 PUBLIC 'CODE' | |||
6 | F_TEXT ENDS | 6 | F_TEXT ENDS |
7 | _DATA SEGMENT WORD USE16 PUBLIC 'DATA' | 7 | _DATA SEGMENT WORD USE16 PUBLIC 'DATA' |
8 | _DATA ENDS | 8 | _DATA ENDS |
9 | CONST SEGMENT WORD USE16 PUBLIC 'CONST' | 9 | _CONST SEGMENT WORD USE16 PUBLIC 'CONST' |
10 | CONST ENDS | 10 | _CONST ENDS |
11 | _BSS SEGMENT WORD USE16 PUBLIC 'BSS' | 11 | _BSS SEGMENT WORD USE16 PUBLIC 'BSS' |
12 | _BSS ENDS | 12 | _BSS ENDS |
13 | DGROUP GROUP CONST, _BSS, _DATA | 13 | DGROUP GROUP _CONST, _BSS, _DATA |
14 | ASSUME DS: DGROUP, SS: DGROUP | 14 | ASSUME DS: DGROUP, SS: DGROUP |
15 | F_TEXT SEGMENT | 15 | F_TEXT SEGMENT |
16 | ASSUME CS: F_TEXT | 16 | ASSUME CS: F_TEXT |
@@ -89,7 +89,7 @@ $L555: | |||
89 | mov bp,WORD PTR [bp+26] ; load num | 89 | mov bp,WORD PTR [bp+26] ; load num |
90 | and bp,3 | 90 | and bp,3 |
91 | dec bp | 91 | dec bp |
92 | js $L547 | 92 | js $L547m |
93 | 93 | ||
94 | mov eax,ecx | 94 | mov eax,ecx |
95 | mul DWORD PTR es:[bx] ; w* *a | 95 | mul DWORD PTR es:[bx] ; w* *a |
@@ -100,7 +100,7 @@ $L555: | |||
100 | mov DWORD PTR ds:[di],eax | 100 | mov DWORD PTR ds:[di],eax |
101 | mov esi,edx | 101 | mov esi,edx |
102 | dec bp | 102 | dec bp |
103 | js $L547 ; Note that we are now testing for -1 | 103 | js $L547m ; Note that we are now testing for -1 |
104 | ; | 104 | ; |
105 | mov eax,ecx | 105 | mov eax,ecx |
106 | mul DWORD PTR es:[bx+4] ; w* *a | 106 | mul DWORD PTR es:[bx+4] ; w* *a |
@@ -111,7 +111,7 @@ $L555: | |||
111 | mov DWORD PTR ds:[di+4],eax | 111 | mov DWORD PTR ds:[di+4],eax |
112 | mov esi,edx | 112 | mov esi,edx |
113 | dec bp | 113 | dec bp |
114 | js $L547 | 114 | js $L547m |
115 | ; | 115 | ; |
116 | mov eax,ecx | 116 | mov eax,ecx |
117 | mul DWORD PTR es:[bx+8] ; w* *a | 117 | mul DWORD PTR es:[bx+8] ; w* *a |
@@ -121,7 +121,7 @@ $L555: | |||
121 | adc edx,0 | 121 | adc edx,0 |
122 | mov DWORD PTR ds:[di+8],eax | 122 | mov DWORD PTR ds:[di+8],eax |
123 | mov esi,edx | 123 | mov esi,edx |
124 | $L547: | 124 | $L547m: |
125 | mov eax,esi | 125 | mov eax,esi |
126 | mov edx,esi | 126 | mov edx,esi |
127 | shr edx,16 | 127 | shr edx,16 |
@@ -315,37 +315,35 @@ _bn_add_words PROC FAR | |||
315 | ; ap = 22 | 315 | ; ap = 22 |
316 | ; rp = 18 | 316 | ; rp = 18 |
317 | xor esi,esi ;c=0; | 317 | xor esi,esi ;c=0; |
318 | mov bx,WORD PTR [bp+18] ; load low r | ||
318 | mov si,WORD PTR [bp+22] ; load a | 319 | mov si,WORD PTR [bp+22] ; load a |
319 | mov es,WORD PTR [bp+24] ; load a | 320 | mov es,WORD PTR [bp+24] ; load a |
320 | mov di,WORD PTR [bp+26] ; load b | 321 | mov di,WORD PTR [bp+26] ; load b |
321 | mov ds,WORD PTR [bp+28] ; load b | 322 | mov ds,WORD PTR [bp+28] ; load b |
322 | 323 | ||
323 | mov dx,WORD PTR [bp+30] ; load num | 324 | mov dx,WORD PTR [bp+30] ; load num |
324 | dec dx | ||
325 | js $L547 | ||
326 | xor ecx,ecx | 325 | xor ecx,ecx |
326 | dec dx | ||
327 | js $L547a | ||
327 | 328 | ||
328 | $L5477: | 329 | $L5477: |
329 | xor ebx,ebx | ||
330 | mov eax,DWORD PTR es:[si] ; *a | 330 | mov eax,DWORD PTR es:[si] ; *a |
331 | add eax,ecx | 331 | add eax,ecx |
332 | adc ebx,0 | 332 | mov ecx,0 |
333 | adc ecx,0 | ||
333 | add si,4 ; a++ | 334 | add si,4 ; a++ |
334 | add eax,DWORD PTR ds:[di] ; + *b | 335 | add eax,DWORD PTR ds:[di] ; + *b |
335 | mov ecx,ebx | ||
336 | adc ecx,0 | 336 | adc ecx,0 |
337 | add di,4 | ||
338 | mov bx,WORD PTR [bp+18] | ||
339 | mov ds,WORD PTR [bp+20] | 337 | mov ds,WORD PTR [bp+20] |
338 | add di,4 | ||
340 | mov DWORD PTR ds:[bx],eax | 339 | mov DWORD PTR ds:[bx],eax |
341 | add bx,4 | ||
342 | mov ds,WORD PTR [bp+28] | 340 | mov ds,WORD PTR [bp+28] |
343 | mov WORD PTR [bp+18],bx | 341 | add bx,4 |
344 | dec dx | 342 | dec dx |
345 | js $L547 ; Note that we are now testing for -1 | 343 | js $L547a ; Note that we are now testing for -1 |
346 | jmp $L5477 | 344 | jmp $L5477 |
347 | ; | 345 | ; |
348 | $L547: | 346 | $L547a: |
349 | mov eax,ecx | 347 | mov eax,ecx |
350 | mov edx,ecx | 348 | mov edx,ecx |
351 | shr edx,16 | 349 | shr edx,16 |