鱼C论坛

 找回密码
 立即注册
查看: 1891|回复: 10

这样为什么就不可以?

[复制链接]
发表于 2014-3-30 18:31:22 | 显示全部楼层 |阅读模式

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

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

x
assume cs:codesg

codesg segment

fishcc: mov ax,1000H
           mov ds,ax
           mov cx,6
           mov ax,[cx]   ;为什么这里就不能换成cx一定要是bx,同样通用寄存器?
          
           mov ax,4c00H
           int 21H
codesg ends

end fishcc

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

使用道具 举报

发表于 2014-3-30 19:31:57 | 显示全部楼层
学过C 么?不赋值能用?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-30 19:39:15 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-3-30 19:47:27 | 显示全部楼层
为之疯狂 发表于 2014-3-30 19:39
mov cx,6   请问c 里面的赋值 可否等于这个?
]

mov ax,[cx],表示将CX指向内存的地址的值赋值给ax,上一步mov cx,6,也就是将内存地址为6的值赋给ax
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-30 22:55:14 | 显示全部楼层
oggplay 发表于 2014-3-30 19:47
mov ax,[cx],表示将CX指向内存的地址的值赋值给ax,上一步mov cx,6,也就是将内存地址为6的值赋给ax

但是masm编译器它不允许拿CX来装数据的偏移地址,而只能用BX,我想知道的是,同样是寄存器为什么就不能用CX,或者DX
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-3-31 20:28:11 | 显示全部楼层
在32位汇编中这是可以的
在16位中 只可以使用 bx si di bp sp寻址
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-4-1 13:24:22 | 显示全部楼层
这有什么为什么的,人家这样规定你就这样用。这就是语法没道理可讲。win32下随便怎么用。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-4-2 16:25:43 From FishC Mobile | 显示全部楼层
6楼正解,这是规定 不用知道为什么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-4-2 20:05:56 | 显示全部楼层
这就是规定
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-4-3 16:03:26 | 显示全部楼层
本帖最后由 snowpower 于 2014-4-3 16:05 编辑

这个是16位的规定吧,默认情况它把BX和DS是关联起来的,如果你不是这么写mov ax,ss:[bx] ,而是写成mov ax,[bx],那么它和mov ax,ds:[bx]是等同的(那个ds的值是你上一步mov ds,ax 留下的结果),但是你写成mov bx,[ax] 那么机器根本不知道你的到底想从那个基地址去取(是从ds取还是ss里?),反过来说bp和SS默认是一对的,mov ax,[bp] ,是从ss取得基地址,这个不能乱填的,比如以后的学习你发现mov ax ,[bx+bp..] 这种是错误的,因为bx和bp不能同时用在一起,因为它不知道你的意图,从哪取基地址
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-4 11:03:34 | 显示全部楼层
snowpower 发表于 2014-4-3 16:03
这个是16位的规定吧,默认情况它把BX和DS是关联起来的,如果你不是这么写mov ax,ss: ,而是写成mov ax,,那么 ...

厉害,瞬间就懂了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-30 21:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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