找回密码
 注册
搜索
查看: 942|回复: 0

[MCU资料] 学习资料7

[复制链接]
发表于 2008-3-28 18:51:32 | 显示全部楼层 |阅读模式
第八章  PL/M语言简介
PL/M语言及其特点
PL/M语言是一种高级语言,它由美国INTEL公司设计,主要用于Intel公司生产的单片机和微处理器系统软件和应用软件的开发。作为高级语言,它更接近和体现人的设计思想。PL/M语言不仅具有一般高级语言的特点,而且还能象汇编语言那样直接利用CPU的硬件特性进行程序设计。因而,与其它高级语言相比,功能多,用途更广泛,尤其在16位单片机应用领域更受到人们的普遍重视。
PL/M语言的特点主要体现在以下几方面:
1. 简单、易学。PL/M语言的语句可分为两类:一类是说明语句,用于说明变量和过程(过程类似于其它语言中的子程序,但功能更强);另一类是可执行语句,如赋值语句。
2. 可读性好。PL/M语言属于结构化语言,其程序是块式结构,层次清晰,便于理解和阅读。一个完整的程序可由多个单独编译的模块组成,每个模块可由多个程序块组成,程序块可以互相嵌套。
3. 占用内存容量小,运行速度快。若程序长度接近或超过2K字节时,其占用内存大小和运行速度甚至可优于一般人直接用汇编语言编写的程序。
4. 可靠性高。用PL/M语言编写的程序容易达到正确的目的。
5. 可维护性好。既便于修改和增添,有利于将来扩充和开发,也便于发现程序中的错误。
6. 能够使用与实际问题更接近的数据类型和数据结构。例如,布尔变量,字符,数组,结构,有符号和无符号整数,浮点数,位操作等。
7. 作用域概念和规则,增强了程序编写的灵活性。例如,可以多人共同编制一个程序,而不必担心是否使用了相同的标识符。
8. 程序设计速度快,开发成本低(投入人力、财力少),周期短,效益高。
9. PL/M语言可与汇编及其它高级语言程序连接生成一组目标码。
10. PL/M语言程序库可由用户增加和删改。
PL/M语言到机器代码的转换主要由编译程序完成。经过编译后生成可重定位的机器代码文件最终由连接程序将多个模块连接定位。可重定位的目标模块(机器代码)可由PL/M语言、汇编语言或其它高级语言程序生成。编译程序提供一个输出清单、错误信息、一定数量的控制功能,以帮助进行程序开发和调试。程序编译后可得到列表文件,其扩展名为.LST,程序连接后可得到有关列表文件,其扩展名为.M96。列表文件给出了各种有关的信息。PL/M编译程序主要特点如下:
1. 结构化编程。
2. 兼容性好。可与其它语言程序生成的目标模块相连接。
3. 支持多种数据类型及逻辑、算术、关系等多种运算。还可使用基变量。
4. 支持多种数据结构,如数组、结构(可有不同类型),数组和结构的结合。
5. 支持中断管理,使用INTERRUPT过程。
6. 丰富的编译控制,提高了程序编译灵活性。这些控制包括:
(1) 优化。
(2) 条件编译。
(3) 将磁盘上的PL/M源文件引入到程序中。
(4) 符号交叉引用。
(5) 选择列出PL/M语言程序对应用的汇编语言程序和机器代码。
7. 有4级代码自动优化功能,优化内容为:
(1) 常数表达式的结合。例如,用左移代替乘2
(2) 机器码优化;除去不必要的分支;重复使用完全相同的代码;除去不可能到达的代码。
(3) 片内寄存器覆盖。
(4) 基变量优化处理。
(5) 尽可能使用短跳转。
8. 提供了作为PL/M语言组成部分之一的内部过程。除了类型转换、串处理、位操作内部过程外,还提供了访问硬件标志的过程。
9. 详细的错误检查。PL/M编译程序发现程序错误,则提供很详细的错误信息。
使用PL/M语言的必要性
PL/M语言,尤其是用于开发MCS-96系列单片机的PL/M-96,其优越性已在微机开发中明显体现出来了。从80年代中期开始,国际上单片机应用就进入了16位单片机时代,我国目前也在逐步跟上国际微机应用发展的步伐。在诸多的单片机中,功能强、应用广的Intel公司的MCS-96系列单片机占有一定的优势。16位单片机的高性能,不仅在于其字长,且硬件功能大大加强(片内RAM,片内A/D,片内高速I/O,片内串行通讯口,片内定时器等),而价格却很低(比使用单独的器件价格要低得多)。16位单片机的机器指令远远比8位机丰富,指令功能强,指令字节数也相应加长,最长的有7字节指令,这使我们编写程序时觉得很灵活,但也有不利因素,即在程序较长时,我们很难靠人工来充分利用各种指令的功能,很难使整个程序水平达到最优。对此,PL/M语言可以很好地予以解决。
当今国际上科技发展速度加快,要想跟上世界科技发展速度,只靠增加工作时间是不行的,必须使用先进的技术和手段。在微机开发应用领域更是如此。对此,使用PL/M语言开发微机(尤其是单片机),可大大缩短开发周期。
使用PL/M语言的工作效率高,其生成的机器代码质量也是高水平的。下面仅举一例就可说明这个问题。某单位对35K程序使用计算机进行优化,仅寄存器覆盖一项优化,就使程序长度减少3K。若由人工完成这项工作,除了要花费大量时间外,且很难做得理想,也很容易由此引起其它错误。程序越长,使用PL/M语言的优越性越明显。
使用PL/M语言可显著增加程序可靠性。这一点与其它高级语言一致。
高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-25 19:21 , Processed in 0.045234 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表