注册 登录
编程论坛 汇编论坛

源码编写按照书上教的,但debug跟踪时却发现了问题。

tzblue 发布于 2009-10-30 21:21, 768 次点击
在下刚刚开始学习汇编,遇到一个问题想不明白,请大家帮我审阅一下问题到底出在哪,先谢谢啦!

题目是:将地址为 0ffff:0006里的数乘3,结果放到dx中(环境是dos下的masm)。下面是源程序:


assume cs:code
code segment
    mov ax,0ffffh
    mov ds,ax
    mov al,[6]   问题出现在这里:我的意图是将0ffff:6单元中的数放到al中。但在debug调试时发现显示的是将数
                 字6放到al中,并且执行完这条指令后果然是将数字6放到al中,但这条命令应该是将0ffff:6单元中
                  的数放到al中啊?

    mov ah,0
    mov dx,0
    mov cx,3
 s: add dx,ax
    loop s

    mov ax,4c00h
    int 21h
code ends
end





[ 本帖最后由 tzblue 于 2009-10-30 21:24 编辑 ]
2 回复
#2
as555as2009-10-30 21:24
[6] `` 只在debug里有效 在编辑器里会当作6来认!
#3
tzblue2009-10-30 21:28
2楼的兄弟,你太可爱了,非常感谢!
1