組合語言實驗1 算術運算實驗

2021-10-05 21:37:09 字數 1279 閱讀 9592

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...