Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
编 写 <strong>ARM</strong> 和 Thumb 汇 编 语 言<br />
2.7 将 地 址 装 载 到 寄 存 器 中<br />
经 常 需 要 将 一 个 地 址 装 载 到 一 个 寄 存 器 中 。 可 能 需 要 装 载 变 量 、 字 符 串 常 数 或 跳<br />
转 表 开 始 位 置 的 地 址 。<br />
地 址 通 常 表 示 为 从 当 前 程 序 计 数 器 或 其 它 寄 存 器 开 始 的 偏 移 量 。<br />
这 一 节 介 绍 将 地 址 装 载 到 寄 存 器 中 的 下 列 方 法 :<br />
• 直 接 装 载 寄 存 器 , 请 参 阅 用 ADR 和 ADRL 直 接 装 载 ;<br />
• 从 一 个 文 字 池 装 载 地 址 , 请 参 阅 第 2-37 页 的 用 LDR Rd, = label 装 载 地 址 。<br />
2.7.1 用 ADR 和 ADRL 直 接 装 载<br />
ADR 和 ADRL 伪 指 令 可 以 生 成 某 个 确 定 范 围 内 的 地 址 , 而 无 需 执 行 数 据 装 载 操 作 。<br />
ADR 和 ADRL 接 受 以 下 两 种 值 之 一 :<br />
• 一 个 相 对 于 程 序 的 表 达 式 , 这 是 带 有 可 选 偏 移 量 的 一 个 标 号 , 其 中 标 号 地<br />
址 是 相 对 于 当 前 程 序 计 数 器 的 ;<br />
• 一 个 相 对 于 寄 存 器 的 表 达 式 , 这 是 带 有 可 选 偏 移 量 的 一 个 标 号 , 其 中 标 号<br />
地 址 是 相 对 于 存 放 在 指 定 的 通 用 寄 存 器 中 的 地 址 的 。 有 关 指 定 相 对 寄 存 器<br />
表 达 式 的 信 息 , 请 参 阅 第 2-53 页 的 用 MAP 和 FIELD 命 令 描 述 数 据 结 构 。<br />
通 过 生 成 以 下 指 令 或 消 息 , 汇 编 程 序 转 换 一 条 ADR rn,label 伪 指 令 :<br />
• 如 果 地 址 在 范 围 内 , 则 生 成 装 载 该 地 址 的 单 个 ADD 或 SUB 指 令 ;<br />
• 如 果 不 能 在 单 个 指 令 中 访 问 到 该 地 址 , 则 生 成 一 条 出 错 消 息 。<br />
对 于 相 对 非 字 对 齐 地 址 的 偏 移 , 偏 移 量 范 围 是 ±255 字 节 ; 对 于 相 对 字 对 齐 地 址<br />
的 偏 移 , 偏 移 量 范 围 是 ±1020 字 节 (255 字 )。( 对 于 Thumb 状 态 , 地 址 必 须 是<br />
字 对 齐 的 , 并 且 偏 移 量 必 须 是 正 值 。)<br />
通 过 生 成 以 下 指 令 或 消 息 , 汇 编 程 序 转 换 一 条 ADRL rn,label 伪 指 令 :<br />
• 如 果 地 址 在 范 围 内 , 则 生 成 两 个 装 载 地 址 的 数 据 处 理 指 令 ;<br />
• 如 果 不 能 在 两 个 指 令 中 构 造 该 地 址 , 则 生 成 一 条 出 错 消 息 。<br />
对 于 非 字 对 齐 地 址 , ADRL 伪 指 令 的 范 围 是 ±64KB ; 对 于 字 对 齐 地 址 , 其 范 围 是<br />
±256KB。( 没 有 用 于 Thumb 状 态 的 ADRL 伪 指 令 。)<br />
如 果 成 功 的 话 , ADRL 汇 编 为 两 条 指 令 。 即 使 可 以 在 单 条 指 令 中 装 载 该 地 址 , 汇<br />
编 程 序 也 产 生 两 条 指 令 。<br />
有 关 装 载 超 出 ADRL 伪 指 令 范 围 的 地 址 的 信 息 , 请 参 阅 第 2-37 页 的 用 LDR Rd, =<br />
label 装 载 地 址 。<br />
2-32 © 2002、 2003 <strong>ARM</strong> Limited 版 权 所 有 。 保 留 所 有 权 利 。 <strong>ARM</strong> DUI 0204BSC