鱼C论坛

 找回密码
 立即注册
查看: 1971|回复: 1

[争议讨论] 第五章 [bx]和loop指令03 中代码的问题

[复制链接]
发表于 2014-6-9 12:23:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在甲鱼大大的代码中,他将原代码为:
assume cs:code

code segment

        mov ax, 0ffffh
        mov ds, ax
        mov bx, 6
        mov al, [bx]
        mov ah, 0
        mov dx, 0
        mov cx, 3
        s:
                add dx, ax
                loop s
               
        mov ax, 4c00h
        int 21h
code ends
end


改为了:

assume cs:code

code segment

        mov ax, 0ffffh
        mov ds, ax
        mov bx, 6
        mov ax, [bx]
        mov dx, 0
        mov cx, 3
        s:
                add dx, ax
                loop s
               
        mov ax, 4c00h
        int 21h
code ends
end


这样程序虽然可以运行,但是在后来的调试中,AX寄存器中的值是2f31h,这和原书中的意思似乎不符。原书中,ffff:0006h的内存单元是一个字节。那么AX中的值,在高位ah中应该是00h才对。所以原书中al和ah需要分开赋值,而不能合为一步。

不知道我以上说的对不对?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-6-9 17:36:53 | 显示全部楼层
是在说什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-18 06:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表