Keil C51使用详解(9)

2019-09-01 13:08

① 内部数据空间段(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相同。

41

(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变量和系

42

统变量外,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)

43

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. 指针:

不可自定义指针,但支持用户源程序中的指针变量。 9. dScope命令语句

dScope提供了一系列调试命令。在命令文件中,dScope只支持这些语句及前述定义的表达式,C语言的语句均不被支持,但在命令文件所包含的用户自定义函数(非

44

用户源程序中的函数)中支持C语句,但用户自定义函数中同样不支持数组、结构、联合和指针。 (1) ASM

在线汇编命令,格式如下:

ASM C:0Xnnnn (或标号);设定插入汇编指令的地址 ASM 汇编指令 ASM 汇编指令

插入完毕后,在debug窗口内选择“Assemble->Assemble”完成编译。 (2) Assign

串行口分配指令,格式如下: Assign channeloutreg

对MCS51为:Assign Win Soot

但目前的dScope版本并未提供完整串口窗口功能。 (3) Define

用户自定义变量指令,格式如下: Define <类型> <变量名>

类型一为如前所述的变量类型,Define指令定义的变量可能为全局变量,可为用户自定义函数所引用。

(4) Display

内存显示命令,格式如下二: D 起始地址,结束地址

地址如前所述的地址常数,标识符常量。 (5) Enter

内存修改指令,格式如下:

E 类型地址=表达式 [表达式2],[……]

45


Keil C51使用详解(9).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:二乙二醇单丁醚生产技术及市场行情研究报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: