鱼C论坛

 找回密码
 立即注册
查看: 1640|回复: 7

课本(王爽)103页 程序5.3

[复制链接]
发表于 2013-9-17 21:20:44 | 显示全部楼层 |阅读模式

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

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

x
课本(王爽)103页 程序5.3
也就是这个
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 al,[bx] mov ah,0 改成mov ax,【bx】
我试了一下两个的区别,首先不说ax原本第一句付了值ffff直接mov ax,【bx】不符合题意,但是书上不是说ffff:0006单元是一个字节单元,为什么按照小甲鱼这么写ax会被附上2f35,也就是说他把一个字的数据都给了ax,这是为什么呢,我还特意查了查ffff:0006 内存的值如下图,,,他里面的的值也确实是35  2f   但是书上不是说ffff:0006单元是一个字节单元,懂我意思是把,望德高望重者给予指点
QQ截图20130917212003.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-19 17:29:46 | 显示全部楼层
sorry,没看明白。。。
我看了下书,书上103页,问题5.3不是计算123*246吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-9-19 22:17:04 | 显示全部楼层
是程序5.3,我的意思是FFFF:0006不是字节单元么。为什么会把一个字的数据给ax,对,就是这个意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-9-20 09:46:34 | 显示全部楼层
书上程序5.3的要求是计算ffff:0006内存单元的数乘以3的结果
因为求值的对象是字节单元,所以应该用mov al,[bx]来传递数值,又因为要考虑到加三次后可能产生的进位,所以用mov ah,0使得整个(ax)的数值等于该字节单元数值,进位也可以在ah中反映。
如果mov ax,[bx]这样的话,求的就是ffff:0006和ffff:0007组成的字型数据乘以3的结果了,而且这样进位也会丢失。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-9-20 10:44:05 | 显示全部楼层

那就是说,mov ax,[bx] 所要移(附)的值是根据ax的大小或是字型来决定从后面来取值,而不是因为ffff:0006是字节单元而只附ffff:0006中的数据,不附ffff:0007 的数据,是这样么?  谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-9-20 22:09:33 | 显示全部楼层
冷se-系¥ 发表于 2013-9-20 10:44
那就是说,mov ax, 所要移(附)的值是根据ax的大小或是字型来决定从后面来取值,而不是因为ffff:0006是 ...

是的
mov ax,[bx]
实际上等同于:mov al,[bx]和mov ah,[bx+1]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-9-22 20:29:05 | 显示全部楼层
多多学习。。没有错的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-9-22 20:41:26 | 显示全部楼层
tsembrace 发表于 2013-9-20 22:09
是的
mov ax,
实际上等同于:mov al,和mov ah,

谢谢




想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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