首页 热点资讯 义务教育 高等教育 出国留学 考研考公

c语言嵌入的汇编语句如何使用C语言定义的变量?

发布网友 发布时间: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;}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com