+ -
当前位置:首页 → 问答吧 → 这段代码有什么问题呀?

这段代码有什么问题呀?

时间:2011-09-22

来源:互联网

Assembly code

assume cs:code
a segment
    db 1,2,3,4,5,6,7,8
a ends

b segment
    db 1,2,3,4,5,6,7,8
b ends

c segment
    db 0,0,0,0,0,0,0,0
c ends

code segment
    mov cx,7
    mov bx,0
s:
    mov ax,a
    mov ds,ax
    mov ax,[bx]
    mov dx,b
    mov ds,dx
    add ax,[bx]
    mov dx,c
    mov ds,dx
    mov [bx],ax
loop s
    mov ax,4c00h
    int 21h
code ends
end

作者: liuanswer   发布时间: 2011-09-22

inc bx

作者: Areslee   发布时间: 2011-09-22

你这段程序是想把a,b段的数字相加放到c段中去吧?
这样的话,循环体中基址BX没有加1,在loop s前加一句 inc BX。

还有,循环次数cx应该是8吧?

另外,你的格式不规范。比如,AX是16位,你定义的a,b,c的都是字节,8位,用AL就可以了。
对a,b,c的使用应该加seg吧?

很久没用过汇编了,好多都忘了,我不太肯定,权作参考。。。

作者: celticzy   发布时间: 2011-09-22