原文内容来自免费考研论坛,请点击查看全文
http://bbs.freekaoyan.com/viewthread.php?tid=327563
如题,课本上有个叫做“程序浮动”的名词是什么意思?我怕在一些书上看到过,但是不知道具体是什么意思,希望高人指点,谢谢!
---------------------------------
就是程序在运行的过程中 可以动态重定位
---------------------------------
应该是这样解释~
除了一些特定的情况或者在早期的计算机中,程序在MEMORY中的位置是肯定的,比如会有BOOTLOADER把程序读到一个确定的位置,而现在的计算机基本上这种情况比较少见了,除了一些操作系统的引导过程,这就带来了一个问题,就是在程序(特别是用ASM写的程序)中制定的一些数据的位置是不确定的,比如你原来想读一个1500位置上的数据,但是实际上这个1500到底存了什么是不确定的,所以,采用了相对地址的策略,即所有的数据都是假设程序开始(ORG)位置为0的相对地址....
所谓程序浮动,就是针对这样一种情况,在运行过程中采取相对地址的技术来实现的,建议去看看LINUX BOOTLOADER的代码,会理解的比较清楚
---------------------------------
哦!真专业,谢谢楼上!