23.10.2014 Views

RealView - ARM Information Center

RealView - ARM Information Center

RealView - ARM Information Center

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>ARM</strong> 指 令 参 考<br />

4.11.1 ADR <strong>ARM</strong> 伪 指 令<br />

将 一 个 相 对 程 序 或 相 对 寄 存 器 的 地 址 装 载 到 一 个 寄 存 器 中 。<br />

语 法<br />

ADR{cond} register,expr<br />

其 中 :<br />

cond 是 一 个 可 选 的 条 件 码 。<br />

register 是 要 装 载 的 寄 存 器 。<br />

expr 是 一 个 相 对 程 序 或 相 对 寄 存 器 的 表 达 式 , 其 取 值 为 :<br />

• 是 ±255 字 节 范 围 内 的 一 个 非 字 对 齐 地 址<br />

• 是 ±1020 字 节 范 围 内 的 一 个 字 对 齐 地 址<br />

如 果 是 16 字 节 或 更 多 字 节 的 对 齐 方 式 , 则 可 以 使 用 更 大 范 围 内 的<br />

地 址 。<br />

地 址 可 以 在 指 令 或 基 址 寄 存 器 的 地 址 之 前 或 之 后 ( 参 阅 第 3-23 页<br />

的 与 寄 存 器 相 关 和 与 程 序 相 关 的 表 达 式 )。<br />

备 注<br />

对 于 相 对 程 序 的 表 达 式 , 给 定 的 范 围 是 相 对 于 当 前 指 令 地 址 后 两 个<br />

字 位 置 上 某 点 的 值 。<br />

用 法<br />

ADR 总 是 汇 编 为 一 个 指 令 。 汇 编 程 序 尝 试 产 生 单 个 ADD 或 SUB 指 令 来 装 载 该 地 址 。<br />

如 果 不 能 在 一 个 指 令 中 构 造 该 地 址 , 则 生 成 一 个 错 误 , 并 且 汇 编 失 败 。<br />

ADR 产 生 依 赖 于 位 置 的 代 码 , 因 为 地 址 是 相 对 程 序 或 相 对 寄 存 器 的 。<br />

使 用 ADRL 伪 指 令 来 汇 编 更 宽 的 有 效 地 址 范 围 。<br />

如 果 expr 是 相 对 程 序 的 , 那 么 取 值 必 须 等 于 与 ADR 伪 指 令 处 于 相 同 的 代 码 区 内 的<br />

一 个 地 址 , 请 参 阅 第 7-54 页 的 AREA。<br />

示 例<br />

start MOV r0,#10<br />

ADR r4,start ; => SUB r4,pc,#0xc<br />

<strong>ARM</strong> DUI 0204BSC © 2002、 2003 <strong>ARM</strong> Limited 版 权 所 有 。 保 留 所 有 权 利 。 4-123

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!