匯編語言怎樣嵌入C語言?
10
最佳回答:
這和你的編譯器是有關的
上位機嵌入匯編的方式
如果在51 KEIL 中
方法是這樣的
#pragma ASM
; Assembler Code Here
#pragma ENDASM
不過你還得在 Project 窗口中包含匯編代碼的 C 文件上右鍵,選擇“Options for ...”,點擊右邊的“Generate Assembler SRC File”
和“Assemble SRC File”,使檢查框由灰色變成黑色(有效)狀態;
建議: 用C語言做個框架,編譯後改為匯編框架,填入匯編程序,一般可以保證和C語言兼容.注意格式
_asm
{
.......
........
......
}
=====================================================
把asm作關鍵字,其後的匯編用大括號闊起
如:
void set_time(void)
{
asm
{
del1:
mov r4,#0fh
del2:
mov r5,#0fh
djnz r5,del2
djnz r4,del1
}
}
或
void set_time(void)
{ asm del1:
asm mov r4,#0fh
asm del2:
asm mov r5,#0fh
asm djnz r5,del2
asm djnz r4,del1
}
還有編譯器的設置問題
===================================================
KEILC51中是可以直接嵌入匯編,方法為#Pragma asm 匯編行 #pragma ,注意在寫匯編之後要
記得加 END 這樣子就OK了。