发布网友 发布时间:2022-04-23 04:23
共2个回答
热心网友 时间:2023-10-14 16:22
直接用即可,比如:
热心网友 时间:2023-10-14 16:22
内联汇编使用“__asm”(C++)和“asm”(C和C++)关百键字声明,语法格式如下所示,内联汇编支持大部分的ARM指令,但不支持带状态转移的跳转指令,如BX和BLX 指令
由于内联汇编嵌入在C或C++程序中,所有在用法上有其自身的度一些特点。
① 如果同一行中包含多条指令,则用分号隔开。
② 如果一条指令不能在一问行中完成,使用反斜杠“/”将其连接。
③ 内联汇编中的注释语句可以使用C或C++风格的。
④ 汇编语言中使用逗号“,”作为指令操作答数的分隔符,所版以如果在C语言中使用逗号必须用圆括号括起来。如,__asm {ADD x, y, (f(), z)}。
⑤ 内联汇编语言中的寄存器名被编译器视为C 或C++语言中的变量,所以内联汇编中出现的寄存器名不一定权和同名的物理寄存器相对应。这些寄存器名在使用前必须声明,否则编译器将提示警告信息。
int f(int x){ int r0; __asm { ADD r0, x, 1 EOR x, r0, x } return x;}