●在程序运行过程中,执行到访问内 存的指令时,由地址变换硬件逻辑 自动把指令中的相对地址代码与定 位寄存器的值相加,以其结果值做 为访问内存的绝对地址来访问该存 储单元
⚫在程序运行过程中,执行到访问内 存的指令时,由地址变换硬件逻辑 自动把指令中的相对地址代码与定 位寄存器的值相加,以其结果值做 为访问内存的绝对地址来访问该存 储单元
程序的地址空间 定位寄存器 内存空间 100000 10 JMP 40 1010JMP40 40 LOAD r1,[500 1040 LOAD r1,[500 5001234 15001234
●采用动态地址重定位方法,用户作 业在装入内存后,无论是执行前还 是执行过程中,程序代码始终没有 变化,程序始终保持原有的相对位 置关系。 ●程序在装入内存后即使存储位置发 生了变化,也不会影响程序的运行
⚫采用动态地址重定位方法,用户作 业在装入内存后,无论是执行前还 是执行过程中,程序代码始终没有 变化,程序始终保持原有的相对位 置关系。 ⚫程序在装入内存后即使存储位置发 生了变化,也不会影响程序的运行
●程序在执行过程中可以改变其存储 位置,这称为内存移动。 采用动态地址重定位,在程序从某 存储位置移到另一位置时,只要 把新存储区域的起始地址置入定位 寄存器中,程序仍可以继续正确执 行
⚫程序在执行过程中可以改变其存储 位置,这称为内存移动。 ⚫采用动态地址重定位,在程序从某 一存储位置移到另一位置时,只要 把新存储区域的起始地址置入定位 寄存器中,程序仍可以继续正确执 行
●采用动态地址重定位可以把用户作 业的若干相互独立的模块分别存储 在不同的存储区域,这些区域可以 不必连续相邻。 在程序运行中,当需要访问某一个 模块中的指令或数据时,只要把该 模块的起始地址置入定位寄存器, 使用动态重定位就可以正确地实现 对内存访问
⚫采用动态地址重定位可以把用户作 业的若干相互独立的模块分别存储 在不同的存储区域,这些区域可以 不必连续相邻。 ⚫在程序运行中,当需要访问某一个 模块中的指令或数据时,只要把该 模块的起始地址置入定位寄存器, 使用动态重定位就可以正确地实现 对内存访问