23.10.2014 Views

RealView - ARM Information Center

RealView - ARM Information Center

RealView - ARM Information Center

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

4.8.3 BLX<br />

带 链 接 的 跳 转 和 可 选 交 换 指 令 集 。 此 指 令 具 有 下 列 备 选 形 式 :<br />

• 一 个 无 条 件 跳 转 , 含 有 对 一 个 相 对 程 序 的 地 址 的 链 接 ;<br />

• 一 个 条 件 跳 转 , 含 有 对 一 个 寄 存 器 中 存 储 的 绝 对 地 址 的 链 接 。<br />

语 法<br />

BLX{cond} Rm<br />

BLX label<br />

其 中 :<br />

cond 是 一 个 可 选 的 条 件 码 ( 参 阅 第 4-6 页 的 条 件 执 行 )。<br />

Rm 是 一 个 <strong>ARM</strong> 寄 存 器 , 包 含 要 跳 转 到 的 目 标 地 址 。<br />

Rm 的 第 0 位 不 用 作 地 址 的 一 部 分 。<br />

如 果 设 置 了 Rm 的 0 位 , 指 令 在 CPSR 中 设 置 T 标 志 , 并 且 将 目 标<br />

地 址 处 的 代 码 解 释 为 Thumb 代 码 。<br />

如 果 Rm 的 位 0 是 清 除 的 , 则 不 能 设 置 位 1。<br />

label<br />

是 一 个 相 对 程 序 的 表 达 式 。 有 关 详 细 信 息 请 参 阅 第 3-23 页 的 与 寄 存<br />

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

备 注<br />

BLX label 不 能 是 有 条 件 的 。 BLX label 总 是 引 起 向 Thumb 状 态 的 转 变 。<br />

用 法<br />

BLX 指 令 :<br />

• 将 下 一 个 指 令 的 地 址 复 制 到 r14 (lr, 链 接 寄 存 器 ) 中<br />

• 产 生 转 到 label 或 Rm 中 存 放 的 地 址 的 一 个 跳 转<br />

• 如 果 符 合 下 列 条 件 之 一 , 则 将 指 令 集 改 变 为 Thumb 状 态 :<br />

— 如 果 设 置 了 Rm 的 第 0 位<br />

— 使 用 了 BLX label 形 式 的 指 令 。<br />

机 器 级 BLX label 指 令 不 能 跳 转 到 当 前 指 令 的 ±32Mb 范 围 外 的 地 址 。 必 要 时 ,<br />

<strong>ARM</strong> 链 接 程 序 添 加 代 码 以 允 许 更 长 的 跳 转 ( 请 参 阅 <strong>RealView</strong> 编 译 工 具 2.0 版<br />

链 接 程 序 和 实 用 程 序 指 南 中 的 <strong>ARM</strong> 链 接 程 序 一 章 )。 所 添 加 的 代 码 称 为 胶 合<br />

代 码 。<br />

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

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

Saved successfully!

Ooh no, something went wrong!