内容简介
第一章 概述
模块之间的引用:LINK过程
内存地址分配:LOCATE过程
PL/M-86语句的两种类型
一条规则
程序块:PL/M-86程序的基本结构
块嵌套和变量作用域:简介
说明语句的位置
可执行语句
赋值语句
IF语句
DO和END语句
内部过程和变量
表达式
输入和输出
第二章 说明与类型
变量说明语句
类型
举例
结果
初始化
隐含长度说明符
执行常量的名:DATA的使用
编译常量(正文替换):LITERALIY的使用
标号名的说明
结果
说明语句的组合
过程说明
第三章 PL/M-86程序的基本成份
PL/M-86字符集
标识符和保留字
标记、分隔符和空格的使用
常数
纯数常数
浮点常数
字符串
注解
第四章 算术运算、数据类型和有基变量
WORD和BYTE变量:无符号运算
INTEGER(整型)变量:带符号算术运算
REAL变量:浮点运算
POINTER变量和位置引用
@算符
用地址引用存贮字符串与常数
“点”算符
有基变量
地址引用与有基变量
内存的相邻存贮
AT属性
第五章 表达式和赋值语句
运算数
常数
变量和地址引用
子表达式
组合运算数
算术算符
十、一、*和/算符
MOD(模)算符
关系算符
逻辑算符
表达式的计算
算符的优先级:对表达式的分析
组合运算数类型
关系算符的限制
运算数的计算顺序
算术运算的选择:规则小结
特殊情况:常数表达式
赋值语句
隐含类型转换
常数表达式
多重赋值语句
内嵌赋值语句
第六章 结构和数组
数组
下标变量
结构
结构数组
结构内的数组
结构内带数组的结构数组
数组和结构的引用
全限定变量引用
非限定和部分限定变量引用
第七章 流程控制语句
DO和END语句:DO程序块
简单DO程序块
DO CASE程序块
DO WHILE程序块
循环DO程序块
IF语句
嵌套的IF语句
串连IF语句
GOTO语句
HALT语句
CALL和RETURN语句
第八章 实例程序
插入分类算法
第九章 程序块结构和作用域
程序块内认可的名
对多重说明语句的限制
扩展的作用域:PUBLIC和EXTERNAL属性
标号作用域与对GOTO语句的限制
第十章 过程
过程说明
参数
有类型与无类型过程
过程的调用——函数引用及CALL语句
间接过程调用
退出过程:RETURN语句
过程体
属性:PUBLLC、EXTERNAL、INTERRUPT和REENTRANT
中断和INTERRUPT属性
用CALL语句调用中断过程
可重入性和REENTRANT属性
实例程序2
第十一章 内部过程和内部变量
取变量的有关信息
LENGTH函数
LAST函数
SIZE函数
显式的类型和值的转换
LOW、HIGH和DOUBLE函数
FLOOAT函数
FIX函数
INT函数
SIGNED函数
UNSIGN函数
ABS和IABS函数
移位和循环移位函数
循环移位函数,ROL和ROR
逻辑移位函数,SHL和SHR
代数移位,SAL和SAR
输入和输出
INPUT和INWORD函数
OUTPUT和OUTWORD数组
串处理过程
MOVB和MOVW过程
MOVRB和MOVRW过程
CMPB和CMPW函数
FINDB/FINDW和FINDRB/FINDRW函数
SKIPB/SKIPW和SKIPRB/SKIPRW函数
XLAT过程
SETB和SETW过程
其它各种内部过程和变量
MOVE过程
TIME过程
MEMORY数组
STACKPTR和STACKBASE
LOCKSET函数
与中断相关的过程
SET$INTERRUPT过程
INTERRUPT$PTR函数
CAUSE$INTERRUPT语句
第十二章 与8086硬件有关的PL/M-86内部过程
优化与8086硬件标志
PLUS和MINUS运算符
进位循环移位内部过程
DEC过程
CARRY、SIGN、ZERO和PARITY内部过程
第十三章 浮点运算:REAL数的数学机构
PEAL值的表示方法
REAL参数的传递和堆栈约定
REAL数的数学机构
REAL数字运算中的异常状态
无效操作异常
非规格化操作数异常
除零异常
上溢异常
下溢异常
精度异常
INIT$REAL$MATH$UNIT过程
SET$REAL$MODE过程
GET$REAL$ERROR过程
保存和恢复REAL状态
SAVE$REAL$STATUS过程
死锁
REAL中断处理过程的编写
使用浮点运算时的连接
第十四章 编译程序的控制
编译程序控制简介
WORKFILES控制
LEFTMARGIN控制
目标文件控制
INTVECTOR/NOINTVECTOR
OVERFLOW/NOOUERFLOW
OPTIMIZE
OPTIMIZE(0)
OPTIMIZE(1)
OPTIMIZE(2)
OPTIMIZE(3)
OBJECT/NOOBJECT
DEBUG/NODEBUG
TYPE/NOTYPE
程序大小的控制
SMALL
COMPACT
MEDIUM
LARGE
RAM/ROM控制
列表选择和列表内容控制
PRINT/NOPRINT
LIST/NOLIST
CODE/NOCODE
XREF/NOXREF
IXREF/NOIXREF
SYMBOLS/NOSYMBOLS
列表格式控制
PAGING/NOPAGING
PAGELENGTH
PAGEWIDTH
TITLE
SUBTITLE
EJECT
程序列表实例
符号与相互对照的列表
编译概况
加进源文件的控制
INCLUDE
SAVE/RESTORE
条件编译控制
IF/ELSE/ELSEIF/ENDIF
SET/RESET
CND/N0C0ND
第十五章 PL/M-86编译程序及有关文件的使用
编译程序的调用
文件的使用
输入文件
输出文件
编译程序工作文件
第十六章 目标模块的节和程序大小的控制
8086内存概念
目标模块的节
代码节
常数节
数据节
堆栈节
内存节
SMALL控制
与PL/M-80的兼容性
COMPACT控制
MEDIUM控制
在MEDIUM的编程设计限制
LARGE控制
在LARGE控制下的编程设计限制
第十七章 出错信息
PL/M-86源程序出错
致命的命令和控制错误
致命的输入/输出错误
致命的内存贮器不足错误
致命的编译程序故障错误
附录A PL/M-86语言语法
附录B 程序限制
附录C PL/M-86的保留字
附录D PL/M-86预说明的标识符
附录E PL/M-80和PL/M-86
附录F 字符对照表
附录G IXREF程序
附录H PL/M-86的分段
附录I 运行时的过程以及汇编语言的连接
附录J 运行时的中断处理