彙編語言程式

彙編語言程式

彙編語言程式也稱為彙編語言源程式,就是用彙編語言編寫的一種電腦程式, 屬於計算機低級語言程式,是屬性為ASM的源檔案。彙編語言程式在經過彙編、連結後得到可執行程式即EXE檔案。 彙編語言程式裡面包括彙編指令、偽指令、和宏指令、數字、字元,還有處理器的通用暫存器、段暫存器。偽指令可以完成如處理器選擇、定義程式模式、定義數據、分配存儲器、指示程式結束等功能;宏指令的使用可以縮短程式的長度,還可以調用系統程式裡面的函式或程式;數字和字元則是程式里的相關數據和處理對象;通用暫存器用來存放計算過程中所用到運算元、結果或其他信息;段暫存器用於存儲器定址,直接或間接地存放段地址。彙編指令構成程式的代碼部分,程式的功能實現就是靠編制彙編指令。彙編語言程式的英語為Assembly language program,中文為彙編語言程式。

基本信息

彙編語言程式

彙編語言程式的英語為Assembly language program,中文為彙編語言程式。

彙編語言程式可以分為若干個段,是由偽指令來定義的,每一個段都由若干條語句組成。它可以有數據段、附加段、堆疊段、代碼段;數據段存放程式里的相關數據,附加段則用來存放附加的數據,堆疊段定義了堆疊所在的區域,代碼段是程式的主要部分,由彙編指令編制的程式代碼就存放在這裡。這幾個段除了代碼段之外,都是可有可無的。

彙編語言程式的每一條語句可以由4項組成,格式如下:

〈name〉 operation operand 〈; comment〉

其中名字(name)項是一個符號。

操作(operation)項是一個操作碼的助記符,它可以是指令、偽指令或宏指令名。

運算元(operand)項由一個或多個表達式組成,它提供為執行所要求的操作而需要的信息。

注釋(comment)項用來說明程式或語句的功能。“;”為識別注釋項的開始。“;”也可以從一行的第一個字元開始,此時整行都是注釋,常用來說明下面一段程式的功能。

上面4項中帶尖括弧的兩項是可有可無的。各項之間必須用“空格”(space)或“水平制表”(TAB)符隔開。

彙編語言程式實例

用彙編語言對4位10進制數加密。密碼是0123456789對應為9082746315。 DATA SEGMENT
TABLE DB 39H,30H,38H,32H,37H,34H,36H,33H,31H,35H;密碼錶 RESULT DB 4 DUP(?);四位十進制數對應的密碼 DATA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE MAIN PROC FAR MOV AX,DATA MOV DS,AX MOV ES,AX LEA BX,TABLE LEA DI,RESULT MOV AX,1234;已知的四位十進制數,以下分別求四位十進制數位,並將密碼存入RESULT中 MOV SI,1000 CALL NUMBER MOV SI,100 CALL NUMBER MOV SI,10 CALL NUMBER MOV SI,1 CALL NUMBER LEA DI,RESULT;在螢幕上依次顯示四位加密後的十進制數 MOV CX,4 NEXT: MOV DL,[DI] MOV AH,2H INT 21H INC DI LOOP NEXT ;按任意鍵退出 mov ah,1 int 21h MOV AX,4C00H INT 21H MAIN ENDP NUMBER PROC NEAR MOV DX,0 DIV SI MOV SI,DX XLAT STOSB MOV AX,SI RET NUMBER ENDP CODE ENDS END MAIN.

編制過程

(1) 分析問題;

(2) 建立數學模型;

(3) 確定算法;

(4) 繪製程式流程圖;

(5) 記憶體空間分配;

(6) 編製程序。

運行過程

(1) 用編輯程式(EDIT)建立ASM源檔案;

(2) 用MASM程式把ASM檔案(即彙編語言程式)轉換成OBJ檔案;

(3) 用LINK程式把OBJ檔案轉換成EXE檔案;

( 4) 用調試程式DEBUG調試EXE檔案;

(5)   在DOS命令行下直接鍵入EXE檔案名稱就可以執行該程式;

優點

因為用彙編語言設計的程式最終被轉換成機器指令,故能夠保持機器語言的一致性,直接、簡捷,並能像機器指令一樣訪問、控制計算機的各種硬體設備,如磁碟、存儲器、CPU、I/O連線埠等。使用彙編語言,可以訪問所有能夠被訪問的軟、硬體資源。

目標代碼簡短,占用記憶體少,執行速度快,是高效的程式設計語言,經常與高級語言配合使用,以改善程式的執行速度和效率,彌補高級語言在硬體控制方面的不足,套用十分廣泛。

缺點

彙編語言程式是面向機器的,處於整個計算機語言層次結構的底層,故被視為一種低級語言,通常是為特定的計算機或系列計算機專門設計的。不同的處理器有不同的彙編語言語法和編譯器,編譯的程式無法在不同的處理器上執行,缺乏可移植性;

難於從彙編語言代碼上理解程式設計意圖,可維護性差,即使是完成簡單的工作也需要大量的彙編語言代碼,很容易產生bug,難於調試;

使用彙編語言必須對某種處理器非常了解,而且只能針對特定的體系結構和處理器進行最佳化,開發效率很低,周期長且單調。

相關詞條

相關搜尋

熱門詞條

聯絡我們