1.先進行一些初始化的設定:由於我的debug.exe檔案放在d盤根目錄下,故進行如下操作:
輸入mount c d:\(回車)
輸入c:(回車)
輸入debug(回車)
以上操作之後,在下一行出現字元』-』,則可以進行接下去的操作;如果出現"illegal command: debug.",注意debug.exe檔案的絕對路徑一定要寫對。
2.由於要儲存資料的基位址是2000,所以將資料段的基位址改為2000。完成如上操作要使用 -r 命令。
-r ds(回車)之後,顯示:
-r ds
ds 073f
:在『:』之後輸入要改變的基位址(此時為2000)即可,如下圖所示。
3.用 -e 命令,向資料段中寫入初值
輸入-e ds:1000 56 2c 3a 1c(回車)
ds:1000:表示存入資料的開始位址,從這個位址開始,往後寫入一系列的資料,從低位址向高位址儲存。
56 2c 3a 1c:要寫入的資料,按從低位址到高位址排序
4.用 -a 命令,開始輸入組合語言程式**
輸入-a 2000(回車)
上面的語句中 2000 表示接下來程式**的起始位址,可以任意設定(0000也可以)
在這之後依次按行輸入組合語言**即可,如圖所示(**的最後一行,連按兩次回車就可以結束組合語言程式的輸入)
5.用 -g 命令,執行匯程式設計序
格式: -g = [所要執行的**段的起始段內位址] [所要執行的**段的終止段內位址]
由上圖可知,所要執行的**段的位址為 073f:2000 ~ 073f:2010 ,所以輸入的-g 命令為
-g = 2000 2010(回車)
6.用 -d 命令來檢視指定位置的數值
格式: -d [位址]
輸入:-d ds:1000(回車)
如下圖所示
《組合語言》實驗 實驗
注意 db定義位元組型別變數,乙個位元組資料百佔1個位元組單度元,讀完乙個,偏移量加1 dw定義字型別變問量,乙個字資料佔2個位元組單元,讀完乙個,權偏移量加2 dd定義雙字型別變數版,乙個雙字資料佔4個位元組單元,讀完乙個,權偏移量加4 一開始用了乙個暫存器表示所有項,但是後來發現四個資料佔的位元...
組合語言實驗1 2
小寫字母變為大寫字母 data segment notic db please input the word 0ah,0dh data ends code segment assume cs code,ds data start mov ax,data mov ds,ax 填入ds mov cx,1...
組合語言實驗1 3
輸入10個字元,並反序輸出 data segment dd1 db 10 dup data ends code segment assume cs code,ds data start mov ax,data mov ds,ax lea bx,dd1 dd1的有效位址放入bx中 mov cx,0ah...