求匯編語言中的指令語句、偽指令語句和宏指令語句的定義
我們編寫的各種指令,都是寫給“編譯軟件”看的,
要由“編譯軟件”翻譯成計算機可以識別的機器語言,即機器碼。
通俗地講:
就好像召開新聞發布會,主持人用中文講話,由一個翻譯,現場翻譯成英文,講給外國記者聽。
主持人說的中文,大部分都是要翻譯成英文的;少數幾句,是說給翻譯聽的,告訴他如何翻譯。
我們寫的指令,由“編譯軟件”翻譯成機器碼的,稱為指令語句;
有一些是寫給“編譯軟件”看的,不翻譯成機器碼,這樣的就是“偽指令”。
一條條計算機的指令,一般來說,功能都是極為簡單,我們可以把幾條、幾十條指令,編寫成一個“宏指令”,來完成一個比較復雜的任務。
在這樣“一批指令”的前面,要用“偽指令”來命名這個“宏指令”;
在后面,要用一條“偽指令”說明結尾。
以后,這個“宏指令”,就可以當成 正式指令 來使用了。
機器語言的全部指令.
機器語言 英 文: Machine Language 別 名: 低級語言,二進制代碼語言 定 義: 機器語言是直接用二進制代碼指令表達的計算機語言,指令是用0和1組成的一串代碼,它們有一定的位數,并分成若干段,各段的編碼表示不同的含義,例如某臺計算機字長為16位,即有16個二進制數組成一條指令或其它信息。
16個0和1可組成各種排列組合,通過線路變成電信號,讓計算機執行各種不同的操作。 如某種計算機的指令為1011011000000000,它表示讓計算機進行一次加法操作;而指令1011010100000000則表示進行一次減法操作。
它們的前八位表示操作碼,而后八位表示地址碼。 從上面兩條指令可以看出,它們只是在操作碼中從左邊第0位算起的第6和第7位不同。
這種機型可包含256(=2的8次方)個不同的指令。 特 點: 機器語言或稱為二進制代碼語言,計算機可以直接識別,不需要進行任何翻譯。
每臺機器的指令,其格式和代碼所代表的含義都是硬性規定的,故稱之為面向機器的語言,也稱為機器語言。 它是第一代的計算機語言。
機器語言對不同型號的計算機來說一般是不同的。 缺 點: 1。
大量繁雜瑣碎的細節牽制著程序員,使他們不可能有更多的時間和精力去從事創造性的勞動,執行對他們來說更為重要的任務。如確保程序的正確性、高效性。
2。 程序員既要駕馭程序設計的全局又要深入每一個局部直到實現的細節,即使智力超群的程序員也常常會顧此失彼,屢出差錯,因而所編出的程序可靠性差,且開發周期長。
3。由于用機器語言進行程序設計的思維和表達方式與人們的習慣大相徑庭,只有經過較長時間職業訓練的程序員才能勝任,使得程序設計曲高和寡。
4。因為它的書面形式全是"密"碼,所以可讀性差,不便于交流與合作。
5。因為它嚴重地依賴于具體的計算機,所以可移植性差,重用性差。
這些弊端造成當時的計算機應用未能迅速得到推廣。 機器語言; 一種cpu的指令系統,也稱cpu的機器語言。
它是該cpu可以識別的一組由1和0序列構成的指令碼。用機器語言編程序,就是從實用的cpu的指令系統中挑選合適的指令,組成一個指令系列。
[編輯本段]范例 指令部份的范例 0000 代表 加載(LOAD) 0001 代表 儲存(SET) 。 。
。 暫存器部份的范例 0000 代表暫存器 A 0001 代表暫存器 B 。
內存部份的范例 000000000000 代表位址為 0 的內存 000000000001 代表位址為 1 的內存 000000001000 代表位址為 16 的內存 100000000000 代表位址為 2^11 的內存 整合范例 0000,0000,000000001000 代表 LOAD A, 16 0000,0000,000000000001 代表 LOAD B, 1 0000,0001,000000001000 代表 STORE B, 16 0000,0001,000000000001 代表 STORE B, 1 。
指示語句和指令性語句的異同點
指令性語句就是8086指令,如ADD指令和MOV指令都是指令性語句。指示性語句也叫偽指令,比如后面要講的DB、SEGMENT等。
指令性語句在匯編過程中會產生對應的目的代碼,而偽指令不會產生可執行的目的代碼,只是用來為匯編程序提供某些信息,如偽指令可以規定一個程序的數據段從哪里開始,可以規定堆棧區的大小等等。
指示性語句中也用到標號,不過這標號不帶冒號;而在指令性語句中,標號后面一定帶冒號,這是兩者之間在形式上的一個差別
PLC編程 (指令語句)
PLC的用戶程序是設計人員根據控制系統的工藝控制要求,通過PLC編程語言的編制設計的。根據國際電工委員會制定的工業控制編程語言標準(IEC1131-3)。PLC的編程語言包括以下五種:梯形圖語言(LD)、指令表語言(IL)、功能模塊圖語言(FBD)、順序功能流程圖語言(SFC)及結構化文本語言(ST)。
1、梯形圖語言(LD)
梯形圖語言是PLC程序設計中最常用的編程語言。它是與繼電器線路類似的一種編程語言。由于電氣設計人員對繼電器控制較為熟悉,因此,梯形圖編程語言得到了廣泛的歡迎和應用。
梯形圖編程語言的特點是:與電氣操作原理圖相對應,具有直觀性和對應性;與原有繼電器控制相一致,電氣設計人員易于掌握。
梯形圖編程語言與原有的繼電器控制的不同點是,梯形圖中的能流不是實際意義的電流,內部的繼電器也不是實際存在的繼電器,應用時,需要與原有繼電器控制的概念區別對待。
2、指令表語言(IL)
指令表編程語言是與匯編語言類似的一種助記符編程語言,和匯編語言一樣由操作碼和操作數組成。在無計算機的情況下,適合采用PLC手持編程器對用戶程序進行編制。同時,指令表編程語言與梯形圖編程語言圖一一對應,在PLC編程軟件下可以相互轉換。圖3就是與圖2PLC梯形圖對應的指令表。
指令表表編程語言的特點是:采用助記符來表示操作功能,具有容易記憶,便于掌握;在手持編程器的鍵盤上采用助記符表示,便于操作,可在無計算機的場合進行編程設計;與梯形圖有一一對應關系。其特點與梯形圖語言基本一致。
3、功能模塊圖語言(FBD)
功能模塊圖語言是與數字邏輯電路類似的一種PLC編程語言。采用功能模塊圖的形式來表示模塊所具有的功能,不同的功能模塊有不同的功能。圖4是對應圖1交流異步電動機直接啟動的功能模塊圖編程語言的表達方式。
功能模塊圖編程語言的特點:功能模塊圖程序設計語言的特點是:以功能模塊為單位,分析理解控制方案簡單容易;功能模塊是用圖形的形式表達功能,直觀性強,對于具有數字邏輯電路基礎的設計人員很容易掌握的編程;對規模大、控制邏輯關系復雜的控制系統,由于功能模塊圖能夠清楚表達功能關系,使編程調試時間大大減少。
4、 順序功能流程圖語言(SFC)
順序功能流程圖語言是為了滿足順序邏輯控制而設計的編程語言。編程時將順序流程動作的過程分成步和轉換條件,根據轉移條件對控制系統的功能流程順序進行分配,一步一步的按照順序動作。每一步代表一個控制功能任務,用方框表示。在方框內含有用于完成相應控制功能任務的梯形圖邏輯。這種編程語言使程序結構清晰,易于閱讀及維護,大大減輕編程的工作量,縮短編程和調試時間。用于系統的規模校大,程序關系較復雜的場合。順序功能流程圖編程語言的特點:以功能為主線,按照功能流程的順序分配,條理清楚,便于對用戶程序理解;避免梯形圖或其他語言不能順序動作的缺陷,同時也避免了用梯形圖語言對順序動作編程時,由于機械互鎖造成用戶程序結構復雜、難以理解的缺陷;用戶程序掃描時間也大大縮短。
5、結構化文本語言(ST)
結構化文本語言是用結構化的描述文本來描述程序的一種編程語言。它是類似于高級語言的一種編程語言。在大中型的PLC系統中,常采用結構化文本來描述控制系統中各個變量的關系。主要用于其他編程語言較難實現的用戶程序編制。
結構化文本編程語言采用計算機的描述方式來描述系統中各種變量之間的各種運算關系,完成所需的功能或操作。大多數PLC制造商采用的結構化文本編程語言與BASIC語言、PASCAL語言或C語言等高級語言相類似,但為了應用方便,在語句的表達方法及語句的種類等方面都進行了簡化。
結構化文本編程語言的特點:采用高級語言進行編程,可以完成較復雜的控制運算;需要有一定的計算機高級語言的知識和編程技巧,對工程設計人員要求較高。直觀性和操作性較差。
不同型號的PLC編程軟件對以上五種編程語言的支持種類是不同的,早期的PLC僅僅支持梯形圖編程語言和指令表編程語言。目前的PLC對梯形圖(LD)、指令表(STL)、功能模塊圖(FBD)編程語言都以支持。比如,SIMATIC STEP7 MicroWIN V3.2。
在PLC控制系統設計中,要求設計人員不但對PLC的硬件性能了解外,也要了解PLC對編程語言支持的種類。