鱼C论坛

 找回密码
 立即注册
查看: 1786|回复: 4

025第五章 [BX]和loop指令03的ffff:0006的质疑!!

[复制链接]
发表于 2013-9-12 23:29:11 | 显示全部楼层 |阅读模式
7鱼币
本帖最后由 我是外星猪 于 2013-9-12 23:29 编辑
assume cs:code
code segment 
    
start:         mov ax,0ffffh
                 mov ds,ax
                 mov bx,6
                 mov al,[bx]  在视频里这2段标红色的小甲鱼把他们改为了 mov ax,[bx]
                 mov ah,0
                 mov dx,0
         
                mov cx,123
s:      add dx,ax
                loop s
         
                mov ax,4c00h
                int 21h
         
code     ends
end start
问题如下:
假设在FFFF:0006的这段内存值是
EA 5B E0 00 F0 30 31 2F-30 36 2F 31 30 00 FC 00(红色标注的是小甲鱼视频里的ax值)。
小甲鱼说
mov ax,[ bx]

mov al,[bx]  
mov ah,0
是一样的,书的作者多此一举,我试验后发现其实是不一样的。这里是不是小甲鱼的口误?
因为按照小甲鱼那样写,相当于带进去了一个字。带进去一个字的话,乘以123那么肯定会超,就会位丢失。这样的话是否超出了DX的存储范围?因为按照原书那样写肯定不会超出范围,因为传进去的只是字节。
2F31 *7B=16AC8B,但是小甲鱼视频里DX的值是AC8B,他说是正确的。
我的疑问如下:
1、  这两种写法真的是没区别的吗?
2、  按照小甲鱼说的那样是否会丢失位,超出了DX的范围?
3、  如果小甲鱼是对的,那么16AC8B前面的16去了哪里?

最佳答案

查看完整内容

没看过视频,只能单从你的提问来看。 1.当然有区别,一个取字,一个取字节。 2.按照你假设的内存值,绝对会超,溢出,数值错误。 3.逻辑计算结果已经出错了。那计较这个16没任何意义。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-12 23:29:12 | 显示全部楼层
没看过视频,只能单从你的提问来看。
1.当然有区别,一个取字,一个取字节。
2.按照你假设的内存值,绝对会超,溢出,数值错误。
3.逻辑计算结果已经出错了。那计较这个16没任何意义。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-15 20:37:13 | 显示全部楼层
支持鱼C 顶顶~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-19 13:18:42 | 显示全部楼层
来学习的。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-3 00:15:30 | 显示全部楼层
我也是来学习的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-29 01:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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