一、實驗目的
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...