keil or c51 匯編調(diào)用c語(yǔ)言函數(shù) 容易忽視的問(wèn)題
掃描二維碼
隨時(shí)隨地手機(jī)看文章
最近,在用keil 寫(xiě)一個(gè)小程序時(shí),想實(shí)踐一下從匯編調(diào)用 C語(yǔ)言函數(shù),我們都知道C語(yǔ)言調(diào)用匯編函數(shù)討論得較多,但反過(guò)來(lái),從匯編中調(diào)用C語(yǔ)言的函數(shù)未見(jiàn)深入分析;在開(kāi)始的時(shí)候,還是忽視了一個(gè)問(wèn)題,就是對(duì)現(xiàn)場(chǎng)的保護(hù)和還原,以導(dǎo)于程序跑飛。下面的一個(gè)小的測(cè)試用例,主要作用是:從C語(yǔ)言程序中調(diào)用一個(gè)用匯編寫(xiě)的名為int LEDFLASH(int a, int b)。并從該匯編函數(shù)中,反過(guò)來(lái)調(diào)言用C語(yǔ)言實(shí)現(xiàn)的delay()延時(shí)程序。最后的結(jié)果是:由P2口控制的LED燈出現(xiàn)閃爍的現(xiàn)象。C語(yǔ)言源程序所在文件名為:user.c,C語(yǔ)言源程序如下:#include