目錄
第一章 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 指令操作碼和執行時間
參考文獻
· · · · · · (
收起)