RealView Compilation Tools Developer Guide - ARM Information ...
RealView Compilation Tools Developer Guide - ARM Information ...
RealView Compilation Tools Developer Guide - ARM Information ...
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