鱼C论坛

 找回密码
 立即注册
查看: 2028|回复: 6

第五章 [BX]和loop指令03 练习题目的疑惑

[复制链接]
发表于 2012-7-18 10:58:14 | 显示全部楼层 |阅读模式
1鱼币
本帖最后由 destiny 于 2012-7-19 12:57 编辑

问题:计算ffff:0006单元中的数乘以3,结果存储在dx中。
小甲鱼老师的代码

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


小甲鱼老实说这两步可以直接改成mov ax,[bx]           
mov al, [bx]
mov ah, 0
现在我的疑惑就是在以前的课程中我们小甲鱼老师说: [bx]中的值是要看赋予前面寄存器是ax 还是al来决定的,因为一个是16位寄存器,而另一个是8位的寄存器,ax的话那么就要把[bx]下面的一个值连带上,al的话就是[bx]本身的值,那么这道题是要ffff:6处乘以3再放到dx中,人家没说ffff:6处的值赋予dx以后在乘以3,如果是后者的话那么就是我的错 ,如果是前者的话,我认为小甲鱼老师做的那个实验是错的。ffff:6处的值很明显是一个8位的数据也就是一个字节,mov ax,[bx]很明显是把一个字传送过去了,所以我就疑惑在这里了,而不知道我这样理解的对不对,还请老师和各大神牛说一下自己的见解。

最佳答案

查看完整内容

1.cx的值应该为3 2.先将值算出来再放入dx 和 先将值送入dx再计算。没有区别。只要最后的结果正确。 3.如果0ffff:0007处的值为0。那么就可以 mov ax, 如果不为0。就需要mov ah,0了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-7-18 10:58:15 From FishC Mobile | 显示全部楼层
1.cx的值应该为3
2.先将值算出来再放入dx 和 先将值送入dx再计算。没有区别。只要最后的结果正确。

3.如果0ffff:0007处的值为0。那么就可以
mov ax,[bx]

如果不为0。就需要mov ah,0了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-7-18 13:51:04 | 显示全部楼层
本帖最后由 Potato丶 于 2012-7-18 13:52 编辑

ffff:0007的内容显然不为0。。用mov ax,[bx]替换那两步是错的- -
甲鱼有这样写过吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-7-18 13:58:09 From FishC Mobile | 显示全部楼层
Potato丶 发表于 2012-7-18 13:51
ffff:0007的内容显然不为0。。用mov ax,替换那两步是错的- -
甲鱼有这样写过吗?

其实我也疑惑,甲鱼哥有这样写过么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-7-18 14:32:15 | 显示全部楼层
看来我的知识 还要加强额
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-7-19 11:46:13 | 显示全部楼层
真假?我没注意到甲鱼哥有这么一说啊,我觉得这样替换不对,明显传送的是一个字么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-7-19 11:50:18 | 显示全部楼层
哥们,说实话,你得注意一下自己的表达,错字多,而且逻辑很混乱,我瞅了半天才看明白你要说啥。提问问题最忌讳长篇大论,逻辑清晰也是程序员必备的素质哦~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-20 11:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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