音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng)
驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業(yè) | CAN-bus/DeviceNe

想在C中嵌入段匯編

作者:sybaselu 欄目:單片機
想在C中嵌入段匯編
想在C中嵌入段匯編,是不是如下:

while(1)
{
start:

#pragma ASM

.....JB P3.2, start;(能到start那里嗎?)

#pragma ENDASM
  


2樓: >>參與討論
sybaselu
編譯不過!
可是問題是,當我用偉福的編譯器編譯完后,提示:
'asm/endasm' requires src-control to be active(要求源碼控制被激活?什么意思?)
是不是在源碼的開頭加上什么參數(shù)的


3樓: >>參與討論
sybaselu
后來
后來在源文件頭加上
#pragma SRC
編譯還是提示錯,好像是文件或路徑找不到.OBJ文件找不到!請教!

4樓: >>參與討論
lu_weixi
要加入以下控制
#pragma src(abc.asm)
就可以通過編譯了。最后你要用abc.asm這個文件。

5樓: >>參與討論
abc2001
看一下這個例程吧.
//<asm.h>
#ifdef ASM
        unsigned LONG shiftR1(register unsigned LONG);
#else    
        extern unsigned LONG shiftR1(register unsigned LONG);
#endif
//end of asm.h

//<asm.c>
#define ASM
#include <asm.h>
#include <reg52.h>
#pragma OT(4,speed)
unsigned LONG    shiftR1(register unsigned LONG    x)
{
   #pragma asm
   clr c
   mov a,r4
   rrc a
   mov r4,a

   mov a,r5
   rrc a
   mov r5,a

   mov a,r6
   rrc a
   mov r6,a

   mov a,r7
   rrc a
   mov r7,a
   
   #pragma endasm
   return(x);
}
//end of asm.c
將此源文件加入要編譯的工程文件,
將光標指向此文件,選擇右鍵菜單“option for file 'asm.c'”,
將屬性單“properties”中的“Generate Assembler SRC File”“Assemble SRC File”
兩項設置成黑體的“√”將“LINK Public ONLY”的“√”去掉,再編譯即可。
用此方法可以在c源代碼的任意位置用#pragma asm和#pragma endasm嵌入?yún)R編語句。
但要注意的是在直接使用形參時要小心,在不同的優(yōu)化級別下產生的匯編代碼有所不同,
可以察看對應的.lst文件看一看,得到正確的優(yōu)化級別后,#pragma OT(x,speed)鎖定
優(yōu)化級別(這里的值是0-9)。


參與討論
昵稱:
討論內容:
 
 
相關帖子
請問在C51中,中斷函數(shù)中的變量是否為全局變量?
請教一個C語言的問題
請問單片機的i/o口是三態(tài)的嗎?
請教10位和12位A/D轉換芯片的替換問題
誰有完整的SD卡資料或者下載地址,能告訴我嗎,可以付費
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號