函数中调用外部文件中的函数呢?
其实可以用XDEF和XREF方式定义。XDEF用于定义一个可以被外部调用的函数,XREF用于
该文件调用外部函数,类似C语言中的头文件,在uc/os-ii对飞思卡尔单片机的移植范例中就使用
到了这两个伪指令。具体应用如例所示:
在file1中 (caller):
XREF FUNC_1
MainLoop:
NOP
JSR FUNC_1
BRA MainLoop
在file2中(callee):
XDEF FUNC_1
FUNC_1:
NOP
RTS
1、汇编源程序中:
XDEF ASMData, ASMConst ;声明 ASMData, ASMConst 可以在模块外访问
MyData: SECTION
ASMData: DS.W 1 ; 定义变量
MyConst: SECTION
ASMConst: DC.W $44A6 ; 定义常量
2、在C语言源程序中:
#pragma DATA_SEG MyData
extern int ASMData;
#pragma DATA_SEG DEFAULT
#pragma CONST_SEG MyConst
extern const int ASMConst;
#pragma CONST_SEG DEFAULT
二、当汇编语言调用C语言时,采用如下的方法:
1、在C语言源文件中:
unsigned int CData;
unsigned const int CConst;
2、在汇编语言源文件中:
XREF CData ; 外部声明的变量
XREF CConst ; 外部声明的常量
使用:
LDD CConst
STD CData