10.1.3.2 "浮动"地址概念
我们知道,在汇编过程中每个段开始时地址计数器的值都置为零,因此,其后本段内所有偏移地址均为相对于起始的零地址而言的相对地址。
在程序装入存储器时,并不是所有段都从物理零地址开始。实际上,由于物理零地址区是由系统占用的,因而用户程序的各段都起始于某个非零地址。也就是说,段起始地址要在零地址的基础上"浮动"一个值,而此值要在连接时才能确定。从这个意义上说,变量和标号都是浮动地址,如果指令的操作数字段涉及到变量或标号,那么由汇编程序确定的指令字中的值为浮动值。
需要说明的是,MASM6中已不使用两遍扫视的方法,它只用一遍扫视,同时创建了一个中间文件,再根据中间文件形成目标代码,产生OBJ、LST等文件。
|