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.

混 合 使 用 C、 C++ 和 汇 编 语 言<br />

5.1 使 用 内 联 汇 编 程 序<br />

<strong>ARM</strong> 编 译 程 序 内 建 的 内 联 汇 编 程 序 使 您 可 以 使 用 不 能 从 C 直 接 访 问 的 目 标 处 理<br />

器 功 能 。 例 如 :<br />

• 饱 和 算 法 ( 请 参 阅 <strong>RealView</strong> 编 译 工 具 2.0 版 汇 编 程 序 指 南 );<br />

• 定 制 协 处 理 器 ;<br />

• PSR。<br />

内 联 汇 编 程 序 支 持 与 C 和 C++ 非 常 灵 活 的 交 互 。 任 何 寄 存 器 操 作 数 都 可 以 是<br />

任 意 的 C 或 C++ 表 达 式 。 内 联 汇 编 程 序 还 扩 展 了 复 杂 指 令 , 并 优 化 了 汇 编 语<br />

言 代 码 。<br />

备 注<br />

如 果 默 认 情 况 下 , 或 者 用 -O1 或 -O2 编 译 程 序 选 项 启 用 了 优 化 , 则 内 联 汇 编 语 言<br />

将 由 编 译 程 序 进 行 优 化 。<br />

<strong>ARM</strong> 代 码 内 联 汇 编 程 序 实 现 了 <strong>ARM</strong> 指 令 集 中 的 大 多 数 指 令 , 包 括 一 般 协 处 理<br />

器 指 令 、 半 字 指 令 和 长 乘 法 。<br />

备 注<br />

在 RVCT v2.0 中 不 支 持 Thumb 代 码 内 联 汇 编 程 序 。<br />

有 关 限 制 的 信 息 , 请 参 阅 第 5-7 页 的 内 联 汇 编 程 序 和 armasm 的 不 同 点 。<br />

内 联 汇 编 程 序 是 一 个 高 级 汇 编 程 序 。 它 生 成 的 代 码 与 您 所 生 成 的 代 码 并 不 总 是<br />

完 全 一 致 。 不 能 用 它 来 生 成 比 编 译 程 序 生 成 代 码 更 有 效 的 代 码 。 应 当 使 用 <strong>ARM</strong><br />

汇 编 程 序 armasm 来 实 现 此 目 的 。<br />

不 支 持 <strong>ARM</strong> 汇 编 程 序 armasm 可 以 使 用 的 某 些 低 级 功 能 , 如 不 能 通 过 写 入 PC 进<br />

行 跳 转 。<br />

有 关 内 联 汇 编 程 序 的 详 细 信 息 , 请 参 阅 <strong>RealView</strong> 编 译 工 具 2.0 版 编 译 程 序 和 库<br />

指 南 中 关 于 内 联 和 嵌 入 式 汇 编 程 序 一 章 。<br />

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

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

Saved successfully!

Ooh no, something went wrong!