|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
在C语言程序中嵌入汇编语言程序可实现一些感激语言没有的功能,并可提高执行效率ARMcc和armcpp内嵌汇编器支持完整的ARM指令集;tcc和tcpp用于Thumb指令集。但是内嵌汇编器并不支持诸如直接修改PC实现跳转的底层功能。
& I; j* G0 r4 c- I- l内嵌的汇编指令包括大部分ARM指令和Thumb指令,但是不能直接饮用C语言的变量定义,数据交换必须通过ATPCS进行。嵌入式汇编在形式上表现为独立定义的函数体。. M" j& R8 j1 s, d( h2 X, U
1 |( [+ `* ~: D) y
_ _asm(“指令[;指令]”);
0 \7 p9 m( a; |' Z4 c' X: DARM C汇编器使用关键字“_ _asm”,如果有多条汇编指令需要嵌入,则可用“{}”将它们归为一条语句。例如:! q" G% q* ^+ j. X
_ _asm
$ ~7 d7 _. W/ C. t! ]( W1 Y; g( g{
# R% Y/ A. @/ I# g指令[;指令]
I8 w, |% W" p7 f, u2 S6 N/ H. x...; F+ S5 X/ O3 E7 n( m% o3 j9 J
[指令]% ~$ Q! n6 r- J9 t7 N; `
}
8 {6 k' o6 Y/ w/ b各指令用“;”分隔。如果一条指令占据多行,除最后一行外都要使用连字符“\”。在汇编指令段内可使用C语言的注释语句。需要特别注意的是,_ _asm是两个下划线。 |
|