1. 程式人生 > >組合語言入門:源程式(一)

組合語言入門:源程式(一)

一鼓作氣……馬上就可以用匯編開始寫一個完整的程式了

之前學的都是所謂的“彙編指令”

彙編源程式

彙編源程式 = 彙編指令 + 偽指令

偽指令:segmentends是一對成對使用的偽指令,這是寫在可被編譯器編譯的彙編程式時,必須要用到的一對偽指令

segmentends的功能時定義一個段,segment說明一個段的開始,`ends說明一個段的結束`

一個段必須用一個名稱來標識,使用格式為:
段名 segment
段名 ends

一個彙編程式是由多個段組成的,這些段被用來存放程式碼、資料、或當作棧空間來使用

一個有意義的彙編程式至少有一個程式段

end偽指令是彙編程式的結束標誌;編譯器在編譯源程式的過程中,如果碰到了偽指令end,就結束對源程式的編譯

如果程式寫完了但是沒有在結尾加上偽指令end,編譯器就無法獲悉程式在何處結束(程式永遠的停留在記憶體中……)

assume偽指令的含義是“假設”;它假設某一段暫存器和程式中的某一個segment..end定義的段相關聯

通過assume說明這種關聯,在需要的時候編譯程式可以將段暫存器和某一個具體的段相關聯

一個簡單的彙編源程式:

assume CS: codesg   ;命名CS的名稱為codesg
codesg segment
start:
mov AX, 01234 mov BX, 04567 add AX, BX add AX, AX mov AX, 4C00H int 21H codesg ends end

源程式編譯成程式

彙編源程式:分為偽指令(編譯器處理)和彙編指令(編譯為機器碼)

程式:源程式中最終由計算機執行、處理的指令或資料

程式最先以組合語言的形式存在於源程式中,經編譯、連線後轉變為機器碼,儲存可執行檔案中

這裡寫圖片描述