實驗 4 bx 和 loop 的使用

2022-06-04 16:45:09 字數 1504 閱讀 9404

實驗結論

實驗1:綜合使用 loop,[bx],編寫完整匯程式設計序,實現向記憶體 b800:07b8 開始的連續 16 個字單元重複填充字資料 0403h。

1.源**及實驗結果

執行結果:螢幕**出現一排紅色的心❤。

2.將源**程式中字資料 0403h→修改為 0441h,再次執行

執行結果:螢幕**出現一排紅色的a。

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

1.源**

2.彙編、鏈結無誤後,使用g命令除錯,用 d 命令檢視 0:200~0:23f

這段**確實將 0~63 傳送至 0:200~0:23f的記憶體區域。

實驗3:將「mov ax,4c00h」之前的指令複製到記憶體0:200處。

1.第乙個空填cs,表示當前指令的段位址;第二個空填迴圈次數,因為此時還不知道迴圈次數,先填1。

、2.進入debug後對**反彙編,發現「mov ax,4c00h」這行**前面的**長度為17h,所以迴圈次數為17h。

3.完整**

4.彙編連線後,使用g命令除錯,並用 d 命令檢視 0:200之後的若干位元組

通過與反彙編的機械碼比較,實驗**確實將 mov ax, 4c00h 之前的指令複製到記憶體0:200處。

總結與體會

通過本次實驗,我基本掌握了【bx】和loop的使用,讓我能更簡潔地解決一些涉及迴圈的問題,同時也複習了之前實驗的操作。

同時,我有乙個問題:在實驗3中,能否不用反彙編就能知道**長度,從而快速確定迴圈次數?如果不用反彙編就能知道的話,就能避免一些繁瑣的操作了。

實驗4 bx 和loop的使用

字單元重複填充字資料 0403h。編譯,連線 執行結果截圖 將源 中的字資料0403h修改為0441h,再次執行 實驗任務 2 綜合使用 loop,bx 編寫完整彙編源程式,實現向記憶體 0 200 0 23f 依次傳送資料 必做 綜合使用 loop,bx mov 實現。彙編 鏈結無誤後,靈活使用 ...

實驗 4 bx 和 loop 的使用

1.綜合使用 loop,bx 編寫完整匯程式設計序,實現向記憶體 b800 07b8 開始的連續 16 個字單元重複填充字資料0403h。實驗一截圖如下 對比結果不對,經檢查發現遺漏八個字單元重複資料。修改截圖如下 將源 程式中字資料 0403h 修改為 0441h,再次執行,截圖顯示執行結果 2....

實驗4 bx 與loop的使用

做這個實驗時我認為小菜一碟,認為很快就會搞定,但是等我編好程式,編譯連線的時候出現了問題,我摸不著頭腦,不知道問題出現在 下面時出現問題的程式 assume cs codesg codesg segment mov ax,20h mov ds,ax mov bx,0 mov ax,0 mov cx,...