亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? umul.asm

?? flint庫 RSA算法
?? ASM
字號:
;******************************************************************************
;*                                                                            *
;* Functions for arithmetic and number theory with large integers in C        *
;* Software supplement to the book "Cryptography in C and C++"                *
;* by Michael Welschenbach                                                    *
;*                                                                            *
;* Module umul.asm         Revision: 18.12.2000                               *
;*                                                                            *
;*  Copyright (C) 1998-2005 by Michael Welschenbach                           *
;*  Copyright (C) 2001-2005 by Springer-Verlag Berlin, Heidelberg             *
;*  Copyright (C) 2001-2005 by Apress L.P., Berkeley, CA                      *
;*  Copyright (C) 2002-2005 by Wydawnictwa MIKOM, Poland                      *
;*  Copyright (C) 2002-2005 by PHEI, P.R.China                                *
;*  Copyright (C) 2002-2005 by InfoBook, Korea                                *
;*  Copyright (C) 2002-2005 by Triumph Publishing, Russia                     *
;*                                                                            *
;*  All Rights Reserved                                                       *
;*                                                                            *
;*  The software may be used for noncommercial purposes and may be altered,   *
;*  as long as the following conditions are accepted without any              *
;*  qualification:                                                            *
;*                                                                            *
;*  (1) All changes to the sources must be identified in such a way that the  *
;*      changed software cannot be misinterpreted as the original software.   *
;*                                                                            *
;*  (2) The statements of copyright may not be removed or altered.            *
;*                                                                            *
;*  (3) The following DISCLAIMER is accepted:                                 *
;*                                                                            *
;*  DISCLAIMER:                                                               *
;*                                                                            *
;*  There is no warranty for the software contained in this distribution, to  *
;*  the extent permitted by applicable law. The copyright holders provide the *
;*  software `as is' without warranty of any kind, either expressed or        *
;*  implied, including, but not limited to, the implied warranty of fitness   *
;*  for a particular purpose. The entire risk as to the quality and           *
;*  performance of the program is with you.                                   *
;*                                                                            *
;*  In no event unless required by applicable law or agreed to in writing     *
;*  will the copyright holders, or any of the individual authors named in     *
;*  the source files, be liable to you for damages, including any general,    *
;*  special, incidental or consequential damages arising out of any use of    *
;*  the software or out of inability to use the software (including but not   *
;*  limited to any financial losses, loss of data or data being rendered      *
;*  inaccurate or losses sustained by you or by third parties as a result of  *
;*  a failure of the software to operate with any other programs), even if    *
;*  such holder or other party has been advised of the possibility of such    *
;*  damages.                                                                  *
;*                                                                            *
;******************************************************************************
;*                                                                            *
;*      Multiplication, interface compatible with C function umul_l()         *
;*                                                                            *
;*      Product := a * u                                                      *
;*                                                                            *
;*      Stack on calling of umul:        SP+12 ---> Offset product            *
;*                                       SP+ 8 ---> Offset a (CLINT)          *
;*                                       SP+ 4 ---> Offset u (USHORT)         *
;*                                       SP    ---> Return address            *
;*                                                                            *
;*      Return Value: ax = 0                                                  *
;*                                                                            *
;******************************************************************************
PUBLIC  umul

.386
.MODEL  FLAT
.CODE
umul    proc    near
;
a       equ     0000                    ; CLINT factor  (working copy)
p       equ     0520                    ; Product       (working copy)
;
_a      equ     [ebp+8]                 ; CLINT factor  (parameter)
_u      equ     [ebp+12]                ; USHORT factor (parameter)
_p      equ     [ebp+16]                ; Product (storage space for result)
;
WORKSP  equ     1560                    ; Working memory in stack area
;
umult:  push    ebp                     ; Store value for calling procdure
        mov     ebp,esp
        sub     esp,WORKSP              ; Local memory
        mov     eax,esp                 ; Store starting address
        push    edi
        push    esi
        push    ebx
        mov     ebx,eax
;
        xor     eax,eax
        xor     edx,edx

        mov     dx,_u                   ; USHORT factor into dx
        cmp     dx,0
        jne     @F
        jmp     umultz

@@:     mov     esi,_a                  ; Segment:Offset of variable a
        mov     ax,[esi]
        cmp     ax,0                    ; a = 0 ?
        jne     umult01
        jmp     umultz
;
;>>>>>> Load operands
;
umult01:
        lea     edi,a[ebx]              ; Destination offset is a[ebx]
        mov     ecx,0
        mov     cx,ax                   ; l(a) into ecx
        cld
rep     movsw                           ; Load a as chunks of USHORT into a
        movsw                           ;  plus one word
        mov     word ptr [edi],0
;
;>>>>>> Prepare access to local memory
;
        push    ebp                     ; Store base pointer bp
        mov     ebp,ebx                 ; Indexed addressing based on ss
;
;>>>>>>> Remove leading zeros from operands
;
        xor     eax,eax
        mov     ax,a[ebp]               ; #USHORTs into ax
        cmp     ax,0
        je      end1
        shl     eax,1                   ; #Bytes
        mov     esi,eax
@@:     cmp     word ptr a[ebp][esi],0  ; USHORT = 0 ?
        jne     @F                      ; If not, we're done
        sub     esi,2                   ; Else: Step back one USHORT
        cmp     esi,0                   ; Index = 0?
        je      mazer1                  ; Then argument = 0
        jmp     @B                      ; Compare next digit
@@:
mazer1: shr     esi,1                   ; #USHORTs
        mov     eax,esi                 ; Store number of digits 
        mov     a[ebp],ax
;
@@:
end1:   cmp     ax,0
        jne     @F
        pop     ebp
        jmp     umultz
;
;>>>>>> Start of multiplication
;
;-----> Initialize working memory
;
@@:     mov     esi,2                   ; Initialization of index i
        mov     cx,a[ebp]               ; Length l(a)
        shr     cx,1
        jnc     umult0
        inc     cx
umult0: mov     eax,0
umult1: mov     p[ebp][esi],eax
        add     esi,4
        loop    umult1
;
;-----> Inner loop
;
        mov     edi,2                   ; Index j
        mov     cx,a[ebp]               ; Initialize counter inner loop
        shr     cx,1
        jnc     umult2a
        inc     cx
umult2a:
        xor     ebx,ebx
        mov     bx,dx                   ; Load USHORT-Faktor into bx
        mov     edx,0                   ; Dummy carry
        mov     esi,2
        mov     edi,2
umult3: push    ecx                     ; Store counter
        mov     ecx,edx                 ; Store carry in dx
        mov     eax,ebx                 ; Load USHORT factor into ax
        mul     dword ptr a[ebp][edi]   ; ax=lo, dx=hi
        add     eax,ecx                 ; ax + u
        adc     edx,0
        add     p[ebp][esi],eax         ; p[i+j-1]= ax + p[i+j-1]
        adc     edx,0                   ; New carry u into dx
        add     edi,4                   ; j=j+4
        add     esi,4                   ; i+j=i+j+4
        pop     ecx                     ; Get counter for inner loop
        loop    umult3
;
;-----> End of inner loop
;
        mov     p[ebp][esi],edx         ; p[i+j-1]=u
        add     esi,2
umult3a:
        cmp     word ptr p[ebp][esi],0
        jne     short umult4
        sub     esi,2
        jmp     umult3a
umult4: mov     ecx,esi
        shr     ecx,1
        mov     p[ebp],cx
;
;-----> Store product
;
        lea     esi,p[ebp]
        mov     ebx,ebp
        pop     ebp
        mov     edi,_p

        cmp     cx,0
        je      @F
        cld                             ; Length l(p) is still in cx
rep     movsw
@@:     movsw
;
;*******************************************************************************
;       Security: Purge stack

muret:  mov     edi,ebx
        mov     ecx,(WORKSP-4)/4
        cld
        mov     eax,0                   ; Return-Value = 0: Everything is OK
rep     stosd                           ; Overwrite with 0
;*******************************************************************************
;
        pop     ebx
        pop     esi                     ; Restore registers
        pop     edi
        mov     esp,ebp
        pop     ebp
        ret
;
umultz: mov     esi,_p
        mov     word ptr [esi],0
        jmp     short muret
;
umul    endp
END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合久久综合亚洲| 欧美激情综合在线| 久久久不卡网国产精品二区 | 亚洲一区二区三区四区五区中文| 天天操天天干天天综合网| 成人av动漫网站| 日韩视频在线你懂得| 亚洲综合av网| 成人app网站| 久久久亚洲精品石原莉奈| 国产传媒一区在线| 欧美另类变人与禽xxxxx| 亚洲欧美在线高清| 高清不卡在线观看| 久久精品夜夜夜夜久久| 精油按摩中文字幕久久| 精品视频1区2区| 亚洲精品成人在线| 波多野结衣91| 国产精品久久福利| 国产福利一区二区三区在线视频| 欧美一区二区三区啪啪| 亚洲成av人影院| 欧美三级在线视频| 一区二区成人在线| 在线观看日韩电影| 夜夜爽夜夜爽精品视频| 一本久久a久久免费精品不卡| 国产精品久久午夜| 不卡视频在线观看| 中文字幕日本不卡| 91碰在线视频| 一区二区三区四区av| 一本大道久久a久久精品综合| 国产精品免费看片| 99久久精品国产精品久久 | 欧美日韩国产美女| 亚洲国产va精品久久久不卡综合| 91在线高清观看| 亚洲欧美日韩久久精品| 色综合久久88色综合天天6| 亚洲综合在线电影| 欧美日韩精品高清| 久热成人在线视频| 精品电影一区二区三区 | 日韩中文字幕亚洲一区二区va在线| 91精品福利在线| 夜夜揉揉日日人人青青一国产精品| 欧美一a一片一级一片| 亚洲一区免费在线观看| 欧美色图免费看| 日韩高清在线观看| 国产欧美一区二区三区网站| 99精品偷自拍| 亚洲一区二区三区三| 日韩免费福利电影在线观看| 国产精品综合视频| 一区二区在线看| 91精品国产色综合久久| 成人一区二区视频| 亚洲精品视频免费看| 日韩一区二区精品葵司在线| 国产精品99久久久| 亚洲成a人v欧美综合天堂下载| 欧美成人video| 色94色欧美sute亚洲线路二| 免费成人av资源网| 国产精品欧美一级免费| 欧美三级电影网站| 国产大陆精品国产| 日韩精品国产欧美| 亚洲私人黄色宅男| ww亚洲ww在线观看国产| 色一区在线观看| 国产精品亚洲第一区在线暖暖韩国| 亚洲六月丁香色婷婷综合久久| 日韩一区二区视频| 色先锋资源久久综合| 国产真实乱偷精品视频免| 亚洲另类春色国产| 国产欧美一区二区精品仙草咪| 欧美中文字幕亚洲一区二区va在线 | 奇米精品一区二区三区在线观看| 欧美高清在线一区| 欧美不卡一区二区| 欧美伦理影视网| 97se亚洲国产综合在线| 久久97超碰色| 亚洲电影视频在线| 亚洲男同性视频| 国产精品污网站| 久久在线观看免费| 日韩一区二区中文字幕| 欧美日韩一级黄| 91亚洲国产成人精品一区二三 | 性做久久久久久久久| 亚洲柠檬福利资源导航| 中文文精品字幕一区二区| 日韩美女主播在线视频一区二区三区| 91久久精品网| 日本道色综合久久| 成人国产一区二区三区精品| 精彩视频一区二区三区| 久久精品噜噜噜成人88aⅴ| 五月天精品一区二区三区| 亚洲国产一区二区视频| 亚洲男人天堂av网| 亚洲黄色尤物视频| 一区二区三区四区乱视频| 亚洲精品精品亚洲| 一区二区三区四区不卡在线 | 久久久久久久免费视频了| 欧美一区二区观看视频| 91精品国产欧美一区二区18| 欧美精品在线一区二区三区| 在线一区二区观看| 在线精品亚洲一区二区不卡| 色哟哟欧美精品| 欧美人妖巨大在线| 日韩欧美国产综合一区| 欧美mv日韩mv国产| 国产日韩欧美不卡在线| 国产精品久久久久久福利一牛影视 | 日韩专区一卡二卡| 免费成人在线视频观看| 狠狠色丁香久久婷婷综合_中| 久久99久久精品欧美| 国产精品一级黄| 99久久综合国产精品| 在线看一区二区| 91精品国产福利| 久久久久久一二三区| 中文字幕欧美一区| 午夜国产不卡在线观看视频| 蜜桃传媒麻豆第一区在线观看| 极品尤物av久久免费看| 波多野结衣欧美| 51久久夜色精品国产麻豆| 亚洲精品在线电影| 亚洲色图清纯唯美| 久久国产夜色精品鲁鲁99| 国产乱码精品一区二区三区忘忧草 | 久久综合精品国产一区二区三区| 久久久精品国产免大香伊| 亚洲欧美自拍偷拍| 秋霞电影网一区二区| 国产高清精品久久久久| 99久久亚洲一区二区三区青草| 91极品视觉盛宴| 久久久久综合网| 亚洲一区二区三区四区中文字幕| 蜜臀av亚洲一区中文字幕| 丁香五精品蜜臀久久久久99网站| 欧美最猛黑人xxxxx猛交| 久久免费视频一区| 午夜成人免费视频| 成人少妇影院yyyy| 日韩一卡二卡三卡国产欧美| 中文字幕一区二区三区精华液| 午夜国产精品一区| 99麻豆久久久国产精品免费| 日韩午夜在线播放| 一级女性全黄久久生活片免费| 韩国女主播一区| 欧美日韩在线电影| 国产精品成人网| 国精品**一区二区三区在线蜜桃| 91成人免费电影| 国产精品看片你懂得| 麻豆91免费观看| 6080午夜不卡| 亚洲一区二区在线免费观看视频| 国产专区综合网| 精品日韩在线观看| 日本免费新一区视频| 在线视频一区二区三区| 国产精品你懂的| 国产精品一卡二卡在线观看| 91精品综合久久久久久| 亚洲最色的网站| 99精品在线免费| 国产精品久久久久永久免费观看 | 国产精品亚洲第一区在线暖暖韩国 | 精品一二三四区| 69久久99精品久久久久婷婷 | 亚洲图片你懂的| 国产麻豆视频一区二区| 欧美剧情电影在线观看完整版免费励志电影| 亚洲欧洲国产专区| 97久久精品人人做人人爽50路| 久久亚洲私人国产精品va媚药| 日韩va欧美va亚洲va久久| 欧美性大战久久久久久久| 一级中文字幕一区二区| 在线精品视频小说1| 一区二区三区国产精华| 欧美在线free| 亚洲福中文字幕伊人影院| 欧美理论电影在线| 日本不卡一区二区三区高清视频|