|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 weixianlang 于 2011-8-10 08:57 编辑
在14:37时讨论为什么不mov ax,[bx]有两个问题一:
小甲鱼说到这是 8位[bx]到16位ax的越界赋值
我不这样认为 比如说mov ax,[0]
是不是16位的某个数传给ax呢?
实践证实了我的想法(下面有实践图)
二:有一个小小的逻辑错误(可能是前一个错误导致,因为小老师认为是8位的数据传给ax)
小甲鱼在实践时 mov ax,[bx]时不出错 不代表“正确”
书P103 说是将大小在0-255范围内的字节型数据相加三次
而小甲鱼说可以将两句并为一句
有问题 一位ax是16位 你不能保证大小在0-255间(既不能保证ah=0)
所以得mov ah,0
而 mov ax,[bx]又不是将ds:bx所指的字节型单元传给ax
而是将字型数据传给ax
如图 mov ax,[bx]执行后后 (ax)=(ds:bx)=(ds:0016)=053d
所以说
1. 这条指令不是将8为数据传给ax
2.(ax)>255不合范围要求
|
|