天天看點

彙編語言學習之編寫第一個程式

程式從寫出到執行的過程

  • 1、使用文本編輯器,使用彙編語言編寫彙編源程式。
  • 2、對源程式進行編譯連結。

彙編連結的過程:

1、産生目标檔案。

2、使用連接配接程式對目标檔案進行連結,生成可在作業系統中直接運作的可執行檔案。

可執行檔案包含兩部分内容:

1、程式(從源程式中的彙編指令翻譯過來的機器碼)和資料(源程式中定義的資料)

2、相關的描述資訊(比如,程式有多大、要占用多少記憶體空間等)

  • 執行可執行檔案中的程式。

僞指令

  • 在彙編語言程式中,包含兩種指令,一種是彙編指令,一種是僞指令。
  • 僞指令需要通過編譯器轉換為對應的彙編指令

僞指令—段名 segment…段名 xxx ends

  • segment和ends是對成對使用的僞指令,其功能是定義一個段。

僞指令—end

  • end是一個彙程式設計式的結束标記。

彙編指令assume

  • 此條僞指令的含義為“假設”。它假設某一段寄存器和程式中的某一個用segment…ends定義的段相關聯。例如:assume cs:codeseg

标号

  • 彙編源程式中,除了彙編指令和僞指令外,還有一些标号,比如“codeseg”。一個标号指代了一個位址。比如codeseg在segment的前面,作為一個段的名稱,這個段的名稱最終将被編譯、連接配接程式處理為一個段的段位址。

程式傳回指令:

  • 1、mov ax,4c00H
  • 2、int 21H
  • 上述2條指令在程式的末尾使用可以實作對應程式段的傳回。

彙編連接配接的作用

  • 1、當源程式很大時,可以将它分為多個源程式檔案來編譯,每個與源程式檔案編譯成為目标檔案後,再用連接配接程式将它們連接配接到一起,生成一個可執行檔案。
  • 2、程式中調用了某個庫檔案中子程式,需要将這個庫檔案和該程式生成的目标檔案連接配接到一起,生成一個可執行檔案。
  • 3、一個源程式編譯後,得到了存有機器碼的目标檔案,目标檔案中的有些内容還不能直接用來生成可執行檔案,連接配接程式将這些内容處理為最終的可執行資訊。是以在隻有一個源程式檔案,而又不需要調用某個庫中的子程式的情況下,也必須用連接配接程式對目标檔案進行處理,生成可執行檔案。

彙程式設計式從寫出到執行的過程

  • 1、程式設計(編輯器)—生成x.asm檔案
  • 2、編譯(masm)—生成x.obj檔案
  • 3、連接配接(link)—生成x.exe檔案
  • 4、加載(command)—記憶體中的程式
  • 5、運作—通過CPU

繼續閱讀