彙編基礎 五 之編譯

2021-10-06 18:14:26 字數 1744 閱讀 5046

匯程式設計序

編譯過程

除錯過程

其他概念

其他彙編語法

在彙編基礎學習記錄(二)中,已經有了詳細的安裝教程,這裡展示出我自己的配置。

將下述程式以asm字尾的形式儲存於asm資料夾下,儲存名稱為:temp.asm

assume cs:code

code segment

mov bx,0b800h

mov es,bx

mov bx,160*10 + 40*2

mov word ptr es:[bx],5535h

mov ax,4c00h

int 21h

code ends

end

將上述程式對應的檔案進行編譯,如果編譯成功,則說明環境配置無誤,如果編譯不成功,則檢視程式是否出錯(編譯時候出現「 1 severe errors」),再檢視環境是否安裝正確。

輸入指令:debug 要除錯的exe檔案。

可以看到,每一條即將執行的指令都是asm檔案中的指令。

當前學習的進度而言,基礎的段有:**段、棧段、資料段

對應的段暫存器分別為:cs(code segment),ss(stack segment),ds(data segment)

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

最終生成的目標檔案(exe檔案)是不包含源**中的偽指令的。

段定義偽指令

功能:定義乙個段。segment指明段的開始,ends指明段的結束

語法:段名字 segment

……(彙編指令)

……(彙編指令)

段名字 ends

段關聯偽指令

編譯結束偽指令

功能:告訴編譯器,編譯到此為止。

語法:end

程式返回

功能:程式返回,結束執行。

語法:mov ax,4c00h

int 21h

說明:該兩條語句是固定語句,語句中的資料不可變動。當計算機執行上述這兩條指令後,會自動執行程式的退出返回,並結束執行的功能,一般常常跟上述的偽指令搭配,作為乙個程式的固定執行語句。

注釋;是注釋的修飾符號。

逆向基礎之彙編(一)

目錄 1.前言 2.進製 2.1 進製的簡寫 3.資料寬度 4.原始碼 反碼和補碼 4.1 有符號與無符號 4.1.1 無符號 4.1.2 有符號 4.2 編碼規則 4.2.1 原碼 4.2.2 反碼 4.2.3 補碼 5 位運算 5.1 與運算 5.2 或運算 5.3 異或運算 5.4 非運算 5...

彙編基礎 四 之棧

記憶體中使用一段連續單元,看作成只有乙個乙個上口的盒子,用於存放資料入棧 向盒子裡放入資料 出棧 從盒子裡拿出資料 單位 以字 2個位元組 16位 為單位。規則 先進後出,後進先出 入棧 push 通用暫存器 ax,bx,cx,dx 該操作會將暫存器中的資料存放到棧頂位址 ss sp對應的位址 中 ...

組合語言基礎知識(五)

1.cpu中斷是指cpu不再接著向下執行指令,而是轉去處理這個特殊資訊。cpu中斷分為內中斷和外中斷。2.內中斷包括 3.cpu收到中斷資訊後,需要對中斷信心進行處理,如何處理中斷資訊,由我們程式設計決定。用來處理中斷資訊的程式被稱為中斷處理程式。3.每乙個中斷資訊都由乙個中斷型別碼,比如除法錯誤的...