C语言中插入汇编

Python014

C语言中插入汇编,第1张

先得把生成SRC文件的选项打开 不然就直接生成OBJ的

#pragma asm

nop

#pragma endasm

的意思是这段程序向SRC文件编译时保持源代码不变 也就把这段汇编加进SRC汇编文件中。

但C文件要生成HEX文件时是通过OBJ文件进行的,所以直接编译是肯定出错的

正确的方法是生成SRC文件后 打开直接对SRC文件编译来生成HEX文件

1、在C文件中要嵌入汇编代码片以如下方式加入汇编代码:#pragmaASMAssemblerCodeHere#pragmaENDASM2、在Project窗口中包含汇编代码的C文件上右键,选择“Optionsfor...”,点击右边的“GenerateAssemblerSRCFile”和“AssembleSRCFile”,使检查框由灰色变成黑色(有效)状态;3、根据选择的编译模式,把相应的库文件(如Small模式时,是Keil\C51\Lib\C51S.Lib)加入工程中,该文件必须作为工程的最后文件;4、编译,即可生成目标代码。

int main(void)  // C语言嵌入汇编,还是要有main 函数的,而且汇编语句要放入函数里面

{

   __asm mov al, 2

   __asm mov dx, 0xD007

   __asm out dx, al      

}