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