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.

命 令 参 考<br />

7.5.10 FUNCTION 或 PROC<br />

FUNCTION 命 令 标 记 一 个 兼 容 ATPCS 的 函 数 开 始 。 PROC 是 FUNCTION 的 一 个 同 义 词 。<br />

语 法<br />

label FUNCTION [{Reglist1} [, {Reglist2}]]<br />

其 中 :<br />

reglist1<br />

是 一 个 可 选 的 由 被 调 用 函 数 保 存 的 <strong>ARM</strong> 寄 存 器 列 表 。 如 果 reglist1<br />

不 出 现 , 并 且 调 试 程 序 检 查 寄 存 器 使 用 情 况 , 则 将 假 定 正 在 使 用<br />

ATPCS。<br />

reglist2 是 一 个 可 选 的 由 被 调 用 函 数 保 存 的 VFP 寄 存 器 列 表 。<br />

用 法<br />

使 用 FUNCTION 来 标 记 函 数 的 开 始 。 在 为 ELF 生 成 DWARF 调 用 框 架 信 息 时 , 汇<br />

编 程 序 使 用 FUNCTION 来 标 识 一 个 函 数 的 开 始 。<br />

FUNCTION 将 规 范 框 架 地 址 设 置 为 sp, 并 将 框 架 状 态 栈 清 空 。<br />

每 个 FUNCTION 命 令 必 须 有 一 个 相 匹 配 的 ENDFUNC 命 令 。 不 能 嵌 套 FUNCTION/ENDFUNC<br />

对 , 并 且 它 们 不 能 包 含 PROC 或 ENDP 命 令 。<br />

如 果 正 在 使 用 自 己 的 程 序 调 用 标 准 , 可 以 使 用 可 选 的 reglist 参 数 来 将 有 关 此 备<br />

选 程 序 调 用 标 准 的 信 息 通 知 调 试 程 序 。 并 非 所 有 调 试 程 序 都 支 持 此 功 能 。 详 细 信<br />

息 请 参 阅 所 用 调 试 器 的 程 序 。<br />

另 请 参 阅 第 7-35 页 的 FRAME ADDRESS 到 第 7-43 页 的 FRAME STATE<br />

RESTORE。<br />

示 例<br />

dadd<br />

func6<br />

FUNCTION<br />

EXPORT dadd<br />

STMFD sp!,{r4-r6,lr}<br />

FRAME PUSH {r4-r6,lr}<br />

; subroutine body<br />

LDMFD sp!,{r4-r6,pc}<br />

ENDFUNC<br />

PROC {r4-r8,r12},{D1-D3} ; non-ATPCS-conforming function<br />

...<br />

ENDP<br />

7-44 © 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!