版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、匯編語言與接口技術(shù)實驗報告 2012-2013學(xué)年 第1學(xué)期匯編語言與接口技術(shù)實驗報告學(xué) 院: 信息與電子工程學(xué)院 專 業(yè): 班 級: 學(xué) 號: 姓 名: 浙江科技學(xué)院2012-2013學(xué)年 第1學(xué)期實驗1 匯編語言程序設(shè)計一、實驗?zāi)康?. 熟悉MASM 6.11匯編語言程序開發(fā)環(huán)境。2. 掌握匯編語言程序的調(diào)試方法和常用的調(diào)試工具。二、實驗內(nèi)容1. 安裝MASM 6.11。2. 設(shè)在內(nèi)存中首地址為BLOCK的區(qū)域存有一批數(shù)據(jù):61H,84H,93H,0C4H,17H,0FFH,52H,2AH。分別按下列要求編寫匯編語言程序:(1) 視該批數(shù)據(jù)為8位無符號數(shù),采用冒泡法將其按升序排序;(2)
2、視該批數(shù)據(jù)為8位有符號數(shù),采用冒泡法將其按升序排序。三、實驗要求1. 根據(jù)實驗內(nèi)容編寫程序。2. 上機調(diào)試程序。3. 記錄并分析程序運行結(jié)果。開始四、程序說明和程序流程圖讀入數(shù)據(jù)N個計數(shù)N-1是N小于0否結(jié)束否是對比數(shù)據(jù)為第i個數(shù)據(jù)(初始i=0)i<7和第i+1個數(shù)據(jù)比較兩數(shù)交換位置i+1五、程序代碼1. 8位無符號數(shù)冒泡法排序程序如下:.model small.datan dw 8block db 61h,84h,93h,0c4h,17h,0ffh,52H,2ah.stack 60h.code.startupmov ax,datamov ds,axmov cx,ndec cxloop1
3、: mov dx,cxmov bx,0loop2: mov al,blockbxcmp al,blockbx+1jna continuexchg al,blockbx+1mov blockbx,alcontinue: add bx,1loop loop2mov cx,dxloop loop1.exitend2、8位有符號數(shù)冒泡排序程序如下.model small.datan dw 8block db 61h,84h,93h,0c4h,17h,0ffh,52H,2ah.stack 60h.code.startupmov ax,datamov ds,axmov cx,ndec cxloop1: m
4、ov dx,cxmov bx,0loop2: mov al,blockbxcmp al,blockbx+1jle continuexchg al,blockbx+1mov blockbx,alcontinue: add bx,1loop loop2mov cx,dxloop loop1.exitend六、程序運行結(jié)果及分析在命令行debug,反匯編找到初始程序入口0017查看cup寄存器的內(nèi)容實驗2 系統(tǒng)中斷接口實驗一、實驗?zāi)康?. 熟悉可編程中斷控制器8259A的使用方法。2. 掌握軟、硬件中斷的編程技術(shù)。二、實驗內(nèi)容1. 軟件中斷 自定義一個軟件中斷,中斷類型碼為78H。在中斷服務(wù)程序中,
5、完成ASCII碼到壓縮的BCD碼的轉(zhuǎn)換,ASCII碼內(nèi)存首地址為ASCADDR,長度為NUMBER,轉(zhuǎn)換后的BCD碼存放在以BCDADDR為首地址的存儲區(qū)中。2. 硬件中斷 設(shè)IRQ10 IRQ12(中斷類型號為72H74H)接外部硬件中斷源13,外部中斷源的中斷請求通過按數(shù)字鍵“1”“3”模擬產(chǎn)生。在中斷服務(wù)程序中顯示“Interrupt service routine n(n=13) is running”字樣。三、實驗要求1. 編寫主程序和中斷服務(wù)程序。2. 上機調(diào)試程序。3. 記錄并分析程序運行結(jié)果。四、程序說明和程序流程圖開始開始設(shè)置外部硬件中斷定義軟件中斷ASC壓縮否是否按數(shù)字鍵?
6、是否是否壓縮完成?顯示字樣是結(jié)束結(jié)束硬件中斷軟件中斷五、程序代碼實驗1代碼:dseg segment ascaddr db '0123456789'number db 10bcdaddr db 20 dup(?)dseg endscseg segment assume cs:cseg,ds:dsegstart: push ds xor ax,ax push ax mov ax,seg asc_bcd mov ds,ax mov dx,offset asc_bcd mov ax,2578h int 21h int 78h retfasc_bcd proc mov ax,dseg
7、mov ds,ax mov si,offset ascaddr mov di,offset bcdaddr mov ch,number shr ch,1 mov cl,4cont: mov ax,si and al,0fh shl ah,cl or al,ah mov di,al add si,2 inc di dec ch jnz cont iretasc_bcd endpcseg ends end start實驗2代碼:dseg segment disp1 db 'Interrupt service routine 1 is running.',0ah,0dh,'$
8、'disp2 db 'Interrupt service routine 2 is running.',0ah,0dh,'$'disp3 db 'Interrupt service routine 3 is running.',0ah,0dh,'$'dseg endscseg segment assume cs:cseg,ds:dsegstart: push ds xor ax,ax push ax mov ax,seg isradd1 mov ds,ax mov dx,offset isradd1 mov ax,2572
9、h int 21h mov ax,seg isradd2 mov ds,ax mov dx,offset isradd2 mov ax,2573h int 21h mov ax,seg isradd3 mov ds,ax mov dx,offset isradd3 mov ax,2574h int 21h in al,0a1h and al,11100011b out 0a1h,alkeyin: mov ah,0 int 16h cmp al,'1' jz serve1 cmp al,'2' jz serve2 cmp al,'3' jz ser
10、ve3 cmp al,'q' jz exit jmp keyinserve1: int 72h jmp keyinserve2: int 73h jmp keyinserve3: int 74h jmp keyinexit: retfisradd1 proc push ds push ax mov ax,seg disp1 mov ds,ax mov dx,offset disp1 mov ah,9 int 21h ; mov al,20h ; out 0a0h,al pop ax pop ds iretisradd1 endpisradd2 proc push ds push
11、 ax mov ax,seg disp2 mov ds,ax mov dx,offset disp2 mov ah,9 int 21h ; mov al,20h ; out 0a0h,al pop ax pop ds iretisradd2 endpisradd3 proc push ds push ax mov ax,seg disp3 mov ds,ax mov dx,offset disp3 mov ah,9 int 21h ; mov al,20h ; out 0a0h,al pop ax pop ds iretisradd3 endpcseg ends end start六、程序運行
12、結(jié)果及分析實驗1內(nèi)存結(jié)果實驗2:實驗3 鍵盤接口實驗一、實驗?zāi)康?. 了解鍵盤接口的工作原理。2. 掌握直接在硬件基礎(chǔ)上編寫鍵盤處理程序的方法。3. 熟悉鍵盤的BIOS和DOS功能調(diào)用。二、實驗內(nèi)容設(shè)計一個中斷方式的用戶鍵盤處理程序,其功能是直接從數(shù)據(jù)端口(8255的PA端口,地址為60H)讀取鍵盤的掃描碼,并通過換碼指令XLAT將掃描碼轉(zhuǎn)換為ASCII字符顯示在屏幕上。當(dāng)程序運行時,可通過鍵入ESC鍵,使鍵盤的管理在用戶鍵盤處理程序和系統(tǒng)鍵盤處理程序(INT 09H)之間進行切換。三、實驗要求1. 編寫主程序和中斷服務(wù)程序。2. 上機調(diào)試程序。3. 記錄并分析程序運行結(jié)果。四、程序說明和程序
13、流程圖鍵盤掃描有鍵閉合延時去鍵抖動掃描鍵盤找到閉合鍵計算鍵值建立有效標(biāo)志閉合鍵釋放建立有效標(biāo)志返回五、主程序和中斷服務(wù)程序代碼cseg segment org 100h assume cs:csegstart: jmp installflag db 0oldint dd ?scantab db 0,0,'1234567890-=',08h,0 db 'QWERTYUIOP',0dh,0 db 'ASDFGHJKL;',0,0,0,0 db 'ZXCVBNM,./',0,0,0,20h db 13 dup(0) db '78
14、9-456+1230#'kbint: push ax push bx push ds push cs pop ds sti mov bx,offset scantab in al,60h test al,80h jnz keyend push ax in al,61h or al,80h out 61h,al and al,7fh out 61h,al pop ax cmp al,01h jnz disp inc flagdisp: test flag,01h jz user pop ds pop bx pop ax jmp cs:oldintuser: xlat cmp al,0 j
15、z keyend mov ah,14 int 10h mov al,0dh int 10h mov al,0ah int 10hkeyend: mov al,20h out 20h,al pop ds pop bx pop ax iretinstall:cli push cs pop ds mov ax,3509h int 21h cmp bx,offset kbint jnz load int 20hload: mov word ptr oldint,bx mov word ptr oldint+2,es mov dx,offset kbint mov ax,2509h int 21h in
16、 al,21h and al,11111101b out 21h,al sti mov dx,offset install int 27hcseg ends end start六、程序運行結(jié)果及分析1.當(dāng)執(zhí)行程序后,輸入小寫字母顯示大寫,鍵入ESC后切換到操作系統(tǒng)自己的中斷,輸入小寫顯示小寫。實驗4 顯示器接口實驗一、實驗?zāi)康?. 了解顯示器接口的工作原理。2. 熟悉顯示器的BIOS和DOS功能調(diào)用。二、實驗內(nèi)容在屏幕上顯示一張移動的“笑臉”?!靶δ槨弊址腁SCII碼為01H或02H,要使“笑臉”動起來,可按如下步驟編程:1. 屏幕上顯示“笑臉”;2. 延遲一段時間;3. 清除“笑臉”(可用
17、清除部分屏幕或在“笑臉”位置顯示空字符的方法實現(xiàn));4. 改變“笑臉”的行、列坐標(biāo);5. 返回第1步,重復(fù)上述過程。三、實驗要求1. 根據(jù)實驗內(nèi)容編寫程序。2. 上機調(diào)試程序。3. 記錄并分析程序運行結(jié)果。四、程序說明和程序流程圖開始在屏幕上顯示笑臉延遲一段時間清除笑臉改變笑臉的行、列坐標(biāo)是是否返回?否結(jié)束五、程序代碼stack segment db 256 dup(1)stack endscode segmentmove_face proc far assume cs:code,ds:stackstart: push ds sub ax,ax push ax mov ah,15 int 10
18、h mov ah,0 mov al,1 int 10h mov cx,1 mov dx,0 stimove_cursor: mov ah,2 int 10h mov al,1 mov ah,10 int 10h call delay sub al,al mov ah,10 int 10h inc dh inc dl cmp dh,25h jne move_cursor retmove_face endpdelay proc push bx push cx push dx mov ah,0 int 1ah add dx,9 mov bx,dxredo: int 1ah cmp dx,bx jne
19、 redo pop dx pop cx pop bx retdelay endpcode ends end六、程序運行結(jié)果及分析實驗5 串行通信接口實驗一、實驗?zāi)康?. 熟悉可編程串行通信接口8250A的使用方法。2. 掌握串行通信接口的編程技術(shù)。二、實驗內(nèi)容1. 兩臺微機利用COM1(串行口1)進行查詢式通信,可采用三線式連接方法。雙機通信的要求如下:7位數(shù)據(jù)位、偶校驗、1位停止位、波特率為9600;雙機同時運行通信程序,一方鍵入的字符在另一方的屏幕上顯示,當(dāng)按下字符'q'時,結(jié)束通信返回DOS。2. 用中斷方式實現(xiàn)上述1的功能。3. 用BIOS調(diào)用發(fā)送和接收字符。三、實驗要
20、求1. 編寫查詢式通信程序。2. 編寫中斷式通信程序。3. 編寫用BIOS調(diào)用實現(xiàn)的自發(fā)自收的通信程序。4. 上機調(diào)試程序。5. 記錄并分析程序運行結(jié)果。初始化8250四、程序說明和程序流程圖讀LSR再次發(fā)送D5=1?YN發(fā)送一個字符N發(fā)送完畢?Y暫時結(jié)束查詢方式發(fā)送初始化8250讀LSR再次驗收YYND4D1=0?D0=1?接收一個字符接收完畢?暫時結(jié)束處理錯誤NYN查詢方式驗收五、程序代碼實驗1代碼:scom segment para stack 'scom' db 256 dup(0)scom endsdcom segment db 50 dup(?)dcom endsc
21、com segment para public 'ccom'start proc far assume cs:ccom,ss:scom,ds:dcom push ds xor ax,ax push ax mov dx,3fbh mov al,10000000b out dx,al mov dx,3f8h mov al,0ch out dx,al inc dx mov al,0 out dx,al mov dx,3fbh mov al,00011010b out dx,al inc dx mov al,00010011b out dx,al mov dx,3f9h mov al,0 out dx,alcont: mov dx,3fdh in al,dx test al,00011110b jnz error test al,00000001b jnz delre test al,00100000b jz cont mov ah,1 int 16h jz cont mov ah,0 int 16h cmp al,'q' jz return mov dx,3f8h out dx,al jmp contdelre: mov dx,3f8h in al,dx and al,01111111b push ax mov bl,0 mov ah,0eh in
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人抵押貸款協(xié)議模板(2024年修訂版)版
- 二零二五年度土地開發(fā)承包借款合同標(biāo)準(zhǔn)格式3篇
- 二零二五年度承臺施工安全應(yīng)急救援預(yù)案合同4篇
- 二零二五年度車輛收費員突發(fā)事件應(yīng)對與應(yīng)急預(yù)案協(xié)議材料4篇
- 二零二五年度陶瓷文化體驗館代理合作協(xié)議3篇
- 二零二五年度拍賣企業(yè)信息安全保密合同
- 2025年個人向餐飲公司借款合同范例匯編2篇
- 二零二五年度智慧社區(qū)PPP項目合作協(xié)議6篇
- 2025至2030年中國光量子血液治療機數(shù)據(jù)監(jiān)測研究報告
- 2025至2031年中國限位行程開關(guān)行業(yè)投資前景及策略咨詢研究報告
- 《新生兒預(yù)防接種》課件
- 中國減肥連鎖行業(yè)市場調(diào)查研究及投資戰(zhàn)略研究報告
- 2025年1月八省聯(lián)考高考綜合改革適應(yīng)性測試-高三化學(xué)(陜西、山西、寧夏、青海卷) 含解析
- 2024年03月內(nèi)蒙古中國銀行內(nèi)蒙古分行春季校園招考筆試歷年參考題庫附帶答案詳解
- 大學(xué)生職業(yè)規(guī)劃大賽生涯發(fā)展報告
- 幼兒園小班下學(xué)期期末家長會PPT模板
- 礦山安全培訓(xùn)課件-地下礦山開采安全技術(shù)
- 維克多高中英語3500詞匯
- 幼兒教師干預(yù)幼兒同伴沖突的行為研究 論文
- 湖南省省級溫室氣體排放清單土地利用變化和林業(yè)部分
- simotion輪切解決方案與應(yīng)用手冊
評論
0/150
提交評論