複製鏈接
請複製以下鏈接發送給好友

PL/M

鎖定
PL/M [1]  是Intel從8080微處理器開始為其系列產品開發的編程語言,也是第一個微處理器設計程序語言。
PL/M是由加里·基爾代爾(Gary Kildall) [4]  在1972年設計出來的 [3]  ——他用PL/M語言編寫出了第一個微型計算機操作系統CP/M [3-4] 
中文名
PL/M
外文名
Programming Language for Microcomputers
外語縮寫
PL/M
啓發自
ALGOLPL/I、XPL
設計者
加里·基爾代爾(Gary Kildall)
語言類型
高級語言

PL/M簡介

PL/M很像PASCAL,是一種結構化語言 [2]  ,但它使用關鍵字去定義結構。PL/M編譯器好像彙編器一樣可產生緊湊代碼。PL/M總地來説是“高級彙編語言”,可詳細控制着代碼的生成。但對51系列,PL/M不支持複雜的算術運算、浮點變量而無豐富的庫函數支持。學習PL/M無異於學習一種新語言。

PL/M特點介紹

PL/M是一種高級語言,它由加里·基爾代爾設計,主要用於Intel公司生產的單片機和微處理器系統軟件應用軟件的開發。作為高級語言,它更接近和體現人的設計思想。 PL/M語言不僅具有一般高級語言的特點,而且還能象彙編語言那樣直接利用CPU的硬件特性進行程序設計。因而,與其它高級語言相比,功能多,用途更廣泛,尤其在 16 位單片機應用領域更受到人們的普遍重視。
PL/M語言的特點主要體現在以下幾方面:
簡單、易學。PL/M語言的語句可分為兩類:一類是説明語句,用於説明變量和過程(過程類似於其它語言中的子程序,但功能更強);另一類是可執行語句,如賦值語句
可讀性好。PL/M語言屬於結構化語言,其程序是塊式結構,層次清晰,便於理解和閲讀。一個完整的程序可由多個單獨編譯的模塊組成,每個模塊可由多個程序塊組成,程序塊可以互相嵌套。
佔用內存容量小,運行速度快。若程序長度接近或超過2K字節時,其佔用內存大小和運行速度甚至可優於一般人直接用匯編語言編寫的程序。
可靠性高。用PL/M語言編寫的程序容易達到正確的目的。
可維護性好。既便於修改和增添,有利於將來擴充和開發,也便於發現程序中的錯誤。
能夠使用與實際問題更接近的數據類型數據結構。例如,布爾變量、字符、數組、結構、有符號和無符號整數、浮點數、位操作等。
作用域概念和規則,增強了程序編寫的靈活性。例如,可以多人共同編制一個程序,而不必擔心是否使用了相同的標識符。
程序設計速度快,開發成本低(投入人力、財力少),週期短,效益高。
PL/M語言可與彙編及其它高級語言程序連接生成一組目標碼。
PL/M語言程序庫可由用户增加和刪改。
PL/M語言到機器代碼的轉換主要由編譯程序完成。經過編譯後生成可重定位的機器代碼文件最終由連接程序將多個模塊連接定位。可重定位的目標模塊(機器代碼)可由PL/M語言、彙編語言或其它高級語言程序生成。編譯程序提供一個輸出清單、錯誤信息、一定數量的控制功能,以幫助進行程序開發和調試。程序編譯後可得到列表文件,其擴展名為.LST,程序連接後可得到有關列表文件,其擴展名為.M96。列表文件給出了各種有關的信息。PL/M編譯程序主要特點如下:
兼容性好。可與其它語言程序生成的目標模塊相連接。
支持多種數據類型及邏輯、算術、關係等多種運算。還可使用基變量。
支持多種數據結構,如數組、結構(可有不同類型),數組和結構的結合。
支持中斷管理,使用INTERRUPT過程。
豐富的編譯控制,提高了程序編譯靈活性。這些控制包括:
優化。
將磁盤上的PL/M源文件引入到程序中。
符號交叉引用。
選擇列出PL/M語言程序對應用的彙編語言程序和機器代碼。
有 4 級代碼自動優化功能,優化內容為:
常數表達式的結合。例如,用左移代替乘2
機器碼優化;除去不必要的分支;重複使用完全相同的代碼;除去不可能到達的代碼。
片內寄存器覆蓋。
基變量優化處理。
儘可能使用短跳轉。
提供了作為PL/M語言組成部分之一的內部過程。除了類型轉換、串處理、位操作內部過程外,還提供了訪問硬件標誌的過程。
詳細的錯誤檢查。PL/M編譯程序發現程序錯誤,則提供很詳細的錯誤信息

PL/M必要性

PL/M,尤其是用於開發MCS-96系列單片機的PL/M-96 ,其優越性已在微機開發中明顯體現出來了。從20世紀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語言可顯著增加程序可靠性。這一點與其它高級語言一致。
參考資料