在C51中,函數的定義與ANSI C相同,只是C51的函數在函數後面可以根據需要加若干C51的關鍵字。
C51函數定義的格式:
[返回值類型] 函數名([形參表]) [函數模式] [reentrant] [inerrupt n] [using n]
函數模式:small|compact|large,沒有明確指定存儲類型的變量、函數參數等數據的默認存儲區
reentrant:可重入函數
interrupt n:中斷函數,向量地址爲8*n+3,n(0~31)
using n:如有code banking使用哪一塊存儲空間
1. small模式
所有缺省變量參數都裝入內部RAM。
2.compact模式
所有缺省變量均位於外部RAM的一頁(pdata),最大變量數256字節。使用@R0和@R1尋址方式指令來訪問相應的存儲器,R0和R1中裝的是低位字節的地址,高位字節的地址由P2提供。
3.large模式
所有缺省變量客房在多達64K的外部RAM(xdata),均使用DPTR數據指針來尋址。