鱼C论坛

 找回密码
 立即注册
查看: 3679|回复: 7

堆栈定义问题

[复制链接]
发表于 2011-6-28 15:54:22 | 显示全部楼层 |阅读模式

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

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

x
我明明都定义了堆栈段  为什么编译完却警告我没有堆栈段。。。。assume我也assume了  要mov ax,stack  mov ss,ax  我也做了 为什么却。。。
还有代码段中需要mov ax,code   mov cs,ax吗   为什么呢。。。难道cpu会自己找到  ?  谁能说下
原理。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-6-29 11:24:12 | 显示全部楼层
本帖最后由 king嗜血法师 于 2011-6-29 11:26 编辑

1: 应该是编译器的事吧,不需要去纠结。
2: 不需要去为CS赋值,比如:
assume cs:code

code  segment

start: .........
        .........
        .........
code ends
end start
编译好的程序运行是会先找入口,入口是哪呢?那就是end start,那么程序的第一条指令就是从地址start:开始的了,你换个名字当然也可以,比如:
assume cs:code

code  segment

go:    .........
        .........
        .........
code ends
end go
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-7-1 11:57:35 | 显示全部楼层
那是不是不用标号的话  我程序的第一行就会被执行   如果code段前边还定义了其他段 而我又没有用那个start标号  cpu就会把最前边的其他段中的内容当作代码来执行?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-1 17:12:12 | 显示全部楼层
听不懂你在说什么,你把代码发上来看看,我们就知道你在说什么了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-1 20:15:02 | 显示全部楼层
这位同学概念严重模糊 建议回去重看视频2遍:lol

评分

参与人数 1荣誉 +1 收起 理由
loop + 1 淡定

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-3 10:49:23 | 显示全部楼层
这位同学说得不太清楚,我只想告诉你,编写时不需要你去定义CS ip的值的,你只需要将他们关联起来就行了,

评分

参与人数 1荣誉 +1 收起 理由
loop + 1 赞一个!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-4 03:24:22 | 显示全部楼层

是的。会从你的数据段当成指令执行。

评分

参与人数 1荣誉 +2 收起 理由
loop + 2 赞一个!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-7-5 16:05:32 | 显示全部楼层
ok
谢谢哈  这几天考试  都没时间看计算机。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-15 06:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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