看程序的时候,偶遇#define abc_breakpoint __asm{bkpt 0} ,第一次也是吓了一跳,这是什么呢,经过在网上查询,发现原来是一个关键字。
__asm关键字启动内联汇编函数,此关键字不会单独出现,必须结合汇编指令一起出现,用大括号或者空括号包围指令,
代码示例1:
__asm
{
mov r1, r2
mov r2, r3
}
也可以不用括号,就是每个指令前面都加上__asm关键字
代码示例2:
__asm mov r1, r2
__asm mov r2, r3
代码示例3:可以放在同一行内,但一定要用逗号隔开
__asm mov r1, r2, __asm mov r2, r3
为了保证代码好看,还是用大括号包围起来比较好。
当然这里的bkpt是汇编指令,后面接16位立即数,产生软件断点中断