回 帖 发 新 帖 刷新版面

主题:汇编-编写程序:实现双字长(32 bit)无符号整数乘法

请哪位高手帮小弟这个忙吧、、
在下急需这个程序 啊!~
谢谢了~~

回复列表 (共14个回复)

11 楼


[em2][em2][em2]
非常感谢你啦。。
不知道怎么说才好!!
谢谢了!!~

12 楼

运行了下,不过有错,呵呵!算了

13 楼

你不是直接复制、粘贴的吧,那个注释的分号我是在中文输入法的状态下输入的,要改为英文输入法的。。。

14 楼

    .model small
    .stack
    .data
buf1    dd 12345678h
buf2    dd 12345678h
result    dw 4 dup(0)
    .code
    .startup
    mov di,offset buf1
    lea si,buf2
    mov ax,[di]
    mov bx,[si]
    mul bx
    mov result,ax
    mov result+2,dx
    mov ax,[di+2]
    mul bx
    add result+2,ax
    adc result+4,dx
    mov ax,[di+2]
    mov bx,[si+2]
    mul bx
    add result+4,ax
    adc result+6,dx
    mov ax,[di]
    mul bx
    add result+2,ax
    adc result+4,dx
    adc result+6,0
    call output
    .exit 0
    ;
output  proc
    push ax
    push BX 
    push CX
    push DX
    push di
    mov di,offset result+6
    mov bx,4
show:     mov dx,word ptr[di]
    mov cl,4
    mov ch,4
adjust:    rol dx,cl
    push dx
    and dx,000fh
    cmp dx,9
    jbe display
    add dx,07h
display:add dl,30h
    mov ah,02h
    int 21h
    pop dx
    dec ch
    jnz adjust
    sub di,2
    dec bx
    jnz show
    pop di
    pop dx
    pop cx
    pop bx
    pop ax
    ret
output     endp    
    end
没注释的,测试过可以用。

我来回复

您尚未登录,请登录后再回复。点此登录或注册