文章标题
2016-11-17 22:00
260 查看
数据定义伪操作
.byte .space cnt 0x01 分配 cnt个字节,初始化为0x01 .short .long/.word .quad .float .string/.asciz/.ascii .ascii "abcd\0" 注: .ascii 需要加 '\0',其它不需要
汇编控制伪操作
.if logical expression ... .else ... .endif .rep cnt ... .endr 重复执行cnt次
#
C和汇编的混合编程
1. 汇编调用C
b main
2. C调用汇编
@C文件 extern void FUNC(void); int main(){ int a = 6; FUNC(); a = 12; } @asm 文件 FUNC: mov r1, #1 mov pc, lr;
3. C内联汇编
int main() { int a =1; asm { “mov r1, #1\n” “mov r2, #2\n” }; a = 2; }
注意:C 和汇编互相调用要符合ATPCS/AAPCS 协议