●程序装入内存后,秩序中所有涉及 到直接地址的指令中的地址码都要 做修改。 ●在地址重定位时需要修改的地址码 在程序中的位置称为重定位项
⚫程序装入内存后,秩序中所有涉及 到直接地址的指令中的地址码都要 做修改。 ⚫在地址重定位时需要修改的地址码 在程序中的位置称为重定位项
●在地址重定位操作中相对地址向绝 对地址变换时加上的装入模块的绝 对起始地址称为重定位因子。 绝对地址=相对地址+重定位因子
⚫在地址重定位操作中相对地址向绝 对地址变换时加上的装入模块的绝 对起始地址称为重定位因子。 绝对地址=相对地址+重定位因子
JMP 40 LOAD r1, [5001 重定位项表 00D1010[op000p10Dop]D001 001100101110 0041|01104102 0042 0012「40101240 004205 1042 0043「00104300
JMP 40 LOAD r1,[500] 重定位项表 op op op op 0011 00 10 01 02 0042 40 40 05 15 0010 0011 0012 1010 1011 1012 0040 0041 0042 0043 00 1040 1041 1042 1043 00
●为了便于操作系统进行静态重定位 操作,链接程序在生成具有统一相 对地址空间的装配模块的同时,还 生成了一个重定位项表。 ●重定位项表中记载着所有的重定位 项
⚫为了便于操作系统进行静态重定位 操作,链接程序在生成具有统一相 对地址空间的装配模块的同时,还 生成了一个重定位项表。 ⚫重定位项表中记载着所有的重定位 项
重定位操作 ●对每一个重定位项实施以下操作: ①从重定位项表中取一个重定位项, 加上重定位因子,得到需要修改的 地址代码所在的绝对地址。 ②根据该绝对地址找到需要修改的 地址代码,把它加上重定位因子, 生成绝对地址的代码
重定位操作 ⚫对每一个重定位项实施以下操作: ①从重定位项表中取一个重定位项, 加上重定位因子,得到需要修改的 地址代码所在的绝对地址。 ②根据该绝对地址找到需要修改的 地址代码,把它加上重定位因子, 生成绝对地址的代码