第四章 第一個程式 知識梳理
阿新 • • 發佈:2018-11-13
彙編源程式從編寫到除錯
編輯→(xx.asm)→彙編→(xx.obj)→連線→(xx.exe)→執行→除錯
程式4.1
assume cs : codesq
codesq seqment
mov ax,0123H
mov bx,0456H
mov ax,bx
mov ax,ax
codesq ends
end
1.彙編指令:有對應的機器碼指令,可以被編譯為機器指令,最終為CPU所執行
2.偽指令:沒有對應的機器指令,最終不被CPU所執行,偽指令是由編譯器來執行的指令
常見的偽指令:(程式4.1出現的)
(1).
段名 segment
.....
段名 ends
功能:定義一個段,segment說明一個段的開始,ends說明一個段結束
(2).
end
功能:end是一個彙編程式結束的標記
(3).
assume
功能:assume將有特定用途的段和相關段暫存器關聯起來即可
如本例,在程式的開頭用assume cs:codesg將作為程式碼段的codesg和CPU中的段暫存器cs聯絡起來
3.源程式 程式
將源程式檔案中所有內容稱為源程式
將源程式最終由計算機執行,處理的指令和資料,稱為程式
4.標號
不產生機器碼,由彙編器處理 ( 比如“codesg”)
5.程式返回
mov ax,4c00H
int 21H
這兩條指令的功能就是程式返回
是彙編指令,執行時,由CPU執行
目的 | 相關指令 | 指令性質 | 指令執行者 |
通知編譯器一個段結束 | 段名ends | 偽指令 | 編譯時,由編譯器執行 |
通知編譯器程式結束 | end | 偽指令 | 編譯時,由編譯器執行 |
程式返回 | mov ax,4c00h | 彙編指令 | 執行時,由CPU執行 |
彙編程式從寫出到執行的過程
編輯(edit)→(xx.asm)→彙編(masm)→(xx.obj)→連線(link)→(xx.exe)→載入(command)→記憶體中的程式→執行(CPU)
exe檔案中程式的載入過程