LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 866|回复: 3

目标模块中包含机器码?

[复制链接]
发表于 2004-4-2 09:40:40 | 显示全部楼层 |阅读模式
汇编程序对源程序进行两次扫视之后生成的目标模块中的指令代码已经是二进制机器码了?:ask 只不过没有经过连接程序对其连接,其中的指令标量和变量的地址都是浮动地址,因此不能作为可执行程序来执行?是这样吗?:thank
发表于 2004-4-2 11:10:25 | 显示全部楼层
“浮动地址”是什么意思?
 楼主| 发表于 2004-4-2 11:50:42 | 显示全部楼层
段起始地址要在 0 地址的基础上“浮动一个值,这个值要在连接的时候才能确定。从这个意义上说,变量和标号都是浮动地址,如果指令的操作数字段涉及到变量或标号,那么由汇编程序确定的指定字中的值为浮动值。----《IBM-PC 汇编语言程序设计》
发表于 2004-4-2 16:51:30 | 显示全部楼层
连接程序所做的不仅仅是将变量和标号转换成实际的地址,而且要在可执行文件上加上可执行文件格式的文件头,我想这可能是代码起始地址要浮动一个值的原因之一吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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