嘿,即时通讯使用WinAVR并用C编程ATMEGA32。
基本上,我想通过以下方式将C程序链接到asm:



我试图在C中将内存位置定义为确切的内存位置,以便随后可以在asm命令行中访问它们。

我有5个变量:



我知道我可以使用指向内存位置的指针,但不确定如何执行此操作。
任何帮助,将不胜感激。
谢谢,
奥利弗。

最佳答案

此方法是完全独立于编译器的,简单而直接的:

#define var1 (*(volatile unsigned char *)0xDEADBEEF)
#define var2 (*(volatile unsigned char *)0xDECAFBAD)
#define var3 (*(volatile unsigned char *)0xBADC0DE)

等等

关于c - 尝试为特定的内存位置定义变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5616167/

10-09 01:46