|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
關(guān)于c51與匯編的 混合編程問題 |
| 作者:wolf_heart 欄目:單片機(jī) |
兄弟在一個(gè)中斷處理程序中嵌入一段匯編代碼,發(fā)現(xiàn)能夠進(jìn)入?yún)R編,并且匯編代碼執(zhí)行無誤,但是當(dāng)執(zhí)行到匯編代碼結(jié)束時(shí),程序沒有跳出匯編代碼段,而是又跑到了匯編代碼段開始處執(zhí)行,就這樣在匯編代碼段中做死循環(huán),請(qǐng)教各位大家,有什么解決的方法?另外,如果是在非中斷處理程序中插入同樣的代碼就沒有以上問題。 |
| 2樓: | >>參與討論 |
| 作者: lixun00 于 2007/1/26 14:52:00 發(fā)布:
是不是中斷標(biāo)志沒有清楚或外部中斷產(chǎn)生的太頻繁 |
|
| 3樓: | >>參與討論 |
| 作者: wolf_heart 于 2007/1/26 17:29:00 發(fā)布:
樓上誤解我的意思了 我在這里做示意流程: void fun(void) interrupt * using 0 //c code { ***** //c code ***** //c code #pragma ASM ***** // asm code #pragma ENDASM ****** //c code } 執(zhí)行的結(jié)果是能夠進(jìn)入?yún)R編代碼,但是卻無法從匯編代碼中返回,即無法執(zhí)行到#pragma ENDASM后面的c語句 |
|
| 4樓: | >>參與討論 |
| 作者: lixun00 于 2007/1/26 18:13:00 發(fā)布:
你把對(duì)應(yīng)的編譯庫(kù)加到最后看看,估計(jì)和這沒關(guān)系 |
|
| 5樓: | >>參與討論 |
| 作者: wolf_heart 于 2007/1/28 15:42:00 發(fā)布:
什么編譯庫(kù)? 我查看過編譯后生成的匯編碼(c代碼也撞成了匯編),沒有問題,但是執(zhí)行就是有問題 |
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |