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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

使 用 过 程 调 用 标 准<br />

3.4 参 数 传 递<br />

有 可 变 个 数 自 变 量 的 函 数 是 variadic。 有 固 定 个 数 自 变 量 的 函 数 是 nonvariadic。<br />

向 variadic 和 nonvariadic 函 数 传 递 参 数 有 不 同 的 规 则 。<br />

此 部 分 描 述 基 本 标 准 。 有 关 浮 点 选 项 的 更 多 信 息 , 请 参 阅 第 3-17 页 的 浮 点 选 项 。<br />

3.4.1 Nonvariadic 函 数<br />

参 数 值 以 下 列 方 式 传 递 到 nonvariadic 函 数 :<br />

1. 前 面 的 整 型 自 变 量 按 顺 序 分 配 给 r0-r3 ( 请 参 阅 长 整 数 分 配 )。<br />

2. 其 余 参 数 按 顺 序 分 配 给 栈 ( 请 参 阅 长 整 数 分 配 )。<br />

警 告<br />

栈 访 问 时 将 显 著 增 加 代 码 大 小 并 降 低 执 行 速 度 。 尽 可 能 将 参 数 个 数 限 制 为<br />

少 于 5 个 。<br />

长 整 数 分 配<br />

超 过 32 位 的 整 型 参 数 ( 例 如 , long long 型 ) 有 8 字 节 对 齐 。 传 递 long long 型<br />

参 数 时 , 将 它 分 配 给 寄 存 器 r2 和 r3, 或 者 分 配 给 栈 。<br />

浮 点 数 分 配<br />

如 果 系 统 有 浮 点 硬 件 , 则 FP 参 数 如 下 列 方 式 分 配 给 FP 寄 存 器 :<br />

1. 按 次 序 检 查 每 个 FP 参 数 。<br />

2. 对 于 每 个 参 数 , 检 查 可 用 的 FP 寄 存 器 组 。<br />

3. 如 果 有 一 个 可 用 , 则 将 编 号 最 低 、 尺 寸 适 合 于 参 数 的 相 邻 FP 寄 存 器 组 分 配<br />

给 参 数 。<br />

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

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

Saved successfully!

Ooh no, something went wrong!