C51和汇编混合编程----函数声明

最近看了一些C51的书,遇到了困难,查阅后终于理解了,望对大家有帮助!

先看个例子:

?PR?CLRME SEGMENT CODE; //在程序存储区中定义段
PUBLIC CLRME; //
声明函数
RSEG ?PR?CLRME; //
函数可被连接器放置在任何地方
CLRME:
MOV R0,#7FH
CLR A
LOOP:
MOV @R0,A
DJNZ R0,LOOP
RET
END

只需给存放功能函数的段指定一个段名;
?PR? CLRME SEGMENT CODE;
作用是在程序存储区中定义段,CLRME为段名,?PR?表示段位于程序存储区内
PUBLIC CLRME;
作用是声明函数为公共函数
RSEG ?PR?CLRME;
表示函数可被连接器放置在任何地方,RSEG是段名的属性
段名的开头为PR,是为了和C51内部命名转换兼容,命名转换规律如下:
CODE
-?PR?CO
XDATA
-?
XD
DATA
-?
DT
BIT
-?
BI
PDATA
-?PD

 

你可能感兴趣的:(C51编程)