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

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

?? div.asm

?? flint庫 RSA算法
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
;
;-----> Division loop
;
d3:     cmp     esi,14
        jb      d3a
        push    edi
        mov     edx,a[ebp][esi]         ; uj   unshifet in dx (hiWord)
        mov     eax,a[ebp][esi-4]       ; uj+1 unshifted
        mov     ebx,a[ebp][esi-8]       ; uj+2 unshifted
        mov     edi,a[ebp][esi-12]      ; uj+3 unshifted
        push    ecx
        mov     cx,d[ebp]
@@:     cmp     cx,0
        je      @F
        rcl     edi,1
        rcl     ebx,1
        rcl     eax,1
        rcl     edx,1
        dec     cx
        jmp     @B
@@:     pop     ecx
        pop     edi
        jmp     qhat
;
d3a:    mov     edx,a[ebp][esi]         ; uj   unshifted
        mov     eax,a[ebp][esi-4]       ; uj+1 unshifted
        mov     ebx,a[ebp][esi-8]       ; uj+2 unshifted
        push    ecx
        mov     cx,d[ebp]
@@:     cmp     cx,0
        je      @F
        rcl     ebx,1
        rcl     eax,1
        rcl     edx,1
        dec     cx
        jmp     @B
@@:     pop     ecx
;
;-----> Calculate and test qhat
;
qhat:   mov uj1[ebp],eax                ;  Store shifted uj+1
        mov uj2[ebp],ebx                ;  Store shifted uj+2
        mov ebx,v1[ebp]                 ;  v1 in bx
        cmp ebx,edx
        je bm1                          ; If v1 = uj then q = b - 1
;
        div ebx                         ; eax <- qhat
;                                       ; edx <- rhat: = uj*b + uj+1 -qhat*v1 = (uj*b + uj+1) mod v1
        mov q1[ebp],eax                 ; store qhat intermediately
        cmp eax,0
        jne @F
        jmp dml                         ; If q=0 process next digit
;
bm1:    mov eax,0ffffffffh              ; eax <- qhat
        mov q1[ebp],eax                 ; Store qhat intermediately
        mov edx,uj1[ebp]                ; edx <- uj+1
        add edx,v1[ebp]                 ; edx <- uj+1 + v1 =: rhat
        jc d4                           ; rhat >= b => v2 * qhat < rhat * b
;
@@:     mov ebx,edx                     ; ebx <- rhat
        mul dword ptr v2[ebp]           ; eax <- low(qhat * v2), edx <- high(qhat * v2)
        cmp edx,ebx                     ; rhat >= high(qhat * v2) ?
        jb  d4                          ; CF == 1?  Then finished
        ja  @F                          ; rhat < high(qhat * v2) => reduce qhat
        cmp eax,uj2[ebp]                ; uj+2 >= low(qhat * v2) ?
        jbe d4                          ; CF == 1 OR ZF == 1? Then finished
;
@@:     dec dword ptr q1[ebp]           ; Correcting qhat by decrementing
        add ebx,v1[ebp]                 ; ebx <- rhat + v1
        jc d4                           ; rhat >= b => v2 * qhat < rhat * b
        sub eax,v2[ebp]                 ; (qhat * v2) - v2
        sbb edx,0
;
        cmp edx,ebx                     ; rhat >= high(qhat * v2) ?
        jb  d4                          ; CF == 1?  Then finished
        ja  @B                          ; rhat < high(qhat * v2) => reduce qhat
        cmp eax,uj2[ebp]                ; uj+2 >= low(qhat * v2) ?
        ja  @B                          ; CF==0 + ZF==0? => repeat decrement of qhat
;
d4:     push    ecx                     ; Store main counter
        push    esi                     ; Store j + l(b) 
        push    edi                     ; Store j
        mov     cx,b[ebp]               ; Load counter with l(b)
        shr     cx,1
        jnc     d4a
        inc     cx
d4a:    mov     ebx,q1[ebp]             ; q in bx
        mov     esi,2
        mov     edx,0                   ; Dummy carry
;
;-----> Multiplication and subtraction
;
dms:    push    edx
        mov     eax,ebx                 ; q in ax
        mul     dword ptr b[ebp][esi]   ; hi:dx lo:ax
        sub     a[ebp][edi],eax
        adc     edx,0                   ; Carry to next subtrahend
        pop     eax
        sub     a[ebp][edi],eax
        adc     edx,0                   ; Carry to next subtrahend
        inc     edi
        inc     edi
        inc     edi
        inc     edi
        inc     esi
        inc     esi
        inc     esi
        inc     esi
        loop    dms
        sub     a[ebp][edi],edx
        jnc     dnc                     ; No correction necessary if carry = 0
;
;-----> Correction
;
        pop     edi
        push    edi
        xor     ecx,ecx
        mov     cx,b[ebp]               ; Load counter with l(b)
        shr     cx,1
        jnc     d4b
        inc     cx
d4b:    mov     esi,2
        clc
d5:     mov     eax,b[ebp][esi]         ; b[i]
        adc     a[ebp][edi],eax         ; a[j+i] + b[i]
        inc     edi
        inc     edi
        inc     edi
        inc     edi
        inc     esi
        inc     esi
        inc     esi
        inc     esi
        loop    d5                      ; Outer loop
        jnc     d51
        inc     dword ptr a[ebp][edi]
d51:    dec     dword ptr q1[ebp]       ; q = q - 1
;
;
dnc:    pop     edi                     ; Get pointers and counters
        pop     esi
        pop     ecx
dml:    mov     eax,q1[ebp]             ; Get q
        mov     q[ebp][edi],eax         ; q[j] = q
        sub     edi,4
        sub     esi,4
        dec     ecx                     ; Inner loop
        jz      d6
        jmp     d3
;
d6:     pop     edi                     ; Get l(a)-l(b)-1 (ULONG digits)
        add     edi,2                   ; di points to low-order byte of last USHORT
        mov     eax,0
@@:     cmp     ax,q[ebp][edi]          ; q[l(a)-l(b)]=0 ?
        jne     d7                      ; If so...
        dec     edi
        dec     edi                     ; ...l(q) = l(a) - l(b) - 1
        cmp     edi,0
        jne     short @B
d7:     mov     edx,edi
        shr     edx,1                   ; l(q) (#USHORTs) in dx
        mov     q[ebp],dx               ; Store l(q)
;
;-----> Calculate length of remainder
;
        mov     eax,0
        mov     ax,b[ebp]
        mov     ecx,eax
        shl     ax,1
        mov     edi,eax
        mov     ebx,0
        inc     edi
        inc     edi
d8:     dec     edi
        dec     edi                     ; di points to low-order byte of a[l(b)]
        cmp     a[ebp][edi],bx
        loope   d8
        jz      d9                      ; If a[bp][di]!= 0...
        inc     cx                      ; ...l(r) has to be incremented
d9:     mov     a[ebp],cx               ; Store l(r)
;
;-----> Store results
;
dstore: mov     esi,ebp
        mov     ebx,ebp
        pop     ebp
        push    esi
        add     esi,q
        mov     edi,_qot                ; Destination offset of quotient
        mov     ecx,0
        mov     cx,[esi]
        shr     cx,1
        jnc     @F
        inc     cx
@@:     cld
        cmp     cx,0
        je      qzero
rep     movsd
qzero:  movsw
;
;-----> Store remainder
;
        pop     esi
drs:
        mov     edi,_rst
        add     esi,a
        mov     ecx,0
        mov     cx,[esi]
        shr     cx,1
        jnc     @F
        inc     cx
@@:     cld
        cmp     cx,0
        je      rzero
rep     movsd
rzero:  movsw
        mov     eax,0                   ; Return-Value = 0: Everything OK
;
;*******************************************************************************
;       Security: Purge stack memory

divret: mov     edi,ebx
        mov     ecx,(WORKSP-4)/4
        cld
rep     stosd                           ; Overwrite with 0 or -1
;*******************************************************************************
;
        pop     esi
        pop     edi
        pop     ebx
        mov     esp,ebp
        pop     ebp
        ret
;
;
divz:   mov     eax,0                   ; Return-Value = 0: Everything OK
        mov     edi,_rst                ; Destination Offset of remainder
        mov     esi,_qot                ; Destination offset of quotient
        mov     [edi],ax                ; Remainder = 0
        mov     [esi],ax                ; Quotient = 0
        jmp     short divret
;
divbyz: mov     eax,-1
        jmp     short divret            ; Return-Value = -1: Division by zero
;
;-----> Case q = 0 and r = a
;
dra:    mov     esi,ebp
        mov     ebx,ebp
        pop     ebp
        mov     edi,_qot
        mov     word ptr [edi],0        ; q = 0
        jmp     short drs               ; Store remainder
;
;
;>>>>>> Short Division
;
;
dshort: mov     ecx,0
        mov     cx,a[ebp]
        shr     cx,1
        jnc     dsh0
        inc     cx
dsh0:   mov     edi,ecx
        shl     edi,2
        sub     edi,2
        mov     edx,0
        mov     ebx,b[ebp+2]
dsh1:   mov     eax,a[ebp][edi]
        div     ebx
        mov     q[ebp][edi],eax
        sub     edi,4
        loop    dsh1
dsh2:   mov     ecx,0
        mov     cx,a[ebp]
        mov     esi,ecx
        shl     esi,1
@@:     mov     bx,q[ebp][esi]
        cmp     bx,0
        jne     dsh3
        dec     esi
        dec     esi
        dec     ecx
        cmp     cx,0
        jne     short @B
dsh3:   mov     q[ebp],cx
        mov     a[ebp+2],edx
        mov     word ptr a[ebp],2
        cmp     word ptr a[ebp+4],0
        jne     dst
        mov     word ptr a[ebp],1
        cmp     word ptr a[ebp+2],0
        jne     dst
        mov     word ptr a[ebp],0
dst:    jmp     dstore
;
div_l  endp
END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产欧美一区二区18 | 亚洲图片你懂的| 亚洲精品欧美二区三区中文字幕| 日韩激情视频在线观看| 成人av在线电影| 91精品国产高清一区二区三区| 国产日韩亚洲欧美综合| 日本免费新一区视频| 日本韩国一区二区| 欧美高清一级片在线观看| 日韩精品电影在线观看| 色综合视频在线观看| 中文字幕精品—区二区四季| 久久精品免费看| 欧美精品久久天天躁| 亚洲制服丝袜一区| 97久久人人超碰| 中文字幕av资源一区| 国产九色sp调教91| 精品第一国产综合精品aⅴ| 午夜影院久久久| 在线免费亚洲电影| 一卡二卡三卡日韩欧美| 91麻豆swag| 综合电影一区二区三区| av中文字幕在线不卡| 国产精品美女www爽爽爽| 国产激情视频一区二区在线观看| 欧美成人精品3d动漫h| 蜜臂av日日欢夜夜爽一区| 欧美日韩国产一区二区三区地区| 亚洲综合久久久久| 在线视频国产一区| 亚洲h在线观看| 8x8x8国产精品| 免费在线欧美视频| 精品少妇一区二区三区在线播放| 毛片一区二区三区| 久久综合久久鬼色中文字| 蜜桃av一区二区三区电影| 26uuu国产电影一区二区| 国产伦理精品不卡| 国产欧美中文在线| 不卡电影一区二区三区| ...xxx性欧美| 欧美中文一区二区三区| 午夜精品久久久久久不卡8050| 欧美日韩一区 二区 三区 久久精品| 亚洲国产精品久久人人爱蜜臀| 欧美色偷偷大香| 日韩电影一区二区三区四区| 精品国产一区久久| 成人禁用看黄a在线| 悠悠色在线精品| 欧美一卡二卡在线| 国产成人精品影视| 亚洲亚洲精品在线观看| 日韩精品一区二区三区四区视频| 国产精品996| 亚洲综合一区在线| 欧美成人免费网站| 91浏览器在线视频| 美女国产一区二区| 国产精品久久久久久久久晋中| 在线观看av一区| 九色porny丨国产精品| 国产精品第13页| 欧美精品xxxxbbbb| 高潮精品一区videoshd| 亚洲成在线观看| 久久久天堂av| 欧美日韩亚洲不卡| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 国产精品毛片无遮挡高清| 欧美日韩国产一级| 成人精品视频一区| 日本三级亚洲精品| 中文无字幕一区二区三区| 欧美精品v日韩精品v韩国精品v| 国产成人综合亚洲91猫咪| 亚洲成a人v欧美综合天堂| 久久精品一区二区三区四区| 欧美日本在线一区| 99re这里只有精品视频首页| 青青草伊人久久| 亚洲永久精品国产| 国产精品嫩草99a| 精品对白一区国产伦| 欧美日韩高清一区| 色综合久久中文综合久久97| 国产一本一道久久香蕉| 日欧美一区二区| 夜夜爽夜夜爽精品视频| 国产精品网曝门| 精品福利一二区| 欧美久久久久久久久中文字幕| jizz一区二区| 成人免费av资源| 国模大尺度一区二区三区| 天天色综合天天| 亚洲成人你懂的| 亚洲久本草在线中文字幕| 国产精品视频第一区| 精品久久人人做人人爰| 欧美一级在线观看| 7777精品伊人久久久大香线蕉| 在线日韩国产精品| 欧洲精品一区二区| 91黄色免费观看| 91麻豆精品在线观看| 99久久久久久| 91女神在线视频| 色综合久久久久久久| 99久久er热在这里只有精品15| 国产成人aaaa| 丰满白嫩尤物一区二区| 国产精品系列在线播放| 国产一区不卡在线| 夫妻av一区二区| 91免费在线看| 欧美最猛性xxxxx直播| 欧美性生活大片视频| 欧美日韩精品专区| 91精品国产综合久久精品麻豆 | 国产色一区二区| 国产精品理伦片| 一区二区三区产品免费精品久久75| 亚洲视频资源在线| 天天综合网 天天综合色| 喷水一区二区三区| 国产精品996| 色国产精品一区在线观看| 欧美色爱综合网| 日韩一区二区三区四区 | 国产福利一区二区三区在线视频| 国产乱国产乱300精品| 成人激情黄色小说| 日本乱人伦aⅴ精品| 欧美日韩国产三级| 久久综合久久久久88| 亚洲少妇中出一区| 日韩不卡一区二区三区| 国产一区二区三区高清播放| 99这里都是精品| 欧美精选一区二区| 国产精品视频一区二区三区不卡| 一区二区三区免费在线观看| 免费观看在线综合色| 粉嫩久久99精品久久久久久夜| 色妹子一区二区| 日韩精品最新网址| 一区二区三区在线观看视频| 成人一级片网址| 色综合久久久久| 欧美一区二区三区白人| 国产精品久久久久久妇女6080| 夜夜爽夜夜爽精品视频| 国产精品66部| 欧美精品黑人性xxxx| 久久久国产午夜精品| 亚洲va韩国va欧美va| 成人教育av在线| 欧美一区二区成人| 一区二区三区四区激情| 国产在线麻豆精品观看| 欧美日韩一卡二卡三卡 | 国产三级欧美三级| 日韩电影在线免费看| 色婷婷综合激情| 欧美激情自拍偷拍| 青青草原综合久久大伊人精品优势| 99久久久国产精品免费蜜臀| 久久久久久久久久久久久女国产乱| 一区二区三区国产| 99久久精品久久久久久清纯| 精品捆绑美女sm三区| 日韩成人精品视频| 欧美私模裸体表演在线观看| 国产精品久久久久久久久晋中| 国产一区二区三区美女| 日韩一区二区三区在线| 三级欧美在线一区| 欧美在线观看视频一区二区| 中文字幕一区二区三| 国产成人欧美日韩在线电影| 欧美刺激午夜性久久久久久久| 亚洲123区在线观看| 色噜噜久久综合| 亚洲精品五月天| 99re视频这里只有精品| 中文久久乱码一区二区| 国产高清不卡一区二区| 国产欧美精品一区aⅴ影院| 激情伊人五月天久久综合| 日韩精品专区在线影院观看| 视频一区中文字幕国产| 欧美精品精品一区| 美腿丝袜一区二区三区| 欧美成人综合网站| 国产乱子伦视频一区二区三区|