彙編實驗4

2022-06-04 16:27:10 字數 1294 閱讀 4615

一、實驗目的

1. 理解和掌握暫存器間接定址方式[bx]

2. 通過彙編指令 loop 的使用理解程式語言中迴圈的本質

3. 熟練掌握使用 debug 按需除錯完整彙編源程式的方法

二、實驗準備

1. 學習/複習第 5 章使用[bx]和 loop 實現迴圈的程式設計應用示例(教材 5.5 節,5.8 節)

2. 複習第 3 章「棧」的知識

3. 結合第 4 章課件,複習完整彙編源程式編寫→彙編→連線→執行→除錯的方法

三、實驗內容

1. 綜合使用 loop,[bx],編寫完整匯程式設計序,實現向記憶體 b800:07b8 開始的連續 16 個

字單元重複填充字資料 0403h。

複習:記憶體資料:

ss:棧段段位址

cs:**段段位址

有一點小疑問,不知開頭ax為何一定要寫成0b800h,寫成b800h就報錯。

2. 綜合使用 loop,[bx],編寫完整彙編源程式,實現向記憶體 0:200~0:23f 依次傳送資料

0~63(3fh)。

(1)必做:綜合使用 loop, [bx], mov 實現

(2)選做*:利用棧的特性,綜合使用 loop,push 實現(限定僅使用 8086 中已學過

指令實現)

複習:t--單步執行**

r--檢視檢視暫存器

d--檢視記憶體(d 1000:0 就能檢視該位址儲存了什麼內容)

這個程式似乎沒有執行結果。那我們改用debug檢視記憶體:

可知結果正確。

3. 教材實驗 4(3)(p121)

本題完全按書上**來沒法執行....

四、實驗總結:

本次實驗學習了[bx],loop,暴露了不少小問題,如各段位址的區別,以及第二題不能將bx賦值給[bx]。

第三題的**我同學能執行我不行,不知道神馬情況。

《組合語言》實驗4

1 程式設計,向記憶體0 200 0 23f依次傳送資料0 63。assume cs code code segment mov ax,20h mov ds,ax mov bx,0 mov cx,64s mov bx bl inc bx loop s mov ax,4c00h int21hcode ...

組合語言實驗4

實驗一 綜合使用loop,bx 編寫完整匯程式設計序,實現向記憶體b800 07b8開始的連續16個字單元重複填充字資料0403h。寫入下列程式 通過彙編連線後執行程式 得到16個愛心。將0403h改為0441h後執行,得到結果 實驗二 綜合使用 loop,bx 編寫完整彙編源程式,實現向記憶體 0...

組合語言 王爽 實驗4

這學期在學彙編,沒怎麼自己動手程式設計過,結果到了中期編不出程式來,實在太尷尬了 特此來補各個實驗。4 11 0 200 0 20b 為什麼等同於 0020 0 0020b?0 200 0x16h 200 00200h 所以拆分成不同的形式即可轉換 assume cs code code segme...