匯程式設計序
編譯過程
除錯過程
其他概念
其他彙編語法
在彙編基礎學習記錄(二)中,已經有了詳細的安裝教程,這裡展示出我自己的配置。
將下述程式以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.每乙個中斷資訊都由乙個中斷型別碼,比如除法錯誤的...