《办公自动化原理及套用自学考试指导》是1997-04清华大学出版社出版的图书,作者是陈金海。
基本介绍
- 书名:《办公自动化原理及套用自学考试指导》
- 作者:陈金海
- ISBN:9787302007371
- 页数:188
- 定价:17.00元
- 出版社:清华大学出版社
- 出版时间:1997-04
- 装帧:平装
内容介绍
内容简介
PL/M语言是目前流行的一种计算机高级语言,它主要用于单片微机和一般微机开发,尤其
是16位单片微机开发的得力工具。本书详细介绍了PL/M语言,包括变数类型、说明语句、过程
说明、可执行语句、作用域和结构化程式设计,内部过程、浮点运算库及有关过程、与硬体有关的
操作、PL/M语言和彙编语言及C语言的交叉使用。书中不仅叙述了PL/M语言本身,还详细叙
述了如何进行编译和连线,包括各种编译、连线控制项的使用。书中还专门给出了包括编译、连线
操作在内的完整程式实例。本书以PL/M-96为主,同时叙述了PL/M一86和PL/M-51。
本书通俗易懂,很适合初学者使用。本书可作为高等院校和培训班的教材或参考书,也适合
从事单片微机和一般微机开发的科技人员和自学读者作用。
作品目录
目录
第一章PL/M语言基本知识
1.1 概述
1.1.1 PL/M语言及其特点
1.1.2 使用PL/M语言的必要性
1.1.3 书中的约定
1.2 字元集、标识符、保留字和预说明的标识符
1.2.1 字元集
1.2.2 标识符、保留字和预说明的标识符
1.2.3 符号、分界符和空符号的作用
1.2.4 注释
1.3 常数
1.3.1 纯数常数
1.3.2 浮点常数
1.3.3 字元串
1.4 简单说明语句
1.5 变数、变数类型、数据类型
1.5.1 标量变数和变数
1.5.2 类型
1.5.3 位元组(BYTE)、字(WORD)和双字(DWORD)变数
1.5.4 整型(INTEGER)、短整型(SHORTINT)和长整型(LONGINT)变数
1.5.5 实型(REAL)变数
1.5.6 地址型(ADDRESS)变数
1.5.7 “点”运算符(.)和地址引用
1.5.8 FAST和SLOW属性
1.5.9 隐含类型转换
1.6 运算、表达式及规则
1.6.1 运算对象
1.6.2 表达式
1.6.3 算术运算及其表达式
1.6.4 关係运算及其表达式
1.6.5 逻辑运算及其表达式
1.6.6 表达式计算
1.6.7 常数表达式计算
1.7 数组和结构
1.7.1 数组说明
1.7.2 下标变数
1.7.3 结构
1.7.4 结构数组
1.7.5 结构内数组
1.7.6 结构数组内数组
1.7.7 数组的隐含长度说明
1.8 对变数(包括数组和结构)的引用
1.8.1 完全限定的变数引用
1.8.2 非限定的变数引用
1.8.3 部分限定的变数引用
1.9 有基变数
1.9.1 有基变数
1.9.2 有基变数和地址引用套用举例
1.10 高级说明语句
1.10.1 概述
1.10.2 连线属性说明(PUBLIC和EXTERNAL)――扩展作用域
1.10.3 AT属性说明
1.10.4 DATA赋值
1.10.5 语句标号说明
1.10.6 文字(LITERALLY)说明及用途
1.10.7 组合说明语句
1.11 存储的相邻性
第二章 PL/M-96可执行语
2.1 赋值语句
2.1.1 赋值语句
2.1.2 多次赋值语句
2.1.3 内嵌赋值语句
2.2 DO程式块
2.2.1 简单DO程式块
2.2.2 DOWHILE程式块
2.2.3 循环DO程式块
2.2.4 DOCASE程式块
2.3 条件(IF)语句
2.3.1 IF语句
2.3.2 嵌套IF语句
2.3.3 顺序IF语句
2.4 语句标号和GOTO语句
2.5其它可执行语句
2.5.1调用(CALL)和返回(RETURN)语句
2.5.2空语句(;)
2.5.3开中断(ENABLE)和关中断(DISABLE)语句
第三章 过程
3.1 概述
3.2 过程说明
3.2.1 参数
3.2.2 有类型过程和无类型过程
3.2.3 从过程的转出
3.2.4 过程体
3.3 过程的属性
3.3.1 公共(PUBLIC)和外部(EXTERNAL)属性
3.3.2 中断和中断属性(INTERRUPT)
3.3.3 ENABLE(开中断)和DISABLE(关中断)语句
3.3.4 重入性和REENTRANT(重入)属性
3.3.5 INDIRECTLY―CALLABLE(可间接调用)属性
3.3.6 INTERRUPT-CALLABLE(可中断调用)属性
3.4 过程的调用
3.4.1 函式引用
3.4.2 CALL调用
3.4.3 间接过程调用
3.4.4 调用其它模组中的过程
第四章 作用域和结构化程式
4.1 结构化程式
4.2 程式模组
4.2.1 程式的模组化结构
4.2.2 程式模组之间的连线
4.3 作用域
4.3.1 几个基本术语(层和内含)
4.3.2 作用域
4.4 标号作用域和对GOTO语句的限制
4.4.1 标号的作用域
4.4.2 对GOTO语句的限制
5.1.2 LAST过程
5.1.3 SIZE过程
5.2 类型转换
5.2.1 LOW、H1GH和DOUBLE过程
5.2.2 SHORT和EXTEND过程
5.2.3 SIGNED和UNSIGN过程
5.2.4 FLOAT和FIX过程
5.2.5 ABS和IABS过程
5.3 移位和循环移位过程
5.3.1 循环移位过程:ROL和ROR
5.3.2 逻辑移位过程:SHL和SHR
5.3.3 代数移位过程:SAL和SAR
5.4 串处理过程
5.4.1 MOVB和MOVW过程
5.4.2 CMPB和CMPW过程
5.4.3 FINDB和FINDW过程
5.4.4 sKIPB和SKIPW过程
5.4.5 sETB和sETW过程
5.5 位操作过程
5.5.1 BITSET过程
5.5.2 BITCLR过程
5.5.3 BITTST过程
5.5.4 BITCPL过程
5.5.5 BITAsN过程
5.6 其它内部过程和内部变数
5.6.1 MOVE过程
5.6.2 TIME过程
5.6.3 MEMORY数组
5.6.4 sTACKPTR变数
第六章 与MCS-96硬体有关的PL/M-96运算符和内部过程
6.1 最佳化和MCS-96硬体标誌
6.2 PLUS和MINUS运算符
6.3 与硬体有关的PL/M-96内部过程
第七章 浮点运算库及有关过程
7.1 实型(REAL)数的表示
7.2 REAL数学部件
7.3 REAL运算中的例外状态
7.3.1 不合法操作例外
7.3.2 非规格化操作例外
7.3.3 被零除例外
7.3.4 上溢例外
7.3.5 下溢例外
7.3.6 精度降低例外
7.4 与浮点运算库有关的内部过程
7.4.1 初始化(INIT$REAL$MATH$UNIT)过程
7.4.2 设定控制字(sET$REAL$MODE)过程
7.4.3 获取出错位元组(GET$REAL$ERROR)过程
7.4.4 保存REAL状态(SAVE$REAL$STATUS)过程
7.4.5 恢复REAL状态(RESTORE$REAL$STATUS)过程
7.4.6 浮点运算库中的开平方等过程
7.5 如何编写处理实数例外的过程
7.6 浮点运算库(FPAL96)连线
第八章 PL/M-96的编译和连线
8.1 编译程式控制
8.2 目标档案控制
8.2.1 最佳化(OPTIMIZE)控制
8.2.2 暂存器覆盖(REGOVERLAY/NOREGOVERLAY)控制
8.2.3 FAST(快速)控制
8.2.4 建立目标档案(OBJECT/NOOBJECT)控制
8.2.5 DEBUG/NODEBUG(调试)控制
8.2.6 TYPE/NOTYPE(类型)控制
8.3 列表选择和列表内容控制
8.3.1 PRINT/NOPRINT(列印输出)控制
8.3.2 LIST/NOLIST(源程式列表)控制
8.3.3 CODE/NOCODE(目标代码、彙编语句列表)控制
8.3.4 XREF/NOXREF(相互引用列表)控制
8.3.5 SYMBOLS/NOSYMBOLS(符号列表)控制
8.4 列表格式控制
8.4.1 PAGELENGTH(页长)控制
8.4.2 PAGEWIDTH(行宽)控制
8.4.3 TITLE(标题)控制
8.4.4 EJECT(换页)控制
8.5 套用实例
8.5.1 源程式和彙编代码列表
8.5.2 标识符和相互引用列表部分
8.5.3 编译概要
8.6 嵌入源档案控制
8.6.1 嵌入源档案(INCLUDE)控制
8.6.2 保存/恢复(SAVE/RESTORE)控制
8.7 条件编译控制
8.7.1 IF/ELsE/ELSEIF/ENDIF(条件编译)控制
8.7.2 sET /RESET(设定条件开关)控制
8.7.3 COND/NOCOND(条件列表)控制
8.8 用户程式目标模组的连线
8.8.1 使用RL96的一般格式
8.8.2 ROM控制
8.8.3 RAM控制
8.8.4 STACKSIZE控制
8.8.5 其它控制
8.9 编译、连线操作实例
8.10 PL/M语言和彙编语言及C语言程式接口
第九章 程式设计实例
9.1 样本程式1(分类程式)
9.2 样本程式2(使用过程的分类程式)
9.3 样本程式3(计算一组数据的均值、残差、方差、标準差)
9.4 样本程式4(PL/M语言程式中调用彙编语言程式)
9.5 样本程式5(A/D转换、D/A转换)
9.5.1 A/D转换程式
9.5.2 D/A转换(使用高速输出HSO)程式
9.5.3 在中断服务程式中使用HSO进行D/A转换
9.6 样本程式6(模组化结构程式)
第十章 PL/M-86
10.1 PL/M-86独有的内容
10.1.1 PL/M-86独有的运算符和保留字
10.1.2 PL/M-86独有的内部过程
10.1.3 PL/M-86编译程式独有的控制项
10.1.4 PL/M-86与PL/M-96的其它不同
10.2 PL/M-96独有内容
第十一章 PL/M-51
11.1 引言
11.2 存储空间及后缀
11.2.1 MAIN(片内直接定址)后缀
11.2.2 AUXILIARY(片外数据存储空间)后缀
11.2.3 REGISTER(暂存器)后缀
11.2.4 IDATA(片内间接定址)后缀
11.2.5 CONsTANT(程式存储空间)后缀
11.3 数据类型及基变数
11.3.1 位变数
11.3.2 基变数
11.3.3 字变数
11.4 内嵌赋值(PL/M-96独有)
11.5 过程和中断
11.5.1 有类型过程
11.5.2 INTERRUPT(中断)属性
11.5.3 REENTRANT(重人)属性(PL/M-96独有)
11.5.4 USING属性
11.6 内部过程
11.6.1 PL/M-51和PL/M-96共有的内部过程
11.6.2 PL/M-51独有的内部过程
11.6.3 PL/M-96独有的内部过程
11.6.4 与MCS-51硬体标誌有关的过程
11.6.5 Intel实用程式库UTIL51.LIB
11.6.6 ECI浮点运算程式库FPAL51.LIB
11.7 编译控制项
11.7.1 PL/M-51和PL/M-96共有的编译控制项
11.7.2 PL/M-96独有的编译控制项
11.7.3 PL/M-51独有的编译控制项
11.8 连线定位控制项
11.8.1 列表控制项
11.8.2 连线控制项
11.8.3 定位控制项
11.8.4 结构控制
11.8.5 覆盖控制
11.9 PL/M-51与ASM-51连线
11.9.1 调用顺序
11.9.2 过程的结尾
11.9.3 从有类型过程回送的值
附录
附录A PL/M-96出错信息
A.1 PL/M-96源程式错误
A.2 命令错误
A.3 输入/输出错误
A.4 记忆体不足错误
A.5 编译程式故障错误
附录B PL/M特殊字元
附录C 程式限制
附录D PL/M语言保留字
D.1 PL/M-96保留字
D.2 PL/M-86保留字
D.3 PL/M-51保留字
附录E PL/M语言预说明的标识符
E.1 PL/M-96预说明的标识符
E.2 PL/M-86预说明的标识符
E.3 PL/M-51预说明的标识符
附录F MCs-961/O暂存器符号名
附录G ASCII字元表
附录H MCs―96系列彙编语言指令表
H.1 指令系统简表
H.2 指令操作码和执行时间
参考文献
第一章PL/M语言基本知识
1.1 概述
1.1.1 PL/M语言及其特点
1.1.2 使用PL/M语言的必要性
1.1.3 书中的约定
1.2 字元集、标识符、保留字和预说明的标识符
1.2.1 字元集
1.2.2 标识符、保留字和预说明的标识符
1.2.3 符号、分界符和空符号的作用
1.2.4 注释
1.3 常数
1.3.1 纯数常数
1.3.2 浮点常数
1.3.3 字元串
1.4 简单说明语句
1.5 变数、变数类型、数据类型
1.5.1 标量变数和变数
1.5.2 类型
1.5.3 位元组(BYTE)、字(WORD)和双字(DWORD)变数
1.5.4 整型(INTEGER)、短整型(SHORTINT)和长整型(LONGINT)变数
1.5.5 实型(REAL)变数
1.5.6 地址型(ADDRESS)变数
1.5.7 “点”运算符(.)和地址引用
1.5.8 FAST和SLOW属性
1.5.9 隐含类型转换
1.6 运算、表达式及规则
1.6.1 运算对象
1.6.2 表达式
1.6.3 算术运算及其表达式
1.6.4 关係运算及其表达式
1.6.5 逻辑运算及其表达式
1.6.6 表达式计算
1.6.7 常数表达式计算
1.7 数组和结构
1.7.1 数组说明
1.7.2 下标变数
1.7.3 结构
1.7.4 结构数组
1.7.5 结构内数组
1.7.6 结构数组内数组
1.7.7 数组的隐含长度说明
1.8 对变数(包括数组和结构)的引用
1.8.1 完全限定的变数引用
1.8.2 非限定的变数引用
1.8.3 部分限定的变数引用
1.9 有基变数
1.9.1 有基变数
1.9.2 有基变数和地址引用套用举例
1.10 高级说明语句
1.10.1 概述
1.10.2 连线属性说明(PUBLIC和EXTERNAL)――扩展作用域
1.10.3 AT属性说明
1.10.4 DATA赋值
1.10.5 语句标号说明
1.10.6 文字(LITERALLY)说明及用途
1.10.7 组合说明语句
1.11 存储的相邻性
第二章 PL/M-96可执行语
2.1 赋值语句
2.1.1 赋值语句
2.1.2 多次赋值语句
2.1.3 内嵌赋值语句
2.2 DO程式块
2.2.1 简单DO程式块
2.2.2 DOWHILE程式块
2.2.3 循环DO程式块
2.2.4 DOCASE程式块
2.3 条件(IF)语句
2.3.1 IF语句
2.3.2 嵌套IF语句
2.3.3 顺序IF语句
2.4 语句标号和GOTO语句
2.5其它可执行语句
2.5.1调用(CALL)和返回(RETURN)语句
2.5.2空语句(;)
2.5.3开中断(ENABLE)和关中断(DISABLE)语句
第三章 过程
3.1 概述
3.2 过程说明
3.2.1 参数
3.2.2 有类型过程和无类型过程
3.2.3 从过程的转出
3.2.4 过程体
3.3 过程的属性
3.3.1 公共(PUBLIC)和外部(EXTERNAL)属性
3.3.2 中断和中断属性(INTERRUPT)
3.3.3 ENABLE(开中断)和DISABLE(关中断)语句
3.3.4 重入性和REENTRANT(重入)属性
3.3.5 INDIRECTLY―CALLABLE(可间接调用)属性
3.3.6 INTERRUPT-CALLABLE(可中断调用)属性
3.4 过程的调用
3.4.1 函式引用
3.4.2 CALL调用
3.4.3 间接过程调用
3.4.4 调用其它模组中的过程
第四章 作用域和结构化程式
4.1 结构化程式
4.2 程式模组
4.2.1 程式的模组化结构
4.2.2 程式模组之间的连线
4.3 作用域
4.3.1 几个基本术语(层和内含)
4.3.2 作用域
4.4 标号作用域和对GOTO语句的限制
4.4.1 标号的作用域
4.4.2 对GOTO语句的限制
5.1.2 LAST过程
5.1.3 SIZE过程
5.2 类型转换
5.2.1 LOW、H1GH和DOUBLE过程
5.2.2 SHORT和EXTEND过程
5.2.3 SIGNED和UNSIGN过程
5.2.4 FLOAT和FIX过程
5.2.5 ABS和IABS过程
5.3 移位和循环移位过程
5.3.1 循环移位过程:ROL和ROR
5.3.2 逻辑移位过程:SHL和SHR
5.3.3 代数移位过程:SAL和SAR
5.4 串处理过程
5.4.1 MOVB和MOVW过程
5.4.2 CMPB和CMPW过程
5.4.3 FINDB和FINDW过程
5.4.4 sKIPB和SKIPW过程
5.4.5 sETB和sETW过程
5.5 位操作过程
5.5.1 BITSET过程
5.5.2 BITCLR过程
5.5.3 BITTST过程
5.5.4 BITCPL过程
5.5.5 BITAsN过程
5.6 其它内部过程和内部变数
5.6.1 MOVE过程
5.6.2 TIME过程
5.6.3 MEMORY数组
5.6.4 sTACKPTR变数
第六章 与MCS-96硬体有关的PL/M-96运算符和内部过程
6.1 最佳化和MCS-96硬体标誌
6.2 PLUS和MINUS运算符
6.3 与硬体有关的PL/M-96内部过程
第七章 浮点运算库及有关过程
7.1 实型(REAL)数的表示
7.2 REAL数学部件
7.3 REAL运算中的例外状态
7.3.1 不合法操作例外
7.3.2 非规格化操作例外
7.3.3 被零除例外
7.3.4 上溢例外
7.3.5 下溢例外
7.3.6 精度降低例外
7.4 与浮点运算库有关的内部过程
7.4.1 初始化(INIT$REAL$MATH$UNIT)过程
7.4.2 设定控制字(sET$REAL$MODE)过程
7.4.3 获取出错位元组(GET$REAL$ERROR)过程
7.4.4 保存REAL状态(SAVE$REAL$STATUS)过程
7.4.5 恢复REAL状态(RESTORE$REAL$STATUS)过程
7.4.6 浮点运算库中的开平方等过程
7.5 如何编写处理实数例外的过程
7.6 浮点运算库(FPAL96)连线
第八章 PL/M-96的编译和连线
8.1 编译程式控制
8.2 目标档案控制
8.2.1 最佳化(OPTIMIZE)控制
8.2.2 暂存器覆盖(REGOVERLAY/NOREGOVERLAY)控制
8.2.3 FAST(快速)控制
8.2.4 建立目标档案(OBJECT/NOOBJECT)控制
8.2.5 DEBUG/NODEBUG(调试)控制
8.2.6 TYPE/NOTYPE(类型)控制
8.3 列表选择和列表内容控制
8.3.1 PRINT/NOPRINT(列印输出)控制
8.3.2 LIST/NOLIST(源程式列表)控制
8.3.3 CODE/NOCODE(目标代码、彙编语句列表)控制
8.3.4 XREF/NOXREF(相互引用列表)控制
8.3.5 SYMBOLS/NOSYMBOLS(符号列表)控制
8.4 列表格式控制
8.4.1 PAGELENGTH(页长)控制
8.4.2 PAGEWIDTH(行宽)控制
8.4.3 TITLE(标题)控制
8.4.4 EJECT(换页)控制
8.5 套用实例
8.5.1 源程式和彙编代码列表
8.5.2 标识符和相互引用列表部分
8.5.3 编译概要
8.6 嵌入源档案控制
8.6.1 嵌入源档案(INCLUDE)控制
8.6.2 保存/恢复(SAVE/RESTORE)控制
8.7 条件编译控制
8.7.1 IF/ELsE/ELSEIF/ENDIF(条件编译)控制
8.7.2 sET /RESET(设定条件开关)控制
8.7.3 COND/NOCOND(条件列表)控制
8.8 用户程式目标模组的连线
8.8.1 使用RL96的一般格式
8.8.2 ROM控制
8.8.3 RAM控制
8.8.4 STACKSIZE控制
8.8.5 其它控制
8.9 编译、连线操作实例
8.10 PL/M语言和彙编语言及C语言程式接口
第九章 程式设计实例
9.1 样本程式1(分类程式)
9.2 样本程式2(使用过程的分类程式)
9.3 样本程式3(计算一组数据的均值、残差、方差、标準差)
9.4 样本程式4(PL/M语言程式中调用彙编语言程式)
9.5 样本程式5(A/D转换、D/A转换)
9.5.1 A/D转换程式
9.5.2 D/A转换(使用高速输出HSO)程式
9.5.3 在中断服务程式中使用HSO进行D/A转换
9.6 样本程式6(模组化结构程式)
第十章 PL/M-86
10.1 PL/M-86独有的内容
10.1.1 PL/M-86独有的运算符和保留字
10.1.2 PL/M-86独有的内部过程
10.1.3 PL/M-86编译程式独有的控制项
10.1.4 PL/M-86与PL/M-96的其它不同
10.2 PL/M-96独有内容
第十一章 PL/M-51
11.1 引言
11.2 存储空间及后缀
11.2.1 MAIN(片内直接定址)后缀
11.2.2 AUXILIARY(片外数据存储空间)后缀
11.2.3 REGISTER(暂存器)后缀
11.2.4 IDATA(片内间接定址)后缀
11.2.5 CONsTANT(程式存储空间)后缀
11.3 数据类型及基变数
11.3.1 位变数
11.3.2 基变数
11.3.3 字变数
11.4 内嵌赋值(PL/M-96独有)
11.5 过程和中断
11.5.1 有类型过程
11.5.2 INTERRUPT(中断)属性
11.5.3 REENTRANT(重人)属性(PL/M-96独有)
11.5.4 USING属性
11.6 内部过程
11.6.1 PL/M-51和PL/M-96共有的内部过程
11.6.2 PL/M-51独有的内部过程
11.6.3 PL/M-96独有的内部过程
11.6.4 与MCS-51硬体标誌有关的过程
11.6.5 Intel实用程式库UTIL51.LIB
11.6.6 ECI浮点运算程式库FPAL51.LIB
11.7 编译控制项
11.7.1 PL/M-51和PL/M-96共有的编译控制项
11.7.2 PL/M-96独有的编译控制项
11.7.3 PL/M-51独有的编译控制项
11.8 连线定位控制项
11.8.1 列表控制项
11.8.2 连线控制项
11.8.3 定位控制项
11.8.4 结构控制
11.8.5 覆盖控制
11.9 PL/M-51与ASM-51连线
11.9.1 调用顺序
11.9.2 过程的结尾
11.9.3 从有类型过程回送的值
附录
附录A PL/M-96出错信息
A.1 PL/M-96源程式错误
A.2 命令错误
A.3 输入/输出错误
A.4 记忆体不足错误
A.5 编译程式故障错误
附录B PL/M特殊字元
附录C 程式限制
附录D PL/M语言保留字
D.1 PL/M-96保留字
D.2 PL/M-86保留字
D.3 PL/M-51保留字
附录E PL/M语言预说明的标识符
E.1 PL/M-96预说明的标识符
E.2 PL/M-86预说明的标识符
E.3 PL/M-51预说明的标识符
附录F MCs-961/O暂存器符号名
附录G ASCII字元表
附录H MCs―96系列彙编语言指令表
H.1 指令系统简表
H.2 指令操作码和执行时间
参考文献