mul.asm

来自「超高精度的乘法运算」· 汇编 代码 · 共 51 行

ASM
51
字号
stack   segment stack 'stack'
        db 1024 dup (0)
stack   ends
data    segment
bword   equ     this    byte
                r0      dw      (?)
                r1      dw      (?)
                r2      dw      (?)
                r3      dw      (?)
                r4      dw      (?)
                r5      dw      (?)
                r6      dw      (?)
                r7      dw      (?)
data    ends
nbmul   segment
main    proc far
        assume cs:nbmul,ds:data,ss:stack
start:          push    ds
                mov     ax,0
                push    ax
                mov     ax,data
                mov     ds,ax
                mov     ax,r3
                mul     r7
                xchg    ax,r7
                mov     r5,dx
                mul     r2
                add     ax,r5
                mov     r4,ax
                mov     ax,0
                adc     ax,dx
                mov     r5,ax
                mov     ax,r6
                mul     r3
                add     ax,r4
                xchg    ax,r6
                adc     r5,dx
                pushf
                mul     r2
                add     r5,ax
                mov     ax,0
                adc     dx,ax
                popf
                adc     dx,ax
                mov     r4,dx
                ret
main    endp
nbmul   ends
        end     start

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?