乙個匯程式設計序從寫出到執行的過程

2021-10-17 05:17:56 字數 680 閱讀 5450

使用文字編輯器(任何文字編輯器都可,只需將檔案字尾改為.asm),用組合語言編寫源程式(檔案格式為xx.asm)

①使用彙編編譯程式(masm.exe)對原始檔中的源程式進行編譯,產生目標檔案(檔案格式為xx.obj)

②再用連線程式(link.exe)對目標檔案進行連線,生成可執行檔案(xx.exe)

強行插入:

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

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

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

第三步:執行可執行檔案中的程式

作業系統依照可執行檔案中描述的資訊,將可執行檔案中的機器碼和資料加載入記憶體,並進行相關的初始化(比如

設定cs:ip指向第一條要執行的指令)然後由cpu執行程式

另外:分享所有學習彙編需要的相關檔案,鏈結包括

編譯程式(masm.exe)、連線程式(link.exe)、除錯程式(debug.exe)、dosbox的安裝包、**im的安裝包

(masm.exe、link.exe、debug.exe這三個程式不能直接在windous10\7中執行,因為系統不相容,所以要在dosbox中

模擬dos系統執行)

第乙個匯程式設計序hello world

程式原始碼如下 assume cs code,ds data 定義 段和資料段框架 data segment 資料段 msg db hello world 定義字串 data ends code segment 段 start mov ax,data mov ds,ax 資料段初始化 mov bx,...

對乙個簡單匯程式設計序分析

程式 assume cs codesg codesg segment mov ax,0123h mov bx,0456h add ax,bx add ax,ax mov ax,4c00h int 21h codesg ends end偽指令 偽指令是寫給編譯器看的,cpu不會執行,在源程式中,包括兩...

01 第乙個匯程式設計序

在閱讀 x86組合語言 從實模式到保護模式 這本書的時候,從b站上看到 教程,使用虛擬機器然後將彙編檔案寫入磁碟0面0扇區,然後啟動,在螢幕輸出字元,這個程式本身就很簡單,之前學習過王爽的彙編,知道視訊記憶體位置08b00h,字低8位是ascii編碼,高8位是字元的顏色 但是在看 的 發現不同之處 ...