鱼C论坛

 找回密码
 立即注册
查看: 2274|回复: 3

更灵活的定位内存地址 格式问题 问题7.9

[复制链接]
发表于 2012-12-19 13:09:57 | 显示全部楼层 |阅读模式

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

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

x
为什么问题7.9中按这样书写会提示错误?

   s: mov al,[bx+3+si]      ;错误
      and al,11011111b
      mov [bx+3+si],al     ;错误
这样编译会 提示 上面两个地方错误,而修改成下面这样就可以
    s: mov al,[bx+3][si]
       and al,11011111b
       mov [bx+3][si],al
或者
    s: mov al,[bx+si+3]
       and al,11011111b
       mov [bx+si+3],al
都可以,而其它方式都不行,求解释!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-12-19 20:29:49 | 显示全部楼层

mov al,[bx+3][si] 和这样的mov al,[bx+si+3]编译后,都是常规的操作法!
mov al,[bx+3+si] 这种做法个很少用,按说应该不会报错,也可能取决与编译器在编译程序时的顺序,原因在于操作时传送数据的尺寸,你把al换成ax试试。或者指定下byte ptr就行!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-12-21 19:24:24 | 显示全部楼层

:hug: 偶像呀,知道了,后面的课程也是用mov al,[bx+3][si] 这个方法,估计我是个案吧:(
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-4-24 18:26:14 | 显示全部楼层
路过看看呵呵
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-10-7 20:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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