微型计算机实验代码,微型计算机原理实验1-数据传送
《微型計算機原理實驗1-數據傳送》由會員分享,可在線閱讀,更多相關《微型計算機原理實驗1-數據傳送(14頁珍藏版)》請在人人文庫網上搜索。
1、實驗一數據傳送一、實驗目的1.熟悉8086指令系統的數據傳送指令及8086的尋址方式。2.利用Turbo Debugger調試工具來調試匯編語言程序。二、實驗預習要求1.復習8086指令系統中的數據傳送類指令和8086的尋址方式。2.預習Turbo Debugger的使用方法:a如何啟動Turbo Debugger;b如何在各窗口之間切換;c如何查看或修改寄存器、狀態標志和存儲單元的內容;d如何輸入程序段;e如何單步運行程序段和用設置斷點的方法運行程序段。3.按照題目要求預先編寫好實驗中的程序段。三、實驗任務1.通過下述程序段的輸入和執行來熟悉Turbo Debugger的使用,并通過顯示器屏。
2、幕觀察程序的執行情況。練習程序段如下:MOV BL,08HMOV CL,BLMOV AX,03FFHMOV BX,AXMOV DS:0020H,BX2.用以下程序段將一組數據壓入(PUSH堆棧區,然后通過不同的出棧順序出棧,觀察出棧后數據的變化情況。壓棧程序段如下:MOV AX,0102HMOV BX,0304HMOV CX,0506HMOV DX,0708HPUSH AXPUSH BXPUSH CXPUSH DX1、POP DXPOP CXPOP BXPOP AX2、POP AXPOP BXPOP CXPOP DX3、POP CXPOP DXPOP AXPOP BX3.指出下列指令的錯誤并加。
3、以改正,上機驗證之。(1 MOV BX,SI原因:兩個操作數不能同時為存儲器操作數修改:改為MOV BX,SI(2 MOV AH,BX原因:MOV操作指令中兩個操作數字長必須相同修改:改為MOV AX,BX(3 MOV AX,SIDI原因:源操作數中同時出現兩個變址寄存器修改:改為MOV AX,BXDI(4 MOV BYTE PTRBX,2000H原因:MOV操作指令中兩個操作數字長必須相同修改:改為MOV WORD PTRBX,2000H(5 MOV CS,AX原因:一般情況下,代碼寄存器CS不能作為目標操作數修改:改為MOV AX,CS(6 MOV DS,2000H原因:不能用立即數直接給。
4、段寄存器賦值修改:改為MOV DX,2000HMOV DS,DX4. 設置各寄存器及存儲單元的內容如下:(BX=0010H,(SI=0001H(10010H=12H,(10011H=34H,(10012H=56H,(10013H=78H (10120H=0ABH,(10121H=0CDH,(10122H=0EFH說明下列各條指令執行完后AX寄存器中的內容,并上機驗證。(1M OV AX,1200H執行后AX=1200H(2M OV AX,BX執行后AX=0010H(3M OV AX,0120H執行后AX=CDABH(4M OV AX,BX執行后AX=3412H(5M OV AX,0110HBX。
5、執行后AX=CDABH(6M OV AX,BXSI執行后AX=5634H(7M OV AX,0110HBXSI執行后AX=EFCDH5. 將DS:1000H字節存儲單元中的內容送到DS:2020H單元中存放。試分別用8086的直接尋址、寄存器間接尋址、變址尋址、寄存器相對尋址傳送指令編寫程序段,并上機驗證結果。直接尋址:MOV AX,1000HMOV 2020H,AX寄存器間接尋址:MOV SI,1000HMOV AX,SIMOV SI,2020HMOV SI,AX變址尋址:MOV BX,1000H MOV SI,0HMOV AX,BXSI MOV SI,1020H MOV BXSI,AX寄存。
6、器相對尋址: MOV BX,1000HMOV AX,0HBXMOV 1020HBX,AX6. 設AX寄存器中的內容為1111H,BX寄存器中的內容為2222H,DS:0010H 單元中的內容為3333H。將AX寄存器中的內容與BX寄存器中的內容交換,然后再將BX寄存器中的內容與DS:0010H單元中的內容進行交換。試編寫程序段,并上機驗證結果。MOV AX,1111HMOV BX,2222HMOV 0010H,3333HXCHG AX,BXXCHG BX, 0010H7. 設(DS1000H,(ES2000H,有關存儲器的內容如下圖所示。要求將 DS 段的內容傳送到 AX 寄存器, 段的內容傳。
7、送到 BX 寄存器, ES 試編寫程序段。 MOV CX,1000H MOV DS,CX MOV CX,2000H MOV ES,CX MOV DS:0000H,0EEFFH MOV ES:0000H,0CCDDH MOV AX,DS:0000H MOV BX,ES:0000H 程序運行結果如下: 四、 小結 Turbo Debugger 的使用方法 Turbo Debugger 界面分為以下幾個部分: 菜單欄:實現打開、保存、運行等操作 代碼段區:可以在 cs:ip 指定的內存位置輸入指令 寄存器區:可以設置或者查看寄存器的值 標志寄存器區:可以設置或者查看標志寄存器中各標志位的值 數據段或。
8、附加段區:可以在 ds:段內偏移地址指定的內存位置設置或者查 看存儲器單元的值,以字節為單位 堆棧段區:可以設置或者查看堆棧中的值,以字為單位 操作方式如下: (1) 在代碼段區光標所在位置每輸入一條指令, 就單擊回車或者 OK 鍵完成該 指令的輸入 (2) 如果采用單步執行方式,則每按一次 F7 或 F8,將執行 CS:IP 所在位置的 一條指令, 同時光標移到下一條指令所在位置,已執行指令影響到的寄存 器將被突顯出來 (3) 由于當前數據段區所顯示的內容未包含最后一條指令所訪問的存儲單元, 因此沒有看到執行結果, 可以連續按 Tab 鍵或者點擊鼠標定位到數據段區, 再按 Alt-F10,打。
9、開局部菜單,然后選擇 Goto 命令,輸入要查看的存儲單 元的地址,按回車或者點擊 OK 按鈕完成地址的輸入 (4) 如果要再次執行程序, 需要先定位到代碼段區第 1 條指令所在位置,然后 單擊 Alt-F10,打開局部菜單并選擇 New CS:IP 命令,此時代碼區的光 標和指針符號都停留在第 1 條指令所在位置,寄存器區 IP 的值由于受到 該操作的影響會被重新賦值,并被突顯出來 (5) 如果要執行整個程序段, 可以將代碼區的光標停留最后一條指令的下一行, 按 F2 鍵設置斷點,按 F4 或 F9 可以一次從程序段的起始位置執行到斷點 所在位置 寧可累死在路上,也不能閑死在家里!寧可去碰壁,也不能面壁。是狼就要練好牙,是羊就要練好腿。什么是奮斗?奮斗就是每天很難,可一年一年卻越來越容易。不奮斗就是每天都很容易,可一年一年越來越難。能干的人,不在情緒上計較,只在做事上認真;無能的人!不在做事上認真,只在情緒上計較。拼一個春夏秋冬!贏一個無悔人生!早安!獻給所有努力的人。
總結
以上是生活随笔為你收集整理的微型计算机实验代码,微型计算机原理实验1-数据传送的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 老车主同样有大福利 AITO问界这波“羊
- 下一篇: 美商海盗船×JOJO多款联名新品再度来袭