第四章 第一節

2021-06-16 08:11:07 字數 1443 閱讀 4745

乙個組合語言程式從寫出到最終執行的簡要過程:

編寫  -->  編譯 --> 連線 --> 執行

【編寫】

使用文字編輯器(如記事本、nodepad++、ultraedit等),用組合語言編寫彙編源程式。

【編譯】

使用組合語言編譯程式(masm.exe)對源程式檔案中的源程式進行編譯,產生目標檔案。

【連線】

使用連線程式(link.exe)對目標檔案進行連線,生成可在作業系統中直接執行的可執行檔案。

【執行】

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

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

上述源程式中包含如下幾部分內容:

一、彙編指令,指的是有對應的機器碼的指令,可以被編譯為機器指令,最終被cpu所執行。

mov ax, 0123h

mov bx, 0456h

add ax, bx

add ax, ax

mov ax, 4c00h

int 21h

二、偽指令,沒有對應的機器碼的指令,最終不被cpu所執行。

偽指令是由編譯器來執行的指令,編譯器根據偽指令來進行相關的編譯工作。

assume cs:codesg

codesg segment

start:

codesg ends

endsegment和ends(egment)是一對成對使用的偽指令,這是在寫可被編譯器編譯的匯程式設計序時,必須要用到的一對偽指令。

segment和ends的功能是定義乙個段。segment說明乙個段開始,ends說明乙個段結束。

乙個段必須有乙個名稱來標示,使用格式為:

段名  segment

段名 ends

乙個匯程式設計序是由多個段組成的,這些段被用來存放**、資料或當做棧空間來使用。

乙個有意義的匯程式設計序中至少要有乙個段,這個段用來存放**。

end是乙個匯程式設計序的結束標記,編譯器在編譯匯程式設計序的過程中,如果碰到了偽指令end,就結束對源程式的編譯。

如果程式寫完了,要在結尾處加上偽指令end,否則,編譯器在編譯程式時,無法知道程式在何處結束。

切記:不要搞混了end和ends。

assume:含義為」假設「

它假設某乙個段暫存器和程式中的某乙個用segment...ends定義的段相關聯。

通過assume說明這種關聯,在需要的情況下,編譯程式可以將段暫存器和某乙個具體的段相聯絡。

源程式中的」程式「

彙編源程式:

偽指令    (編譯器處理)

彙編指令(編譯為機器碼)

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

我們可以將源程式檔案中的所有內容成為源程式,將源程式中最終由計算機執行處理的指令或資料,稱為程式。

程式最先以彙編指令的形式存在源程式中,經編譯、連線後轉變為機器碼,儲存在可執行檔案中。

第四章 第一節 效率本質

學習是投資回報率最高的行為 拒絕學習的原因總結有以下幾點 1 不知道學習後有什麼收穫 2 沒有收穫,就不知道收穫有多好 多大 3 既然不了解學習的好處,就沒有動力學習 得出結論 學習乙個新東西,首先需要了解學習後能給自己帶來什麼樣的改變,可激發自己的學習興趣,增強自己的學習動力 作者對學習帶來的收穫...

第四章 第一節 shel語句 3 21

一 算術運算 五種格式 兩邊不加空格,兩邊加空格 c expr a b c expr a b 反引號 兩邊不加空格,兩邊不加空格 let c a b c a b c a b 二 執行指令碼 1 chmod x 指令碼名 指令碼名 2 sh 指令碼名 1 2 執行指令碼前後,都不能執行指令碼變數 3 ...

第四章第一節 文字的處理

一 教學目標 1 認識文字的怎麼在計算機裡面輸入 儲存 輸出的 2 文字處理軟體複習 二 教學重點難點 1 文字的輸入 儲存 輸出 2 對以前知識的複習 三 所需課時 2課時 四 教學過程 一 文字的輸入 輸入法 音碼 形碼 混合碼的介紹 二 文字的儲存 二進位制的認識 英文本元的表示 ascii ...