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 />

在 某 些 情 况 下 , 汇 编 程 序 用 一 个 指 令 替 换 另 一 个 指 令 。 在 阅 读 反 汇 编 列 表 时 要 清<br />

楚 这 一 点 。 详 细 信 息 请 参 阅 第 4-35 页 的 指 令 替 换 。<br />

条 件 标 志<br />

如 果 指 定 了 S, 这 些 指 令 根 据 结 果 来 更 新 N、 Z、 C 和 V 标 志 。<br />

使 用 r15<br />

如 果 将 r15 用 作 Rn, 则 使 用 的 值 是 指 令 的 地 址 加 上 8。<br />

如 果 将 r15 用 作 Rd:<br />

• 执 行 代 码 将 跳 转 到 与 结 果 相 对 应 的 地 址 。<br />

• 如 果 使 用 S 后 缀 , 则 当 前 模 式 的 SPSR 被 复 制 到 CPSR 中 。 可 以 利 用 这 一<br />

点 来 从 异 常 状 态 下 返 回 ( 参 阅 <strong>RealView</strong> 编 译 工 具 2.0 版 开 发 者 指 南 中 的 处<br />

理 处 理 器 异 常 一 章 )。<br />

注 意<br />

在 用 户 模 式 或 系 统 模 式 下 将 r15 用 作 Rd 时 , 不 要 使 用 S 后 缀 。 这 样 一 个 指 令 的<br />

结 果 是 不 可 预 测 的 , 但 汇 编 程 序 在 汇 编 时 不 会 发 出 警 告 。<br />

在 带 有 寄 存 器 控 制 的 移 位 的 任 何 数 据 处 理 指 令 中 , 不 能 将 r15 用 作 Rd ( 参 阅 第<br />

4-33 页 的 灵 活 的 第 二 操 作 数 )。<br />

体 系 结 构<br />

这 些 指 令 在 所 有 版 本 的 <strong>ARM</strong> 体 系 结 构 中 有 效 。<br />

示 例<br />

ADD r2,r1,r3<br />

SUBS r8,r6,#240 ; sets the flags on the result<br />

RSB r4,r4,#1280 ; subtracts contents of r4 from 1280<br />

ADCHI r11,r0,r3 ; only executed if C flag set and Z<br />

; flag clear<br />

RSCLES r0,r5,r0,LSL r4 ; conditional, flags set<br />

不 正 确 的 示 例<br />

RSCLES r0,r15,r0,LSL r4<br />

; r15 not allowed with register<br />

; controlled shift<br />

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

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

Saved successfully!

Ooh no, something went wrong!