汇编代码中的“ .dcall”是什么意思?

时间:2019-07-05 17:15:07

标签: assembly embedded microcontroller stm stm8

我正在尝试理解汇编代码中的程序,该程序应使用COSMIC编译器进行编译以在STM8控制器上运行。

在程序的开头,有两个xrefxdef,然后是.dcall语句或命令。在这里:

.dcall "2,0,__checksum16"

我搜索了编译器手册,控制器的编程手册和整个Internet,但是找不到这行的含义。

有人可以解释一下这是什么意思吗?这些逗号分隔的条目是什么意思?

1 个答案:

答案 0 :(得分:3)

这是一个汇编程序指令,用于标记函数的入口点,符号名称和堆栈用法。

根据this

  

[...]第一个整数是调用指令使用的堆栈空间加上该函数使用的所有自动存储。第二个整数是调用方堆积的字节数。

我建议给定其名称和功能,以使其将调试信息插入到目标文件中,以供ZAP符号调试器使用。我不熟悉Cosmic工具链,但是它也可能被链接器用于在调用图中执行堆栈深度分析。