01.12.2014 Views

RealView Compilation Tools Developer Guide - ARM Information ...

RealView Compilation Tools Developer Guide - ARM Information ...

RealView Compilation Tools Developer Guide - ARM Information ...

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> 和 Thumb 交 互 操 作<br />

4.2 汇 编 语 言 交 互 操 作<br />

在 汇 编 语 言 源 文 件 中 , 可 以 有 多 个 区 域 ( 对 应 于 ELF 段 ) 每 个 区 域 都 可 包 括<br />

<strong>ARM</strong> 指 令 、 Thumb 指 令 或 两 者 兼 而 有 之 。<br />

可 使 用 链 接 程 序 来 修 复 对 通 过 调 用 程 序 使 用 不 同 指 令 集 的 例 程 的 调 用 和 来 自 该<br />

例 程 的 返 回 。 要 执 行 此 操 作 , 请 使 用 BL 来 调 用 例 程 ( 参 阅 第 4-14 页 的 使 用 胶 合<br />

代 码 的 汇 编 语 言 交 互 操 作 )。<br />

如 果 您 愿 意 , 可 以 编 写 代 码 , 显 式 地 更 改 指 令 集 。 在 某 些 情 况 下 , 通 过 执 行 此 操<br />

作 可 编 写 更 小 更 快 的 代 码 。<br />

以 下 指 令 执 行 处 理 器 状 态 的 更 改 :<br />

• BX, 请 参 阅 跳 转 和 交 换 指 令 ;<br />

• BLX、LDR、LDM 和 POP( 仅 限 于 <strong>ARM</strong> 体 系 结 构 5 版 及 更 高 版 本 ), 请 参 阅 第<br />

4-8 页 的 <strong>ARM</strong> 体 系 结 构 5T 版 。<br />

以 下 指 令 指 示 汇 编 程 序 从 相 应 的 指 令 集 汇 编 指 令 ( 参 阅 第 4-6 页 的 更 改 汇 编 程 序<br />

模 式 ):<br />

• CODE16 ;<br />

• CODE32。<br />

4.2.1 跳 转 和 交 换 指 令<br />

BX 指 令 跳 转 到 指 定 寄 存 器 包 含 的 地 址 。 跳 转 地 址 0 位 的 值 确 定 是 否 继 续 在 <strong>ARM</strong><br />

状 态 或 Thumb 状 态 下 执 行 。 有 关 <strong>ARM</strong> 体 系 结 构 5 版 提 供 的 附 加 指 令 , 请 参 阅<br />

第 4-8 页 的 <strong>ARM</strong> 体 系 结 构 5T 版 。<br />

可 以 按 照 这 种 方 式 使 用 地 址 的 0 位 , 原 因 是 :<br />

• 所 有 的 <strong>ARM</strong> 指 令 都 是 字 对 齐 的 , 所 以 任 何 <strong>ARM</strong> 指 令 地 址 的 0 位 和 1 位 都<br />

未 被 使 用 ;<br />

• 所 有 的 Thumb 指 令 都 是 半 字 对 齐 的 , 所 以 任 何 Thumb 指 令 地 址 的 0 位 都<br />

未 被 使 用 。<br />

语 法<br />

BX 的 语 法 为 以 下 之 一 :<br />

Thumb BX Rn<br />

<strong>ARM</strong> BX{cond} Rn<br />

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

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

Saved successfully!

Ooh no, something went wrong!