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

2.2.7 Thumb 指 令 集 概 述<br />

Thumb 指 令 集 的 功 能 几 乎 完 全 是 32 位 <strong>ARM</strong> 指 令 集 功 能 的 一 个 子 集 。 该 指 令 集<br />

为 用 C 或 C++ 编 译 程 序 生 成 代 码 进 行 了 优 化 。<br />

所 有 Thumb 指 令 的 长 度 为 16 位 , 并 以 半 字 对 齐 方 式 存 储 在 存 储 器 中 。 因 此 , 在<br />

Thumb 状 态 下 , 指 令 地 址 的 最 低 有 效 位 总 是 0。 有 些 指 令 使 用 最 低 有 效 位 来 确 定<br />

跳 转 的 目 标 地 址 上 是 Thumb 代 码 还 是 <strong>ARM</strong> 代 码 。<br />

所 有 Thumb 数 据 处 理 指 令 :<br />

• 操 作 寄 存 器 中 的 全 32 位 值 ;<br />

• 使 用 全 32 位 地 址 进 行 数 据 访 问 和 指 令 获 取 。<br />

有 关 Thumb 指 令 集 的 语 法 , 以 及 Thumb 指 令 与 其 对 等 的 <strong>ARM</strong> 指 令 的 差 别 的 详<br />

细 信 息 , 请 参 阅 第 5 章 Thumb 指 令 参 考 。<br />

2.2.8 Thumb 指 令 功 能<br />

下 列 特 征 适 用 于 Thumb 指 令 :<br />

• 条 件 执 行 ;<br />

• 寄 存 器 访 问 ;<br />

• 第 2-11 页 的 访 问 滚 筒 式 移 位 器 。<br />

条 件 执 行<br />

在 Thumb 指 令 集 中 , 条 件 跳 转 指 令 是 唯 一 可 根 据 CPSR 中 的 ALU 状 态 标 志 的<br />

值 而 有 条 件 地 执 行 的 指 令 。 所 有 数 据 处 理 指 令 更 新 这 些 标 志 , 但 当 一 个 或 多 个<br />

高 位 寄 存 器 被 指 定 为 MOV 或 ADD 指 令 的 操 作 数 时 除 外 。 在 这 些 情 况 下 , 标 志 不 能<br />

更 新 。<br />

在 设 置 一 个 条 件 的 指 令 和 依 赖 于 该 条 件 的 条 件 跳 转 之 间 , 不 能 包 含 任 何 数 据 处<br />

理 指 令 。 在 希 望 进 行 条 件 执 行 的 地 方 使 用 条 件 跳 转 指 令 。<br />

寄 存 器 访 问<br />

在 Thumb 状 态 中 , 大 多 数 指 令 只 能 访 问 r0 到 r7。 这 些 寄 存 器 被 称 为 低 位 寄 存<br />

器 。<br />

寄 存 器 r8 到 r15 是 有 访 问 限 制 的 寄 存 器 。 在 Thumb 状 态 中 , 这 些 寄 存 器 被 称 为<br />

高 位 寄 存 器 。 例 如 , 它 们 可 用 作 快 速 的 临 时 存 储 器 。<br />

2-10 © 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!