日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

汇编语言 实验4

發布時間:2023/12/13 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 汇编语言 实验4 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實驗4

?

實驗內容1:綜合使用 loop,[bx],編寫完整匯編程序,實現向內存 b800:07b8 開始的連續 16 個 字單元重復填充字數據 0403H;修改0403H為0441H,再次運行

?

步驟1:在記事本中編寫好temp.asm文件

?

步驟2:進入dosbox環境進行編譯連接并運行,屏幕特定位置顯示16個紅色愛心

?

步驟3:修改0403H為0441H,運行后觀察結果

?

?

Tips:

進入debug環境逐步調試時,發現并沒有修改b87b8H內存單元中的值。對比直接運行并在沒有清屏條件下進入debug運行,和直接在debug環境中修改寄存器取值,發現可能的原因是:輸出在屏幕上的符號是動態的,即刻顯示當前位置的符號。如果顯示的位置下面本來沒有代碼,后面輸入的代碼會覆蓋這些符號;如果下面你本來就有代碼,會隨著代碼的輸入而不斷上移位置

?

?

?

?

實驗內容2:綜合使用 loop,[bx],編寫完整匯編源程序,實現向內存 0:200~0:23F 依次傳送數據 0~63(3FH)

?

用loop, [bx]實現:

1、步驟1:在記事本中編寫好temp2.asm文件

?

步驟2:進入dosbox環境進行編譯連接并運行

?

步驟3:進入debug環境,靈活使用 debug 的 t 命令、g 命令、p 命令調試,用 d 命令 查看 0:200~0:23F,確認是否將 0~63 傳送至此段內存區域

?

?

(用g命令調試)

?

?

(用t命令逐步調試、p命令一起執行循環的部分,結果和用g命令一樣)

2、稍作改動,同樣能實現

?

?

?

?

實驗內容3:實現將“mov ax,4c00h”之前的語句全部復制到從0:200開始的一段空間中

步驟1:在記事本中編寫好temp3.asm文件(填空的內容為1. CS 2.offset last-offset start

?

步驟2:進入dosbox環境進行編譯連接并運行

?

步驟3:靈活使用 debug 的 t 命令、g 命令、p 命令調試,用 d 命令查看 0:200 之后的若干字節,觀察是否將 mov ax, 4c00h 之前的指令復制到指定內存

?

?

?

?

?

?

實驗4——總結

收獲:本次實驗讓我熟悉了loop、[bx]的使用,弄懂了屏幕上輸出符號的位置與是否被覆蓋的問題,了解了怎么進行代碼的復制(怎么表示一段不知道大小的空間的大小),掌握了p命令的有一個功能——跳過循環的具體過程直接執行到循環結束。

?

問題:最后一個實驗為什么在復制完成以后還會多出一段數據呢?

?????? 實驗內容2的我嘗試了用loop、push做但是失敗了,查看內存單元發現并沒有修改原來的取值。那么到底應該如何實現呢?

轉載于:https://www.cnblogs.com/cjh-1023/p/9985973.html

總結

以上是生活随笔為你收集整理的汇编语言 实验4的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。