本帖最后由 STM32W108 于 2011-1-24 09:43 编辑
开始学汇编了,汇编寄存器使用规则完全按照C的规则来。 这样,汇编和C就可以相互混合使用。 熟悉C的很容易理解这种方法写的汇编。
C调用汇编比较容易。
汇编调用C(实际上是汇编调用C编译出来的汇编代码),需要注意(仅针对IAR):
1.如果需要使用全局寄存器变量,则需要在C里面把这些寄存器锁定,确保C语言不使用这些寄存器。
2.C语言的全局变量会自动初始化。汇编在调用C函数之前,需要把C函数的全局变量手动初始化正确值。
3.有些编译器会使用虚拟寄存器。汇编调用C函数必须自己定义虚拟寄存器,并遵循C语言使用规则。 这种方法写汇编挺爽的。 AVR,STM8,MSP430三款MCU汇编一起学。 |