1.匯編語句寫法
2.設(shè)置嵌套了匯編的C文件屬性
勾選這兩項為黑色
4.匯編常包含的庫文件。自己看著選
存儲模式是small模式添加這個文件
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
C51下加入?yún)R編代碼
使用如下標志符:
#pragma asm
;匯編語句
#pragma endasm
注意:Keil編譯器中需要激活Properties中的“Generate Assembler SRC File” 和“Assembler SRC File ”兩個選項
以下舉例:
1、把"xx.c"加入工程中,右擊"xx.c"選擇“options for file"xx.c" 選擇“Generate Assembler SRC File”和“Assemble SRC File”打上黑勾有效;
2、根據(jù)選擇的編譯模式,把相應(yīng)的庫文件象加"xx.c"一樣加入工程中并放在"xx.c"下面,如smail模式下選"keilc51libc51s.lib"加入工程中,如果要進行浮點運算把"keilc51libc51fpl.lib"也加入工程中。
在 Keil 安裝目錄下的 C51LIB 目錄的LIB 文件如下:
C51S.LIB - 沒有浮點運算的 Small model
C51C.LIB - 沒有浮點運算的 Compact model
C51L.LIB - 沒有浮點運算的 Large model
C51FPS.LIB - 帶浮點運算的 Small model
C51FPC.LIB - 帶浮點運算的 Compact model
C51FPL.LIB - 帶浮點運算的 Large model
3、在"xx.c"頭文件中加入優(yōu)化:比如#pragma OT(4,speed)
4、在"xx.c"中加入?yún)R編代碼
#pragma ASM
;Assembler Code Here
#pragma ENDASM
5、編譯生成xx.hex
注意:
沒有做第一步會有如下警告:'asm/endasm' requires src-control to be active
沒有做第二步會有如下警告:UNRESOLVED EXTERNAL SYMBOL;
REFERENCE MADE TO UNRESOLVED EXTERNAL等
沒有做第三步會有如下警告:UNDEFINED SYMBOL (PASS-2)