鱼C论坛

 找回密码
 立即注册
查看: 1947|回复: 6

ASSUME伪指令

[复制链接]
发表于 2013-3-31 12:50:47 | 显示全部楼层 |阅读模式

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

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

x
本来我对ASSUME没什么疑惑的,可是学着学着,疑惑就来了。。。

假如,程序中有个代码段CODE
对于ASSUME CS:CODE 这个伪指令,我还能接受。按照我的理解,因为DOS会自动给CS寄存器赋值,所以你要告诉系统,CS指向哪个段。这个我可以理解。

但是,假如程序中还有个数据段DATA
我就想不通这个伪指令,ASSUME DS:DATA
我觉得多此一举呀
因为,在程序中,我们还是需要人为的把数据段的地址赋值给DS
MOV AX, DATA
MOV DS, AX
这两条语句,已经把数据段的段地址给了DS,我不约定DS:DATA也应该可以呀。
为什么还要写ASSUME DS:DATA呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-3-31 13:03:57 | 显示全部楼层
傻了吧,发明程序的人只是吃饱了没事规定这么做的而已,有必要纠结吗,接受就行了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2013-3-31 13:05:23 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-3-31 13:10:45 | 显示全部楼层
小旭哥0922 发表于 2013-3-31 13:05
h好吧,暂时就接受吧

呵呵。多看书。你就会明白了。或者多看小甲鱼的视频。一定要多看多理解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-3-31 13:36:09 | 显示全部楼层
你理解错了~~DOS是不会给 CS IP 赋值 也不会给任何段寄存器赋值 ~~给CS IP 赋值 是因为 你有 开始标号 如果没有标号 就会给 CS赋值为你 加载的地址 - 256个PSP字节 也就是你数据段的 第一个字节~   其实 不管那个段寄存器~ 都是一个地址指针~ 不过CPU 规定 CS IP 指向的 就是 可执行的代码段~   真正的赋值 是 mov AX data MOV ds,ax
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-3-31 20:13:54 | 显示全部楼层
你怎么安排CUP就怎么安排,跟着自己的思路走
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
头像被屏蔽
发表于 2013-3-31 22:33:54 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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