在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数据指针来寻址。