keil5使用教程stm32 keil中怎么用asm函數?
keil中怎么用asm函數?用C51進行單片機編程是事半功倍的結果,但是很多算法和編譯問題,經常使用ASM代碼更方便、高效。但由于某些原因,Keil在用ASM代碼實現C51時比Sdcc更麻煩。方法如下
keil中怎么用asm函數?
用C51進行單片機編程是事半功倍的結果,但是很多算法和編譯問題,經常使用ASM代碼更方便、高效。但由于某些原因,Keil在用ASM代碼實現C51時比Sdcc更麻煩。方法如下:預處理指令pragmaasm啟動ASM代碼預處理指令pragmaendasm結束ASM代碼。如果用這種方式直接編譯ASM代碼,會出現如下錯誤:errorc272:“ASM/endasm”要求SRC控件處于活動狀態(tài)解決方案:在“文件”工具欄中選擇當前C51文件,單擊鼠標右鍵查看文件選項,將“生成匯編程序srcfile”和“匯編rcfile”的復選框從灰色改為黑色,即使它們是有效的!此時,編譯沒有問題,但是在鏈接過程中生成了兩個警告:**warningl1:unsolvedexternalsymbol**warningl2:reference data source code external。解決方案是在sourcegroup中添加一個lib文件,根據項目的內容不同:c51s.lib-smallmodelc51c,不帶浮點操作。Lib-compactmodelc51l.Lib不帶浮點運算-不帶浮點運算的大型型號C51FPS.LIB文件-帶浮點運算的Smallmodelc51FPC.LIB文件-帶浮點運算的緊湊型C51FPL.LIB文件-帶有浮點運算的大型模型庫位于Keil安裝目錄的/C51/lib/目錄中。