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