久草成人在线视频,欧美激情视频网,级别免费毛片在线看,中文字幕色婷婷在线视频,亚洲天堂成人在线,久久亚洲婷,日本黄色网址在线免费

匯編語言源程序運行步驟和DEBUG的使用

上傳人:tia****g98 文檔編號:111843271 上傳時間:2022-06-21 格式:DOCX 頁數(shù):12 大?。?8.29KB
收藏 版權(quán)申訴 舉報 下載
匯編語言源程序運行步驟和DEBUG的使用_第1頁
第1頁 / 共12頁
匯編語言源程序運行步驟和DEBUG的使用_第2頁
第2頁 / 共12頁
匯編語言源程序運行步驟和DEBUG的使用_第3頁
第3頁 / 共12頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《匯編語言源程序運行步驟和DEBUG的使用》由會員分享,可在線閱讀,更多相關(guān)《匯編語言源程序運行步驟和DEBUG的使用(12頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、實驗一 匯編語言源程序運行步驟和DEBUG的使用 一、實驗?zāi)康? 1.熟悉匯編語言源程序書寫格式。 2.熟悉匯編語言源程序編輯、匯編、連接、執(zhí)行步驟。 3.練習(xí)DEBUG常用命令的使用。 4.熟悉8086的寄存器。 5.了解程序的執(zhí)行過程。 二、實驗預(yù)習(xí)要求 1、認(rèn)真閱讀預(yù)備知識中匯編語言的上機步驟的說明,熟悉匯編程序的建立、匯編、連接、執(zhí)行、調(diào)試的全過程。 2.預(yù)習(xí)使用DEBUG 檢查/修改寄存器內(nèi)容、查詢存儲器內(nèi)容的命令。 3.預(yù)習(xí)使用DEBUG單步、斷點及連續(xù)執(zhí)行程序的命令。 三、實驗內(nèi)容 1.編輯以下程序,匯編連接后運行,將輸出'HOW ARE YOU?’。

2、 本習(xí)題主要目的:熟悉匯編語言源程序的書寫格式;熟悉匯編語言源程序的編輯、匯編、連接、運行。 DATA SEGMENT BUF DB 'HOW ARE YOU?$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,OFFSET BUF MOV AH,09H INT 21H MOV AH,4CH INT 21H CODE ENDS END START 2.

3、DEBUG 調(diào)試以下程序,查看DATA段中定義的數(shù)據(jù)在內(nèi)存中的存放方式,并單步執(zhí)行查看每一語句執(zhí)行后相關(guān)寄存器的內(nèi)容,并解釋為何取該值: DATA SEGMENT ;(1) A DB 34H,12H ;(2) B DW 1234H ;(3) C DD 0 ;(4) D DB -1,15/3 ;(5) E DB '012' ;(6) F DW 'AB','C' ;(7) G DW ? ;(8) H DB 5 DUP(0) ;(9) I DW $-OFFSET H ;(10) DA

4、TA ENDS ;(11) CODE SEGMENT ;(12) ASSUME CS:CODE,DS:DATA ;(13) START: MOV AX,CODE ;(14) MOV DS,AX ;(15) MOV BX,SEG A ;(16) MOV CX,OFFSET B ;(17) MOV DX,TYPE C ;(18) MOV AH,4CH ;(19) INT 21H ;(20) CODE ENDS ;(21) END START

5、 ;(22) 3.下面是第1題采用將主程序定義為遠(yuǎn)程的程序返回DOS的結(jié)束方式,將其編輯、連接、運行,熟悉匯編源程序不同的結(jié)束方式。 DATA SEGMENT BUF DB 'HOW ARE YOU?$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA MAIN PROC FAR START: PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX MOV DX,OFFSET BUF

6、 MOV SI,0 MOV AH,09H INT 21H RET MAIN ENDP CODE ENDS END START 四、實驗報告要求 1. 寫明本次實驗內(nèi)容和實驗步驟。 2. 整理出運行正確的各題源程序段和運行結(jié)果。 3. 小結(jié)Debug的使用方法。 實驗二 DEBUG的使用 一、實驗預(yù)習(xí)要求 1. 復(fù)習(xí)8086指令系統(tǒng)中的數(shù)據(jù)傳送類指令和8086的尋址方式。 2. 預(yù)習(xí)Debug的使用方法: a) 如何啟動Debug; b) 如何在各窗口之間切換; c) 如何查看或修改寄存器、狀態(tài)標(biāo)志和存

7、儲單元的內(nèi)容; d) 如何輸入程序段; e) 如何單步運行程序段和用設(shè)置斷點的方法運行程序段。 3. 按照題目要求預(yù)先編寫好實驗中的程序段。 二、實驗任務(wù) 1.通過下述程序段的輸入和執(zhí)行來熟悉Debug的使用,并通過顯示器屏幕觀察程序的執(zhí)行情況。練習(xí)程序段如下: MOV BL,08H MOV CL,BL MOV AX,03FFH MOV BX,AX MOV DS:[0020H],BX 2. 指出下列指令的錯誤并加以改正,上機驗證之。 (1) MOV [BX],[SI] (2) MOV AH,BX (3) MO

8、V AX,[SI][DI] (4) MOV BYTE PTR[BX],2000H (5) MOV CS,AX (6) MOV DS,2000H 3. 設(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)容,并上機驗證。 (1) MOV AX,1200H (2) MOV AX,BX

9、 (3) MOV AX,[0120H] (4) MOV AX,[BX] (5) MOV AX,0110H[BX] (6) MOV AX,[BX][SI] (7) MOV AX,0110H[BX][SI] 4. 設(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é)果。 三、實驗報告要求 1、寫明本次實驗內(nèi)容和實驗步驟。 2

10、、整理出運行正確的各題源程序段和運行結(jié)果。 3、寫出第2題中改正后的正確指令。 4、小結(jié)Debug的使用方法。 實驗三 數(shù)據(jù)傳送 一、實驗?zāi)康? 1. 熟悉8086指令系統(tǒng)的數(shù)據(jù)傳送指令及8086的尋址方式。 2. 學(xué)會利用Debug調(diào)試工具來調(diào)試匯編語言程序。 二、實驗要求 1.通過編寫程序,學(xué)會各種尋址方式的使用。 2.繼續(xù)熟悉使用相關(guān)的DEBUG命令單步、斷點及連續(xù)執(zhí)行程序,來調(diào)試程序。 3.預(yù)先編寫好程序。 三、實驗內(nèi)容 1.《匯編語言與PC技術(shù)》書p46頁例4.1中五種方法編寫的程序加上輸出結(jié)果的指令序列,即將SS1中數(shù)據(jù)傳送到SS2后,再將SS2中的字符顯

11、示輸出、具體要求是: 1)為程序LI4_1_1加上按正序?qū)S2中的字符依次顯示出來的指令序列。 2)為程序LI4_1_2加上按逆序?qū)S2中的字符依次顯示出來的指令序列。 3)為程序LI4_1_4加上按正序?qū)S2中的字符依次顯示出來的指令序列。 4)為程序LI4_1_5加上按正序?qū)S2中的字符依次顯示出來的指令序列。 提示:此題的困難在于 SS2是用 DW偽指令定義的,而顯示字符是一個字節(jié)一個字節(jié)的顯示。解決此問題的方法有四個: ①直接用SS2[SI]訪問,一次取一個字(比如:MOV DX,SS2[SI]),然后先顯示低位字節(jié)(DL),再顯示(DH)。即循環(huán)執(zhí)行一次輸出兩個字

12、符。 ②按字節(jié)訪問字變量,比如用SS2[SI]地址表達式表示SS2中的字節(jié)地址,在指令中用PTR操作符將字類型變量SS2按字節(jié)訪問.例如: MOV DL,BYTE PTR SS2[SI] ③在數(shù)據(jù)段中定義 SS2的偽指令之前,用 LABEL或EQU偽指令為 SS2所對應(yīng)的同一物理位置,另外定義類型為BYTE的標(biāo)號(例如SS3)。當(dāng)你希望按字節(jié)訪問這片存儲器時,就用別這個名字(比如:MOV DL,SS3[SI])。 ④用變量名不出現(xiàn)在地址表達式里的間接訪問。比如[SI]、[BX]、[BX][SI]等地址表達式表示 SS2中的字節(jié)位移量(例如:MOV DL,[SI])。 2. 把課本例4

13、-1程序LI4_l_l改為SS2在輔助數(shù)據(jù)段,SS1仍在數(shù)據(jù)段,將SS1中的字符依次傳送至SS2后,按正序顯示輸出SS2中的字符。 四、實驗報告要求 1. 提交本次上機調(diào)試好的程序。 2. 給出運行結(jié)果。 3. 寫出編程、調(diào)試體會。 實驗四 利用堆棧和換碼實現(xiàn)傳送 一、實驗?zāi)康? 1.學(xué)會使用堆棧指令PUSH 和POP。 2.學(xué)會使用換碼指令XLAT。 二、實驗內(nèi)容 課本P60頁 3. 按例4-1的程序LI4_1_5的方法定義SS1,將SS1按字依次推人堆棧,然后按SS1中字符的反序從堆棧中彈出顯示輸出。 提示:彈出字送入DX,首先顯示DL的內(nèi)容,然后再顯示DH的內(nèi)

14、容。 5.改寫例4_6程序。 1)將例4_6改為不存儲0,1,2,…,0FH,而用指令計算出這些十六進制數(shù)字(比如在DH里計算).然后將其轉(zhuǎn)換成對應(yīng)的ASCII碼,并顯示輸出。 2)將例4_6改為不存儲0,1,2,…,0FH,而直接用CX的值。 提示:CX的值依次為 16,15,…,2,1,如果換碼表定義為: TAB_DA DB ‘FEDCBA9876543210’,則CX-l即為‘0’,‘1’,‘2’,…,‘E’,‘F’在TAB_DA表中相對于表頭的位移量。 6.編寫一個加密與解密0~9位字序列的程序,設(shè)0,1,2,3,4,5,6,7,8,9對應(yīng)的密碼表為9,0,8,2,7,4

15、,6.3,1,5,鍵盤輸入任意一個4位數(shù)要求程序能夠馬上輸出這4位數(shù)對應(yīng)的密碼。例如:鍵盤輸入4925,顯示輸出7584。 三、實驗報告要求 1. 提交本次上機調(diào)試好的程序。 2. 給出運行結(jié)果。 3. 寫出編程、調(diào)試體會 實驗五 算術(shù)運算程序 一、實驗?zāi)康? 1.熟悉算術(shù)邏輯運算指令和移位指令的功能。 2.了解標(biāo)志寄存器各標(biāo)志位的意義和指令執(zhí)行對它的影響。 二、實驗預(yù)習(xí)要求 1.復(fù)習(xí)8086指令系統(tǒng)中的算術(shù)邏輯類指令和移位指令。 2.按照題目要求在實驗前編寫好實驗中的程序段。 三、實驗任務(wù) 1. 用DEBUG 調(diào)試以下程序段,將指令對標(biāo)志位的影響結(jié)果填寫到以下表

16、格: 標(biāo)志位 CF ZF SF OF PF AF 程序段1: MOV AX, 1018H MOV SI, 230AH ADD AX, SI ADD AL, 30H MOV DX, 3FFH ADD AX,BX MOV [20H], 1000H ADD [20H], AX PUSH AX POP BX 0 0 0 0 0 0

17、 程序段2: MOV AX, 0A0AH ADD AX, 0FFFFH MOV CX, 0FF00H ADC AX, CX SUB AX, AX INC AX OR CX, 0FFH AND CX, 0F0FH MOV [10H], CX 0 0 0 0 0 0 程序段3: MOV BL,

18、 25H MOV BYTE PTR[10H], 4 MOV AL, [10H] MUL BL 0 0 0 0 0 0 2、(課本習(xí)題P79頁3,7題) (1)實現(xiàn)多字節(jié)二進制減法 630B840A90H-436732AF8AH,用DEBUG查看程序結(jié)果。 (2)用非壓縮型BCD碼的減法編寫計算: 3621-4203的程序,并顯示輸出結(jié)果。 要求: 數(shù)據(jù)按低位存放在低地址字節(jié). 數(shù)據(jù)按高位存放在高地址字節(jié)。 實驗六、代碼轉(zhuǎn)換 一、實驗?zāi)康模? 1.理解各種進制在計算機內(nèi)的表方法、

19、BCD碼和ASCII碼的表示方法。 2.熟悉各種常用進制和代碼轉(zhuǎn)換的方法。 3.掌握代碼轉(zhuǎn)換程序的設(shè)計方法,比如:如何將BCD值轉(zhuǎn)換成ASCII值。 二、實驗預(yù)習(xí)要求: 1、復(fù)習(xí)各進制數(shù)、BCD碼和ASCII碼的定義形式,理解兩者的區(qū)別 2、根據(jù)本實驗的編程提示和程序框架預(yù)先編寫匯編語言源程序。 三、實驗內(nèi)容 1.編寫程序:將鍵盤輸入的4位十進制數(shù)(ASCII碼)保存為壓縮BCD數(shù)。 2. 編寫程序:從鍵盤輸入一個十進制數(shù),以回車(0DH)結(jié)束,將其轉(zhuǎn)換成它所代表的二進制數(shù)據(jù),然后以十六進制形式輸出。 3.編寫程序;將16位二進制數(shù)轉(zhuǎn)換為壓縮BCD數(shù)。 (高數(shù)字位存放在低地

20、址) 四、實驗報告要求 1. 整理出完整的實驗程序,對結(jié)果進行解釋。 實驗七 十進制數(shù)的輸入和輸出 一、實驗?zāi)康? 1.理解十進制數(shù)在計算機中的存放方式。 2.掌握十進制數(shù)的輸入、輸出方法,以及十六進制數(shù)的輸出方法 二、實驗預(yù)習(xí)要求 1.復(fù)習(xí)系統(tǒng)功能調(diào)用的1、2、9號功能。 2.按照題目要求預(yù)先編寫好實驗中的程序段。 三、實驗內(nèi)容 課本習(xí)題P79頁15題 15. 鍵盤輸入一個一位加法表達式。 1)按十進制輸出其正確的結(jié)果。例如:7+8=15,2+3=05。 2)按十六進制輸出其正確結(jié)果。例如:7+8=0FH,2+3=05H。 四、實驗報告要求 1. 整理出運

21、行完整的實驗程序和運行結(jié)果。 2. 總結(jié)一下,如何輸出十六進制數(shù)?與字符輸出有什么關(guān)系? 3. 總結(jié)一下,如何輸出十進制數(shù)? 總結(jié)15題加法可能的實現(xiàn)方法。 實驗八 分支及循環(huán)程序設(shè)計 一、實驗?zāi)康? 1、 學(xué)習(xí)提示信息的顯示及鍵盤輸入字符的方法。 2、 掌握分支程序和循環(huán)程序的設(shè)計方法。 二、實驗預(yù)習(xí)要求 1.復(fù)習(xí)比較指令、轉(zhuǎn)移指令、循環(huán)指令的用法。 2.根據(jù)編程提示,編出匯編語言源程序。 三、實驗內(nèi)容(課本p98頁4,5) 1. 給出一組數(shù):349H,256H,45H,67H,98H,412H,74H,90H,48H,找出其中的最大數(shù)、最小數(shù),將結(jié)果以十六進制輸

22、出。 2. 給出一組數(shù):0FFFFH, 3567H, 2345H, 0002H, 0034H, 0F045H,將以上數(shù)據(jù)視為帶符號數(shù),找出其中的最大數(shù)和最小數(shù),將結(jié)果用十六進制輸出。 四、實驗報告要求 1.整理出完整的實驗程序。 2.總結(jié)一下編制分支程序和循環(huán)程序的要點。 實驗九 8255A并行接口應(yīng)用 一、實驗?zāi)康模? 1.掌握8255A的工作原理以及編程方法。 2.理解8255A在實際中的應(yīng)用。 二、實驗預(yù)習(xí)要求 1.預(yù)習(xí)8255A的工作原理; 2.預(yù)習(xí)8255A的編程方法; 三、實驗內(nèi)容: 某8086微機系統(tǒng)中有一片8255A,其端口A的PA7~PA

23、0接8個開關(guān)K7~K0,C口的PC7~PC0接8個發(fā)光二極管LED7~LED0。A口、C口均工作于方式0,要求實現(xiàn)編程,將開關(guān)狀態(tài)K7~K0送入LED7~LED0顯示。 已知端口地址:PA口: 288H,PC口: 28AH,控制口:28BH 四、實驗報告要求 1.編寫出完整的實驗程序。 2.給出實驗結(jié)果。 實驗九 8255A并行接口應(yīng)用 一、實驗?zāi)康模? 1.掌握8255A的工作原理以及編程方法。 2.理解8255A在實際中的應(yīng)用。 二、實驗預(yù)習(xí)要求 1.預(yù)習(xí)8255A的工作原理; 2.預(yù)習(xí)8255A的編程方法; 三、實驗內(nèi)容: 某8086微機系統(tǒng)中有一片

24、8255A,其端口A的PA7~PA0接8個開關(guān)K7~K0,C口的PC7~PC0接8個發(fā)光二極管LED7~LED0。A口、C口均工作于方式0,要求實現(xiàn)編程,將開關(guān)狀態(tài)K7~K0送入LED7~LED0顯示。 已知端口地址:PA口: 288H,PC口: 28AH,控制口:28BH 四、實驗報告要求 1.編寫出完整的實驗程序。 2.給出實驗結(jié)果。 實驗十一 交通燈模擬實驗------8255并行接口實驗 一、實驗要求: 編寫程序,以8255的PA口作為輸出口,控制4個雙色LED燈(可發(fā)紅、綠、黃光),模擬十字路口交通燈管理。

25、 二、實驗?zāi)康模? 1、掌握8255的工作原理。 2、學(xué)習(xí)模擬交通燈控制方法; 三、8255的工作原理: 8255有三個8位的并行口,端口既可以編程為普通I/O口,也可以編程為選通I/O口和雙向傳輸口。8255為總線兼容型,可以與CPU的總線

26、直接接口。其中,口地址取決于片選CS和A1、A0。 選擇如下: A1 A0 CS 選通的端口 0 0 0 A口 0 1 0 B口 1 0 0 C口 1 1 0 命令口 本實驗中8255編程為PB口、PC口、PA口均輸出,根據(jù)8255狀態(tài)控制字選擇方法。8255控制字應(yīng)為90H。 四、接線方案: 五、實驗說明: 因為本實驗是模擬交通燈控制實驗,所以要先了解實際交通燈的變化規(guī)律。假設(shè)一個十字路口為東西南北走向。初始狀態(tài)0南北綠燈通車,東西紅燈。過一段時間轉(zhuǎn)狀態(tài)1,南北綠燈閃幾次轉(zhuǎn)亮黃燈,東西仍然紅燈,延時兒秒。再轉(zhuǎn)狀態(tài)2,東西綠燈通車,南北紅燈。過一段時間轉(zhuǎn)狀態(tài)3,東西綠燈閃幾次轉(zhuǎn)亮黃燈,延時幾秒,南北仍然紅燈。最后循環(huán)至狀態(tài)0。

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!