为了调试我编写的一些 C 代码中的问题,我正在检查由 IAR AVR 编译器生成的一些汇编代码。在 .s90 文件的顶部声明了几个函数。每个函数声明具有以下形式:
PUBLIC FunctionName1
FUNCTION FunctionName1,021201H
ARGFRAME CSTACK, 0, STACK
LOCFRAME RSTACK, 2, STACK
有谁知道 ARGFRAME 和 LOCFRAME 指令是做什么的?它们仅在 IAR EWAVR 汇编器参考中简要提及。有时我看到使用 RSTACK 作为 ARGFRAME 的参数而不是 CSTACK 声明的函数:
PUBLIC FunctionName2
FUNCTION FunctionName2,021201H
ARGFRAME RSTACK, 0, STACK
LOCFRAME RSTACK, 2, STACK
有人知道将 RSTACK 与 CSTACK 与 ARGFRAME 结合使用的原因吗?