对一个简单汇编程序分析
生活随笔
收集整理的這篇文章主要介紹了
对一个简单汇编程序分析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
程序:
assume cs:codesgcodesg segmentmov ax,0123Hmov bx,0456Hadd ax,bxadd ax,axmov ax,4c00Hint 21Hcodesg endsend偽指令:
偽指令是寫給編譯器看的,CPU不會執行,在源程序中,包括兩種指令,一個是匯編指令,一個是偽指令。匯編指令會生成對應的機器碼,而偽指令不會生成機器碼,最終不會被CPU執行
segment和ends是一對成對使用的偽指令,這是在寫可被編譯器編譯的匯編程序時必須要用到的一對偽指令。
功能:定義一個段,segment說明段的開始,ends說明段的結束,一個段必須有一個名稱來標識,格式:
比如上面程序中:
codesg segment: codesg ends一個匯編程序由多個段組成,一個有意義的匯編程序中至少要有一個段,這個段用來代碼
end
功能:一個匯編程序的結束標記
注意:要分清楚end和ends,end是整個程序結束的標志,ends是一個段的結束
assume
功能:假設某一段寄存器和程序中的某一用segment…ends定義的段相關聯
源程序中的程序:
源程序就是我們寫的代碼,可以將源程序文件中所有的內容稱為源程序,最終由計算機執行的才叫程序
標號:
匯編源程序中,除了匯編指令和偽指令外,還有些標號,比如codesg。一個標號指代一個地址,比如codesg在segment前面,作為一個段的名稱,這個段的名稱最終將被編譯,連接程序處理為一個段的段地址
程序的返回:
mov ax,4c00Hint 21H這兩條指令所實現的功能就是程序返回
在最后再說一下程序是由段構成的
總結
以上是生活随笔為你收集整理的对一个简单汇编程序分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 将10000H-1000FH这段空间当做
- 下一篇: lv包包多少钱啊?