彙編語言(王爽) 第4章 第一個程序

這章算是一個實踐部分把,寫 了一個彙編程序,並用debug去跟蹤每條指令的進程,看寄存器和內存的變化,算是對以前的一個小總結把編程

4.1 源程序到執行的過程.net

一個彙編程序寫好,要編譯成目標文件,文件後綴是obj的,再連接造成exe後綴的,再接着去執行debug

4.2 源程序教程

直接上圖把進程

僞指令由編譯器執行,彙編指令由CPU執行內存

assume是僞指令,關聯段寄存器和程序中用segment and end表明的段關聯編譯器

segment 和ends表示段的開始和結束it

end表示整個程序結束asm

另外程序會有個叫程序返回的東西編譯

如p2要運行的話,必須以前有個P1在運行中,P1把p2扔到內存中,把CPU控制權給P2,p2運行完了,cpu控制權還給P1。這就叫程序返回

最後2條指令

mov  ax,4c00h

int 21h

就是實現程序返回的。具體爲啥我也不知道,死記住了

4.3 寫源程序

1.asm

4.4 編譯

1.asm->1.obj

4.5連接

1.obj->1.exe

4.6 簡化編譯和連接到同一步驟

前面的編譯和連接書上是分別用微軟的masm5.0和linker3.6

但個人是64位的機子,跑步起來

就用了dosbox

放連接

http://download.csdn.net/download/wy4649/5536047

裏面有教程

點運行,能夠直接完成編譯和連接的過程,生成1.exe文件

4.7運行跟蹤

用debug去一步步跟蹤1.exe的執行

截圖放個最後程序運行的狀況

另外,最後一條語句執行的時候要用P去執行,而不是t。具體不是很清晰,P大概是表明一個程序的結束把,防止debug再跟蹤下面和程序無關的指令把

這章必定要本身動手敲敲敲敲,敲了N久才理解了~~~~~~

還有折騰DOSBOX也花了很多時間

 

就先這樣把。晚安~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

EOF

相關文章
相關標籤/搜索