工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

Keil C51使用详解2

作者:dolphin时间:2011-05-05

命令行 PA func_name
第三节 dScope for Windows命令文件的编制
dScope除了用命令行的方式进行调试以外,还可将各种调试命令汇集于一个调试文件中,然后调用该文件,就可达到自动测试用户源代码的目的。dScope的命令文件支持C/PL/M的格式,因而编制调试命令文件与编制C语言程序有些类似。
1. 地址空间及地址空间类型
(1) 地址空间分段
dScope提供的最大可用空间为16M,实际上我们只用以下三段:
① 内部数据空间段(0X00段或D段)
0X00:0X0000~0X00:0XFFFF(对MSC51而言为0X00:0X00FF)
② 外部数据空间段(0X01段式或X段)
0X01:0X0000~0X01~0XFFFF
③ 程序空间段(0XFF段或C段)
0XFF:0X0000~0XFF:0XFFFF
(2) 地址空间类型
C:代码空间
D:内部直接寻址空间
I: 内部间接寻址空间
X:外部数据空间
B:位寻址空间
P:I/O口
EB:扩展的位寻址空间(MCS251专有)
ED:扩展的数据空间(MCS251专有)
CO:常数空间(MCS251专有)
HC:正常数空间(MCS251专有)
2. 常量
dScope支持十六进制、八进制、十进制、二进制常数,其后缀分别为H、Q(O)、T(或无)、Y;
dScope不区分常量的大、小写。
(1) 整型常量
分为整型(int),无符号整型(uint,00rd),长整型(long),无符号长整型(Wlong、Word)。
(2) 浮点型常量
与ANSI C相同。
(3) 字符串常量
与ANSI C相同
(4) 字符常量
分为字符型(Char)和无符号字符型(Uchar)一种。
(5) 行号常数
指用户程序中的行号,实际上是个地址
(6) 位常量(Bit):
0和1
(7) 地址常数
地址常数的种类很多,地址常数不同于行号常数,行号常数就是一个地址,而地址数被引用时,实际上是取该地址中的数据。
C:代码地址常数,如C:0X0012或0XFF:0X0012
D:内部直接寻址地址常数,如D:0X0068或0X00:0X0068
I:内部间按寻址地址常数,如I:0X0010或0X00:0X0010
X:外部数据空间地址常数,如X:0X0028或0X01:0X0028
B:位地址常数,如B:0X20或B:0X24.0
EB:扩展的位地址常数(MCS251专有),
ED:扩展的数据空间地址常数(MCS251专有)
CO:常数空间地址常数(MCS251专有)
HC:正常数空间地址常数(MCS251专有)
(8) 标识符常量
即用户源程序中的标号、函数名等,实际上代表某一地址。
(9) 用户源程序中定义的常数
3. 变量
dScope所支持的变量名或标识符最多可由31个字符组成,第一个字母为A~Z,a~z,下划线或问号,后续字符可为字母、数字、下划线和问号。除CPU变量和系统变量外,dScope不支持全局变量,但可视“define”命令定义的变量为全局变量。
Dscope所支持的变量分为以下几种(变量名称不区分大、小写),支持类型转换:
(1) 整型变量
分为整型变量(int)、无符号整型变量(uint/word),长整型(Long) 、无符号长整型(Ulong/dword)。
(2) 浮点型变量(float)
与ANSI C相同。
(3) 字符型变量L
分为字符型(char)变量和无符号字符型(Uchar)
(4) 位变量(Bit)
(5) 系统变量
dScope自己定义了一系列内部变量,用户可对这些变量进行读或读/写操作, 可被用户自定义数所引用。
a. Cycles (Read Only)
32位变量(Ulong),指示当前程序执行已花费的指令周期(cycle)。
b. Ramsize(R/W)
16位变量(Uint),指示内部可直接寻址的数据空间大小。
c. Radix(R/N)
8位变量(Uchar),决定输出的数制
Radix=0X0A (10进制),Radix=0X10 (16进制)
d. -IIP-(R/W)
8位变量(Uchar),指示当前的中断嵌套数目。
e. $ (R/W)
32位变量(Ulong),指出PC值,通过对其进行写操作,可改变程序执行的流程。
f. Itrace (R/W)
8位变量(Uchar),决定是否对程序运行情况进行记录
Itrace=1,使能记录操作
Itrace=0,根本上记录操作
g. __Break__(R/W)
8位变量(Uchar) __Break__=1,中止程序的运行
h. __Mode__和__Frame size__是MCS 251专有的变量。
(6) CPU变量
即R0~R7、A、C(位变量)、B、DPTR及特殊功能寄存器变量,对这些变量均可进行读、写操作。
(7) 用户源程序中定义的变量、数组、结构等
4. 运算符
dScope支持ANSI C的运算符,包括算术运算符,逻辑运算符,关系运算符。
5. 表达式
以运算符将dScope所支持的常量、变量、函数等连接在一起,就构成了dScope的表达式。
6. 数组
dScope不支持在命令文件中定义数组,但可引用用户程序中的数组,引用方式如同C。
7. 结构和联合
dScope不支持在命令文件中定义结构和联合,但可引用用户程序中的结构和联合,引用方式如同C,但如要输出整个结构或联合的结果,就要用命令“OBJ”。
8. 指针:
不可自定义指针,但支持用户源程序中的指针变量。


关键词: 使用 详解

评论

技术专区