版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、 . . 1/19實驗一數(shù)據(jù)傳送 實驗目的 : 1. 熟悉 8086 指令系統(tǒng)的數(shù)據(jù)傳送指令與 8086 的尋址方式。 2. 利用 Turbo Debugger 調(diào)試工具來調(diào)試匯編語言程序。 實驗任務 : 1通過下述程序段的輸入和執(zhí)行來熟悉 Turbo Debugger 的使用,并通過顯示器屏幕觀察程序的執(zhí)行情況。練習程序段如下: MOV BL , 08H MOV CL , BL MOV AX , 03FFH MOV BX , AX MOV DS : 0020H , BX 2用以下程序段將一組數(shù)據(jù)壓入( PUSH )堆棧區(qū),然后通過不同的出棧順序出棧,觀察出棧后數(shù)據(jù)的變化情況。壓棧程序段如下:
2、 MOV AX , 0102H MOV BX , 0304H MOV CX , 0506H MOV DX , 0708H PUSH AX PUSH BX PUSH CX PUSH DX 出棧程序段請自行編寫(用不同的出棧順序)。 3. 指出下列指令的錯誤并加以改正,上機驗證之。 (1) MOV BX , SI (2) MOV AH , BX (3) MOV AX , SIDI (4) MOV BYTE PTRBX , 2000H (5) MOV CS , AX (6) MOV DS , 2000H 4. 設置各寄存器與存儲單元的容如下: (BX) 0010H , (SI) 0001H (100
3、10H) 12H , (10011H) 34H , (10012H) 56H , (10013H) 78H (10120H) 0ABH , (10121H) 0CDH , (10122H) 0EFH 說明下列各條指令執(zhí)行完后AX 寄存器中的容,并上機驗證。 (1) MOV AX , 1200H (2) MOV AX , BX (3) MOV AX , 0120H (4) MOV AX , BX (5) MOV AX , 0110HBX (6) MOV AX , BXSI (7) MOV AX , 0110HBXSI 5. 將 DS : 1000H 字節(jié)存儲單元中的容送到 DS : 2020H
4、單元中存放。試分別用 8086 的直接尋址、寄存器間接尋址、變址尋址、寄存器相對尋址傳送指令編寫程序段,并上機驗證結果。 6. 設 AX 寄存器中的容為 1111H , BX 寄存器中的容為 2222H , DS : 0010H 單元中的容為 3333H 。將 AX 寄存器中的容與 BX 寄存器中的容交換,然后再將 BX 寄存器中的容與 DS : 0010H 單元中的容進行交換。試編寫程序段,并上機驗證結果。 7. 設 (DS) 1000H , (ES) 2000H ,有關存儲器的容如圖 1.5 所示。要求將 DS 段的容傳送到 AX 寄存器, ES 段的容傳送到 BX 寄存器,試編寫程序段。
5、DS : 1000H .0FFH0EEH .ES : 2000H 0DDH0CCH.圖 1 第 7 題圖 實驗報告要求 : 1. 寫明本次實驗容和實驗步驟。 2. 整理出運行正確的各題源程序段和運行結果。 3. 寫出第 3 題中改正后的正確指令。 4. 小結 Turbo Debugger 的使用方法。實驗二 算術邏輯運算與移位操作 實驗目的 : 1熟悉算術邏輯運算指令和移位指令的功能。 2了解標志寄存器各標志位的意義和指令執(zhí)行對它的影響。 實驗預習要求: 1復習 8086 指令系統(tǒng)中的算術邏輯類指令和移位指令。 2按照題目要求在實驗前編寫好實驗中的程序段。 實驗任務: 1. 實驗程序段與結果表
6、格如表 2 : 表 2 標志位 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 程序段 2 : MOV AX, 0A 0AH ADD AX, 0FFFFH MOV CX, 0FF00H ADC AX, CX SUB AX, AX INC AX OR CX, 0FFH AND CX, 0F 0FH MOV 10H, CX 0 0 0 0
7、 0 0 程序段 3 : MOV BL, 25H MOV BYTE PTR10H, 4 MOV AL, 10H MUL BL 0 0 0 0 0 0 程序段 4 : MOV WORD PTR10H,80H MOV BL, 4 MOV AX, 10H DIV BL 0 0 0 0 0 0 程序段 5 : MOV AX, 0 DEC AX ADD AX, 3FFFH ADD AX, AX NOT AX SUB AX, 3 OR AX, 0FBFDH AND AX, 0AFCFH SHL AX , 1 RCL AX , 1 0 0 0 0 0 0 2用 BX 寄存器作為地址指針,從 BX 所指的存單
8、元 (0010H) 開始連續(xù)存入三個無符號數(shù) (10H 、 04H 、 30H) ,接著計算存單元中的這三個數(shù)之和,和放在 0013H 單元中,再求出這三個數(shù)之積,積放 0014 單元中。寫出完成此功能的程序段并上機驗證結果。 3寫出完成下述功能的程序段。上機驗證你寫出的程序段,程序運行的最后結果 (AX) ? (1) 傳送 15H 到 AL 寄存器; (2) 再將 AL 的容乘以 2 ; (3) 接著傳送 15H 到 BL 寄存器; (4) 最后把 AL 的容乘以 BL 的容。 4寫出完成下述功能的程序段。上機驗證你寫出的程序段,程序運行后的商 ? (1) 傳送數(shù)據(jù) 2058H 到 DS :
9、 1000H 單元中,數(shù)據(jù) 12H 到 DS : 1002H 單元中; (2) 把 DS : 1000H 單元中的數(shù)據(jù)傳送到 AX 寄存器; (3) 把 AX 寄存器的容算術右移二位; (4) 再把 AX 寄存器的容除以 DS : 1002H 字節(jié)單元中的數(shù); (5) 最后把商存入字節(jié)單元 DS :1 003H 中。 5下面的程序段用來清除數(shù)據(jù)段中從偏移地址 0010H 開始的 12 個字存儲單元的容(即將零送到這些存儲單元中去)。 (1) 將第 4 條比較指令語句填寫完整(劃線處)。 MOV SI , 0010H NEXT : MOV WORD PTRSI , 0 ADD SI , 2 CM
10、P SI , JNE NEXT HLT (2) 假定要按高地址到低地址的順序進行清除操作(高地址從 0020H 開始),則上述程序段應如何修改? 上機驗證以上兩個程序段并檢查存儲單元的容是否按要求進行了改變。 6. 輸入并運行表 3 中的程序段,把結果填入表右邊的空格中,并分析結果,說明本程序段的功能是什么。 表 3 程序段 字單元 ( 1A 00H)= 字單元 ( 1A 02H)= MOV 1A 00H, 0AA55H MOV 1A 02H, 2AD5H SHL WORD PTR 1A 02H,1 CMP 1A 00H, 8000H CMC RCL WORD PTR 1A 02H,1 RCL
11、 WORD PTR 1A 00H,1 實驗報告要求 1.整理出完整的實驗程序段和運行結果。 2.回答題目中的問題。 3. 簡要說明 ADD 、 SUB 、 AND 、 OR 指令對標志位的影響。 4. 簡要說明一般移位指令與循環(huán)移位指令之間的主要區(qū)別。 實驗三串操作實驗目的: 1熟悉串操作指令的功能。 2了解串操作指令的使用方法。 實驗預習要求; 1復習 8086 指令系統(tǒng)中的串操作類指令。 2按照題目要求在實驗前編寫好實驗中的程序段。 實驗任務 : 1. 輸入以下程序段并運行之,回答后面的問題。 CLD MOV DI , 1000H MOV AX , 55AAH MOV CX , 10H R
12、EP STOSW 上述程序段執(zhí)行后: (1) 從 DS : 1000H 開始的 16 個字單元的容是什么? (2) ( DI ) = ?( CX ) = ?,并解釋其原因。 2.在上題的基礎上,再輸入以下程序段并運行之,回答后面的問題。 MOV SI , 1000H MOV DI , 2000H MOV CX , 20H REP MOVSB 程序段執(zhí)行后: (1) 從 DS : 2000H 開始的 16 個字單元的容是什么? (2) ( SI ) = ?( DI ) = ?( CX ) = ?,并分析之。 3.在以上兩題的基礎上,再輸入以下三個程序段并依次運行之。 程序段 1 : MOV SI
13、 , 1000H MOV DI , 2000H MOV CX , 10H REPZ CMPSW 程序段 1 執(zhí)行后: (1) ZF= ? 根據(jù) ZF 的狀態(tài),你認為兩個串是否比較完了? (2) ( SI ) = ?( DI ) = ?( CX ) = ?,并分析之。 程序段 2 : MOV 2008H , 4455H MOV SI , 1000H MOV DI , 2000H MOV CX , 10H REPZ CMPSW 程序段 2 執(zhí)行后: (1) ZF= ? 根據(jù) ZF 的狀態(tài),你認為兩個串是否比較完了? (2) ( SI ) = ?( DI ) = ?( CX ) = ?,并分析之。
14、程序段 3 : MOV AX , 4455H MOV DI , 2000H MOV CX , 10H REPNZ SCASW 程序段 3 執(zhí)行后: (1) ZF= ? 根據(jù) ZF 的狀態(tài),你認為在串中是否找到了數(shù)據(jù) 4455H ? (2) ( SI ) = ?( DI ) = ?( CX ) = ?,并分析之。 4. 從 DS : 1000H 開始存放有一個字符串 ”This is a string” ,要求把這個字符串從后往前傳送到 DS : 2000H 開始的存區(qū)域中(即傳送結束后,從 DS : 2000H 開始的存單元的容為 ”gnirts a si sihT” ),試編寫程序段并上機驗
15、證之。 實驗報告要求 : 1.整理出完整的實驗程序段和運行結果,對結果進行分析。 2.簡要說明執(zhí)行串操作指令之前應初始化哪些寄存器和標志位。 3.總結串操作指令的用途與使用方法。實驗四字符與字符串的輸入和輸出實驗目的 : 1熟悉如何進行字符與字符串的輸入輸出。 2掌握簡單的 DOS 系統(tǒng)功能調(diào)用。 實驗預習要求 : 1復習系統(tǒng)功能調(diào)用的 1 、 2 、 9 、 10 號功能。 2按照題目要求預先編寫好實驗中的程序段。 實驗任務 : 1. 輸入以下程序段并用 F8 鍵單步運行,執(zhí)行 INT 21H 指令時,在鍵盤上按“ 5 ”鍵。 MOV AH , 1 INT 21H (1) 運行結束后,( A
16、L ) = ?它是哪一個鍵的 ASCII 碼? (2) 重復運行以上程序段,并分別用“ A ”、“ B ”、“ C ”、“ D ”鍵代替“ 5 ” 鍵,觀察運行結果有何變化? 2. 在 DS : 1000H 開始的存區(qū)域設置如下鍵盤緩沖區(qū): DS : 1000H 5 , 0 , 0 , 0 , 0 , 0 , 0 然后輸入以下程序段并用 F8 鍵單步運行,執(zhí)行 INT 21H 指令時,在鍵盤上鍵入“ 5 ”、“ 4 ”、“ 3 ”、“ 2 ”、“ 1 ”、回車這六個鍵。 LEA DX , 1000H MOV AH , 0AH INT 21H 程序段運行完后,檢查 DS : 1000H 開始的存
17、區(qū)域: (1) DS : 1001H 單元的容是什么?它表示了什么含義? (2) 從 DS : 1002H 開始的存區(qū)域中的容是什么?其中是否有字符“ 1 ” 的 ASCII 碼?為什么? 3. 輸入以下程序段并運行之。 MOV DL , A MOV AH , 2 INT 21H (1) 觀察屏幕上的輸出,是否顯示了“ A ”字符? (2) 分別用“ # ”、“ X ”、“ Y ”、“ $ ”、“ ? ”代替程序段中的“ A ”字符,觀察屏幕上的輸出有何變化。 (3) 分別用 0DH 、 0AH 代替程序段中的“ A ”字符,觀察屏幕上的輸出有何變化。 (4) 用 07H 代替程序段中的“ A
18、 ”字符,觀察屏幕上有無輸出?計算機的揚聲器是否發(fā)出“嗶”的聲音? 4. 要在屏幕上顯示一個字符串“ Hello, world ”,寫出該字符串變量的定義語句和顯示這個字符串的程序段。上機驗證之。 5. 按 6 行 16 列的格式順序顯示 ASCII 碼為 20H 到 7FH 之間的所有字符,即每 16 個字符為一行,共 6 行。每行中相鄰的兩個字符之間用空格字符分隔開。試編寫程序段并上機運行驗證。提示:程序段包括兩層循環(huán),循環(huán)次數(shù)為 16 ,每次循環(huán)顯示一個字符和一個空格字符;外循環(huán)次數(shù)為 6 ,每個外循環(huán)顯示一行字符并顯示一個回車符( 0DH )和一個換行符( 0AH )。 實驗報告要求
19、: 1. 整理出運行完整的實驗程序和運行結果。 2. 回答題目中的問題。 3. 說明系統(tǒng)功能調(diào)用的 10 號功能對鍵盤緩沖區(qū)格式上有何要求。 4. 1 、 2 、 9 、 10 號功能的輸入輸出參數(shù)有哪些?分別放在什么寄存器中? 5. 總結一下,如何實現(xiàn)字符與字符串的輸入輸出。實驗五分支與循環(huán)程序設計實驗目的 : 1. 學習提示信息的顯示與鍵盤輸入字符的方法。 2. 掌握分支程序和循環(huán)程序的設計方法。 實驗預習要求 : 1. 復習比較指令、轉移指令、循環(huán)指令的用法。 2. 根據(jù)編程提示,編出匯編語言源程序。 3. 有興趣的同學請編寫出實驗習題中的程序。 分支程序和循環(huán)程序簡介 : 1. 分支程
20、序是根據(jù)不同條件執(zhí)行不同處理過程的程序。分支程序的結構有兩種:種是二分支,種是多分支。它們的共同特點是在滿足某一條件時,將執(zhí)行多個分支中的某分支。 2. 循環(huán)程序 實驗容 :在屏幕上顯示提示信息“ Please input 10 numbers: ”,提示用戶輸入 10 個數(shù)(數(shù)的圍在 0 99 之間),然后從鍵盤上讀入這 10 個數(shù)。接著對這 10 個數(shù)從小到大進行排序,并統(tǒng)計 0 59 、 60 79 、 80 99 的數(shù)各有多少。最后在屏幕上顯示排序后的數(shù)(每個數(shù)之間用逗號分隔)并顯示統(tǒng)計的結果。顯示格式如下: Sorted numbers: xx,xx,xx,xx,xx,xx,xx,x
21、x,xx,xx 0-59: xx 60-79: xx 80-99: xx 實驗習題 : 1. 從鍵盤輸入任意一個字符串,統(tǒng)計其中不同字符出現(xiàn)的次數(shù)(不分大小寫),并把結果顯示在屏幕上。 2. 從鍵盤分別輸入兩個字符串,若第二個字符串包含在第一個字符串中則顯示 MATCH ,否則顯示 NO MATCH 。 實驗報告要求 : 1. 整理出完整的實驗程序。 2. 總結一下編制分支程序和循環(huán)程序的要點。 3. (選做)在實驗習題 1 和實驗習題 2 中任選一個,編寫程序并上機驗證。實驗六 交通燈實驗實驗要求編寫程序,以8255作為輸出口,控制4個雙色LED燈(可發(fā)紅,綠,黃光),模擬十字路口交通燈管理
22、。實驗目的學習在PC機系統(tǒng)中擴展簡單I/O接口的方法。進一步學習編制數(shù)據(jù)輸出程序的設計方法。學習模擬交通燈控制的方法。學習雙色燈的使用。實驗電路與連線PC0PC3連DR1DR4,PC4PC7連DG1DG4。CS55連218H21FH孔。實驗說明1因為本實驗是模擬交通燈控制實驗,所以要先了解實際交通燈的變化規(guī)律。假設一個十字路口為東西南北走向。初始狀態(tài)0為東西、南北均為紅燈。然后轉狀態(tài)1南北綠燈通車,東西紅燈。過一段時間轉狀態(tài)2,南北綠燈閃幾次轉亮黃燈,延時幾秒,東西仍然紅燈。再轉狀態(tài)3,東西綠燈通車,南北紅燈。過一段時間轉狀態(tài)4,東西綠燈閃幾次轉亮黃燈,延時幾秒,南北仍然紅燈。最后循環(huán)至狀態(tài)1
23、。2雙色LED是由一個紅色LED管芯和一個綠色LED管芯封裝在一起,公用負端。當紅色正端加高電平,綠色正端加低電平時,紅燈亮;當紅色正端加低電平,綠色正端加高電平時,綠燈亮;兩端都加高電平時,黃燈亮.實驗程序框圖由于各PC機速度不一樣,可適當調(diào)節(jié)偽指令D1,D2的值,使實驗效果更佳。初始化設置8255各口為輸出清LED四燈全紅,延時南北綠燈,東西紅燈,延時綠燈閃三次南北黃燈,延時南北紅燈,東西綠燈,延時綠燈閃三次東西黃燈,延時返回DOSN有鍵按下Y六思考題編寫程序,使所有黃燈閃爍(每秒閃爍一次,閃三次)。實驗七、D/A轉換實驗實驗要求用鍵盤輸入來控制D/A輸出的波形,程序應能輸出鋸齒波、三角波、方波和正弦波。實驗目的掌握DAC0832芯片的4性能、使用方法與對應的硬件電路。了解D/A轉換的基本原理。實驗電路與連線四.實驗說明D/A轉換是把數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度紅磚采購合同-紅磚深加工產(chǎn)品定制協(xié)議
- 二零二五年度女鞋品牌推廣與廣告投放合同
- 2025-2030全球工業(yè)廢液處理行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國電動式高壓無氣噴涂機行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 二零二五年度精裝修住房出租與家庭安防監(jiān)控租賃合同3篇
- 醫(yī)院裝修專業(yè)工人合同
- 二零二五年度金融科技產(chǎn)品開發(fā)合同要求3篇
- 食品配送公司轉讓合同
- 環(huán)保工程項目轉讓居間合同
- 土地承包合同解除協(xié)議
- 2025-2030年中國納米氧化鋁行業(yè)發(fā)展前景與投資戰(zhàn)略研究報告新版
- 2025年度正規(guī)離婚協(xié)議書電子版下載服務
- 2025年貴州蔬菜集團有限公司招聘筆試參考題庫含答案解析
- 煤礦安全生產(chǎn)方針及法律法規(guī)課件
- 2025年教科室工作計劃樣本(四篇)
- 2024年版古董古玩買賣合同:古玩交易稅費及支付規(guī)定
- 【7歷期末】安徽省宣城市2023-2024學年七年級上學期期末考試歷史試題
- 春節(jié)后安全生產(chǎn)開工第一課
- 2025光伏組件清洗合同
- 電力電纜工程施工組織設計
- 2024年網(wǎng)格員考試題庫完美版
評論
0/150
提交評論