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> 和 Thumb 汇 编 语 言<br />

在 [User] 模 式 下 , r14 被 用 作 链 接 寄 存 器 (lr), 用 于 存 储 子 例 程 调 用 时 的 返 回 地<br />

址 。 如 果 返 回 地 址 存 储 在 栈 上 , 也 可 将 其 用 作 一 个 通 用 寄 存 器 。<br />

在 异 常 处 理 模 式 中 ,r14 存 放 异 常 的 返 回 地 址 , 或 者 如 果 在 一 个 异 常 内 执 行 子 程<br />

序 调 用 , 则 存 放 子 程 序 返 回 地 址 。 如 果 返 回 地 址 存 储 在 栈 上 , 也 可 将 r14 用 作 一<br />

个 通 用 寄 存 器 。<br />

程 序 计 数 器 (pc)<br />

程 序 计 数 器 被 当 作 r15 ( 或 pc) 来 加 以 访 问 。 对 于 <strong>ARM</strong> 状 态 下 的 每 条 指 令 , 其<br />

以 一 个 字 ( 四 字 节 ) 为 增 量 , 在 Thumb 状 态 下 则 以 两 个 字 节 为 增 量 。 跳 转 指 令<br />

将 目 的 地 址 装 载 到 程 序 计 数 器 中 。 也 可 以 使 用 数 据 操 作 指 令 来 直 接 装 载 程 序 计<br />

数 器 。 例 如 , 为 了 从 一 个 子 程 序 中 返 回 , 可 以 将 链 接 寄 存 器 复 制 到 程 序 计 数 器<br />

中 , 使 用 下 列 方 法 :<br />

MOV pc,lr<br />

在 执 行 时 , r15 不 包 含 当 前 正 在 执 行 指 令 的 地 址 。 在 <strong>ARM</strong> 状 态 下 , 当 前 执 行 指<br />

令 的 地 址 一 般 是 pc–8, 而 在 Thumb 状 态 下 一 般 是 pc–4。<br />

当 前 程 序 状 态 寄 存 器 (CPSR)<br />

CPSR 存 放 :<br />

• 算 术 逻 辑 单 元 (ALU) 状 态 标 志 的 副 本 ;<br />

• 当 前 处 理 器 模 式 ;<br />

• 中 断 禁 止 标 志 。<br />

CPSR 中 的 ALU 状 态 标 志 用 于 确 定 是 否 执 行 了 条 件 指 令 。 有 关 详 细 信 息 请 参 阅<br />

第 2-22 页 的 条 件 执 行 。<br />

在 能 支 持 Thumb 或 能 支 持 Jazelle 的 处 理 器 上 , CPSR 也 存 放 当 前 处 理 器 状 态<br />

(<strong>ARM</strong>、 Thumb 或 Jazelle)。<br />

在 <strong>ARM</strong> 体 系 结 构 的 v5TE 和 v6 及 以 上 版 本 中 , CPSR 也 存 放 Q 标 志 ( 请 参 阅<br />

第 2-22 页 的 ALU 状 态 标 志 )。<br />

在 <strong>ARM</strong> 体 系 结 构 的 v6 及 以 上 版 本 中 , CPSR 也 存 放 GE 标 志 ( 请 参 阅 第 4-83<br />

页 的 并 行 加 法 和 减 法 ) 和 端 序 位 ( 请 参 阅 第 4-119 页 的 SETEND)。<br />

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

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

Saved successfully!

Ooh no, something went wrong!