Codewarrior汇编中的XDEF和XREF释疑

来源:本站
导读:目前正在解读《Codewarrior汇编中的XDEF和XREF释疑》的相关信息,《Codewarrior汇编中的XDEF和XREF释疑》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《Codewarrior汇编中的XDEF和XREF释疑》的详细说明。
简介:Codewarrior汇编中的XDEF和XREF释疑

在Freescale的codewarrior汇编程序中,在主函数文件和外部文件中怎样定义,才能在主

函数中调用外部文件中的函数呢?

其实可以用XDEF和XREF方式定义。XDEF用于定义一个可以被外部调用的函数,XREF用于

该文件调用外部函数,类似C语言中的头文件,在uc/os-ii对飞思卡尔单片机的移植范例中就使用

到了这两个伪指令。具体应用如例所示:

在file1中 (caller):

XREFFUNC_1

MainLoop:

NOP

JSR FUNC_1

BRA MainLoop

在file2中(callee):

XDEFFUNC_1

FUNC_1:

NOP

RTS

一、当C语言调用汇编语言时,采用如下的方法:

1、汇编源程序中:

XDEFASMData, ASMConst;声明 ASMData, ASMConst 可以在模块外访问

MyData:SECTION

ASMData:DS.W1; 定义变量

MyConst:SECTION

ASMConst:DC.W$44A6; 定义常量

2、在C语言源程序中:

#pragma DATA_SEGMyData/* 定义变量段 */

extern intASMData; /* 变量 ASMData 是外部模块声明的 */

#pragma DATA_SEGDEFAULT/* 返回默认变量段 */

#pragma CONST_SEGMyConst/* 定义常数段 */

extern const intASMConst;/* 常量 ASMConst 是外部模块声明的*/

#pragma CONST_SEGDEFAULT/*返回默认常数段 */

二、当汇编语言调用C语言时,采用如下的方法:

1、在C语言源文件中:

unsigned intCData;/* 定义变量 */

unsigned const intCConst;/* 定义常量 */

2、在汇编语言源文件中:

XREFCData; 外部声明的变量

XREFCConst; 外部声明的常量

使用:

LDD CConst

STD CData

提醒:《Codewarrior汇编中的XDEF和XREF释疑》最后刷新时间 2024-03-14 01:04:59,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《Codewarrior汇编中的XDEF和XREF释疑》该内容的真实性请自行鉴别。