初級彙編程序(一)

隨着計算機組成原理課程的學習,我對彙編也有了初步的認識,接下來就簡單看幾個彙編程序吧。

由於edit/debug等命令只適應32位機器,但筆者是64位的win7系統,於是得先下載一個DOSBox,能模擬DOS環境。

1.下載DOSBox,百度即可
2.打開之後,會有兩個窗口,先輸入命令
mount e e:\DOSBox表示將你的驅動盤模擬到E盤,e:\dosbox表示你的文件目錄
3.e:表示將根目錄換到E盤
4.masm ex.asm 編譯你的.asm文件,期間一直回車即可
5.link ex.obj 連接你的.obj文件,期間一直回車即可
6.debug ex.exe 接下來就可以使用DOS命令來調試程序了
(這些命令分別需要masm.exe,link.exe,debug.exe文件)

一、順序結構

內存中自TABLE開始的七個單元中連續存放着自然數0~6的立方值(立方值表),任一個數X(0≤X≤6)在FIRST單元中,要求查表找出X的立方值,存SECOND單元。

源代碼

效果:
這裏寫圖片描述
這裏寫圖片描述

命令:-u:反彙編 -t:單步執行 -d ds:0:查看數據段數據,從0000開始 -g 0014:執行到0014,圖中語句爲MOV AH,4C

執行結果的數據顯示:(TABLE)00 01 08 1B 40 7D D8 (FIRST)05 (SECOND)7D
表示05的立方值爲7D,而這個7D則是從TABLE中查找出來的。

這段程序中,TABLE的定義是DB,表示字節,若要用DW(字)定義呢?

這裏寫圖片描述

需要多一步SAL AL,1 表示將AL的內容左移一位,相當於乘2,而彙編中的移位操作要比加法、乘法的速度快很多,效率也大很多。

這裏寫圖片描述

讀者可以發現TABLE的存儲方式發生了變化,但FIRST和SECOND的內容還是05和7D

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章