回 帖 发 新 帖 刷新版面

主题:与预想不一致的结果!

初学asm.使用RadAsm.
很多地方不明白!
        assume  cs:cseg, ds:dseg, ss:sseg
        ; code
cseg    segment
start:
    MOV    AH,X
    MOV    BH,Y
    ADD    AH,BH
        mov     ax, 4C00h
        int     21h
cseg    ends
        ; data
dseg    segment byte
    X    DB    10H
    Y    DB    20H
dseg    ends
        ; stack
sseg    segment stack
        db      100h    dup(?)
sseg    ends
end start

编译链接以后用codeview调试的时候发现
执行完语mov ah,x以后ah的值为3。
而这个时候的汇编代码是
mov ah,byte ptr [000F]
这个000F就等于10,那么这就是说mov ah,x是将x的值所指的地址的值赋给ah.
这个好像和我看书的结果不一致!
还请哪位好心解答一下!
本人深知问题较弱智!请勿见笑!
谢谢了!
BTW:(用的是RadAsm生成的DosApp的template)

回复列表 (共1个回复)

沙发

如果是自学的+初学的,别用这个编译器。

我来回复

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