微機原理實驗指導書2019

2022-03-16 09:57:26 字數 4791 閱讀 2098

微機系統及應用實驗指導書

東華大學資訊科學與技術學院自動化系

2023年9月

實驗一基本程式程式設計和程式除錯

一、 實驗目的

1、 掌握數碼轉換等基本程式設計的技巧和方法。

2、 熟悉debug命令。

3、 學會和掌握用debug除錯程式的方法。

二、 實驗裝置

pc機一台,裝有dos基本系統

三、 實驗內容及步驟

用debug建立、彙編和執行除錯程式的操作。debug是dos系統支援的用於組合語言源程式除錯的系統軟體。它共有19條命令完成相應的功能,命令及其格式可參閱附錄一。

(一) debug操作練習

1)實驗除錯程式

程式的功能是從3500h記憶體單元開始建立0-15共16個資料。程式如下:

位址 (h) 機器碼(h) 助記符

2000bf0035mov di, 3500

2003b91000mov cx, 0010

2006b80000mov ax, 0000

20099esahf

200a8805mov byte[di],al

200c47inc di

200d40inc ax

200e27daa

200fe2f9loop 200a

2011f4hlt

2)實驗步驟:

(1)輸入與修改

① 啟動dos,在dos提示符下輸入d e b u g後回車,螢幕立即顯示debug提示符「—」,表明已進入debug狀態,可以執行debug的各種命令。

② 用debug中的彙編命令 「a 位址」將程式建立在記憶體單元中。 在提示符「—」下鍵入 : 「a 2000 」 此時顯示器上將會顯示程式的段位址cs和偏移位址ip,你就可以輸入以上的程式了。

即顯示 169c :2000 鍵入 mov di, 3500

169c: 2003mov cx, 0010

169c: 2011hlt

③ 用反彙編命令 「u 位址」檢查程式

在提示符「—」下,鍵入 「u 2000」,將從2000記憶體單元開始的內容反彙編,螢幕上顯示

169c:2000 bf0035 mov di, 3500

169c:2003 b91000 mov cx, 0010

169c:2006 b8000 mov ax, 0000

169c:2011 f4 hlt

當發現程式有錯時,可用彙編命令「a 位址」進行修改,如要修改200a單元中的指令, 則鍵入

「a 200a」 ,螢幕顯示 169c:200a ,然後再鍵入mov byte[di], al,就把錯誤的程式改正了。

(2)顯示和修改資料

①用修改記憶體單元命令 「e 位址」 在指定記憶體單元中存入乙個數。

如要在3500為首址的單元中存入14h和25h兩個資料,可在提示符「—」下,鍵入:「e 3500」

顯示 169c:3500 ××. 鍵入14,按空格鍵

25,按空格鍵

②用顯示記憶體命令 「d 位址」 檢查指定單元的內容

在提示符「—」下,鍵入 「d3500」

顯示 1489:3500 14 25 48 02 …………

1489:3510

1489:3570

若某單元內容有錯則可用命令: 「e 位址 」進行修正。

③用顯示和修改命令 「r 」或「r 暫存器名」顯示暫存器或修改其內容

在提示符「—」下,鍵入 「r」

顯示 ax=0000 bx=0000 cx=0000 dx=0000 sp=ffee……………………

ds=169c es=169c ss=169c cs=169c ip=2000………………………

要修改ip的內容時,鍵入命令 「r ip」後, 顯示 ip 2000,在2000之後鍵入新內容。

(3)程式執行

程式的執行方式有單步執行、斷點執行和連續執行幾種方式。

①單步執行

輸入debug跟蹤命令「t」或「t=位址」或「t=位址指定次數」,可從指定位址處執行該單元中的一條指令,以後只要連續輸入「t」命令就能連續執行一條一條指令。

如在提示符「—」下,鍵入 「t=2000 」

顯示 :

ax=0000 bx=0000 cx=001d dx-0000 sp=ffee bp=0000 si=0000 di=0000

ds=169c es=169c ss=169c cs=169c ip=2000 nv………

169c:2003 b91000 mov cx, 0010

②斷點執行

用執行命令 「g=位址位址斷點位址斷點…」執行指定位址的程式

在提示符「—」下,鍵入 「g=2000 2011 」

顯示 169c:2011 f4 hlt 表示這段程式已經執行完畢。

③連續執行

輸入debug命令「g=位址」,執行指定位址的程式

(4)用顯示記憶體命令檢查執行結果

在提示符「—」下,鍵入命令 「d 位址」,根據其中的內容判斷程式執行是否正確。

如檢查以上程式執行後的結果,在提示符「—」下,鍵入「 d 3500」,可顯示

169c:3500 00 01 02 03 04 …… 15

169c:3510

(二)數碼轉換程式及其除錯

1、 將ascii碼表示的十進位制數轉換為二進位制數

1)程式設計的演算法及其程式

十進位制資料可表示為:

di代表十進位制數1,2,3,…9,0

上式可轉換為:

由式(2)可歸納十進位制數轉換為二進位制數的方法:從十進位制的最高位dn開始乘10加次位的操作,將結果再乘10再加下一次位,如此重複,則可求出二進位制數結果來。程式流程及參考程式如圖1-1。

這裡我們規定:被轉換的ascii碼十進位制數存放在3500h——3504h單位中。而轉換結果存放在3510h——3511h單元中。

2)實驗步驟

(1)輸入程式並檢查無誤。

(2)在3500h——3504h單元存入十進位制數12的ascii碼,即e3500h↙,並輸入3030303132h。

(3)g=2000↙,執行程式,並用ctrl+c來中斷程式返回監控狀態。

(4)用d3510↙來檢視結果,應為:3510 0c 00

(5)反覆試幾組數,考查程式的正確性。

位址(h) 助記符注釋

2000 mov si,3500 ;源位址

2003 mov di,3510 ;結果位址

2006 mov bx,000a ;乘數 10

2009 mov cx,0004 ;計數

200c mov ah,00 ;ah 清零

200e mov al,[si] ;取被轉換數

2010 sub al,30 ;ascii碼變十進位制數

2012 imul bx高位(ax)*(bx)送ax

2014 add al,[si+01] ;取下一位

1017 sub al,30 ;ascii碼減30變十進位制數

2019 inc si源位址指標+1

201a loop 2012 ;cx-1,若cx不等於零則繼續

201c mov [di],ax ;若cx不等於零則存結果

201e int 3

圖1-1

2 將十進位制數的ascii碼轉換為bcd碼

1)程式流程和程式

設從鍵盤輸入的五位十進位制數的ascii碼已存放在3500h起始的記憶體單元內,把它轉換成bcd碼後,再按位分別存入350ah起始的記憶體單元內。若輸入的不是十進位制數的ascii碼,則對應存放結果的內容為「ff」。一位元組ascii碼取其低四位即變為bcd碼,程式流程圖及考程式如圖1-2所示。

2)實驗步驟

(1) 輸入程式並檢查無誤。

(2) 在3500h——3504h單元中存入五位十進位制數的ascii碼,即

e3500↙,並輸入31,32,33,34,35。

(3) g=2000↙,執行以上程式。

(4) d350a↙,顯示結果為:

0000:350a 01 02 03 04 05 cc…

(5) 反覆試幾組數,考查程式的正確性。

位址(h) 助記符注釋

2000 mov cx,0005;迴圈計數器賦初值

2003 mov di,3500;ascii碼首址

2006 mov bl,ff; 錯誤標誌送bl

2008 mov al,[di];送ascii碼至al

200a cmp al,3a; 比較al與3ah

200c jnb 2014; 不低於3a則轉2014

200e sub al,30; 低於3a則取ascii碼的低四位

2010 jb 2014; 低於30則轉2014

2012 mov bl,al; 否則al內容送bl,取代ff

2014 mov al,bl; 結果或錯誤標誌送al

2016 mov [di+0a],al

2019 inc di

微機原理實驗指導書

目錄 1 實驗一 arm彙編基礎實驗 3 一 實驗目的 3 二 實驗內容 3 三 預備知識 3 四 實驗裝置與工具 3 五 實驗原理 3 六 實驗步驟 9 七 思考題 10 實驗二 arm控制led實驗 12 一 實驗目的 12 二 實驗內容 12 三 預備知識 12 四 實驗裝置與工具 12 五 ...

微機原理實驗指導書硬體部分2019

微機原理實驗指導書 硬體實驗部分 東華大學資訊學院 資訊與控制實驗中心 2015.12 關於微機原理硬體部分實驗的說明 硬體實驗主要分為基礎實驗和綜合設計實驗兩部分。基礎實驗部分每個實驗需完成各自的實驗報告。報告內容以每項實驗的思考題內容為主,不需要抄錄實驗指導書提供的範例程式。報告內容具體要求為 ...

微機原理及應用實驗指導書

微機原理及應用 實驗指導書 安陽工學院 電子資訊與電氣工程學院 目錄第一章 tpc usb實驗系統介紹 3 第二章 tpc usb實驗系統硬體環境 4 2.1 usb模組介紹 4 2.1.1 usb模組結構 4 2.1.2 usb模組功能 4 2.1.3 usb模組的對外介面 4 2.1.4 usb...