鱼C论坛

 找回密码
 立即注册
查看: 5608|回复: 5

错误信息: Must be index or base register

[复制链接]
发表于 2012-4-18 07:30:47 | 显示全部楼层 |阅读模式

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

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

x
        s:        mov ax,[bx]
                mov dx,ds:[ax]
                mov cs:[ax],dx
                add bx,2
                loop s

       错误信息: Must be index or base register

       换成:

        s:        mov ax,[bx]
                mov dx,ds:[bx]
                mov cs:[bx],dx
                add bx,2
                loop s


        后编译通过,对前几章掌握不好,疑问很菜,mov ax,[bx],那么(ax)=(bx),既然两个寄存器里面值是一样的,为什么会报这个错误呢?

        谢谢各位了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-4-18 12:05:42 | 显示全部楼层
mov dx,ds:[ax]
mov cs:[ax],dx
这两句有误,ax寄存器不能放在[]中
另外,mov ax,[bx],(ax)并不等于(bx),
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-4-18 13:26:15 | 显示全部楼层

谢谢,虽然不知道为什么(ax)!=(bx),但起码知道了ax不能放在【】里面
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-4-18 18:00:19 | 显示全部楼层
我想说: 发表于 2012-4-18 13:26
谢谢,虽然不知道为什么(ax)!=(bx),但起码知道了ax不能放在【】里面


mov ax,[bx]指将内存地址ds:[bx]中存放的数据传给ax,这样ax与bx当然不等。
如果要让ax=bx,指令是mov ax,bx
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-4-18 18:04:31 | 显示全部楼层
我想说: 发表于 2012-4-18 13:26
谢谢,虽然不知道为什么(ax)!=(bx),但起码知道了ax不能放在【】里面

此处可以停住继续看以前的教程了 这里弄不清楚 后面就会更混乱.. 还是打好基础在往后进行吧
借用老师的一句话
检测点不能通过的同学请不要急着往下学习.!~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-4-19 09:43:30 | 显示全部楼层
莫名其妙 发表于 2012-4-18 18:04
此处可以停住继续看以前的教程了 这里弄不清楚 后面就会更混乱.. 还是打好基础在往后进行吧
借用老师的 ...

谢谢前辈,基础啊,基础啊,十五字啊,十五字啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-10-8 10:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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