gpt4 book ai didi

c - 混合汇编语言和 C 程序

转载 作者:太空宇宙 更新时间:2023-11-04 02:18:29 25 4
gpt4 key购买 nike

我正在使用汇编中的引导加载程序,我经常调用 C 函数来一次发送和接收一个字符。我使用的 Controller 似乎只有 3 个经常使用的通用寄存器。除此之外,我将一些字节存储在固定的 RAM 位置。

所以,我的问题是:C函数会覆盖这些在汇编中定义的RAM位置吗?

我在使用这些 C 函数之前和之后对相关寄存器执行 PUSH 和 PULL。

最佳答案

如果我正确理解了您的问题,您可能担心汇编模块中使用的 RAM 位置与 C 模块中声明的某些变量重叠。您可以检查链接器输出的列表文件以确定是否属于这种情况。链接器列表文件将显示您的 C 模块使用的所有 RAM 地址,您可以将这些地址与汇编模块中使用的固定 RAM 位置进行比较。

请注意,如果您的链接器没有自动生成列表文件,您将必须通读链接器的文档以找到正确的命令行选项来执行此操作。

关于c - 混合汇编语言和 C 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4108556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com