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





