




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上實(shí)驗(yàn)一 初級(jí)程序的編寫(xiě)與調(diào)試實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?1) 掌握匯編語(yǔ)言程序設(shè)計(jì)的基本方法和技能;(2) 熟練掌握使用全屏幕編輯程序EDIT編輯匯編語(yǔ)言源程序;(3) 熟練掌握宏匯編程序MASM的使用;(4) 熟練掌握鏈接程序LINK的使用。二、實(shí)驗(yàn)要求(1) 掌握匯編語(yǔ)言程序設(shè)計(jì)上機(jī)過(guò)程;(2) 回答思考問(wèn)題;(3) 記錄實(shí)驗(yàn)結(jié)果。三、實(shí)驗(yàn)內(nèi)容編寫(xiě)一個(gè)名字為ABC.ASM的源程序,該程序的功能是在計(jì)算機(jī)屏幕上顯示一個(gè)字符串“HELLO!”。四、實(shí)驗(yàn)提示按以下操作步驟進(jìn)行實(shí)驗(yàn)。(1) 編輯源程序利用Windows XP操作系統(tǒng)附件中的“記事本”或者DOS編輯器編寫(xiě)如下源程序:
2、DATASEGMENTS1DB'HELLO!','$'DATAENDSSTACKSEGMENTPARA STACKDB 64 DUP(?)STACKENDSCODESEGMENTMAIN PROC FARASSUMECS:CODE,DS:DATA,SS:STACKSTART:PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV AH,09H MOV DX,OFFSET S1 INT 21HRETMAIN ENDPCODE ENDS END START把程序保存在d:/m
3、asm5文件夾下。(2) 匯編windows環(huán)境下通過(guò)開(kāi)始運(yùn)行輸入CMD回車(進(jìn)入DOS系統(tǒng))輸入D:回車輸入CD空格MASM5(進(jìn)入D盤(pán)下MASM5然見(jiàn)的根目錄)。在光標(biāo)處輸入MASM 文件名,回車進(jìn)行編譯。(例如文件名為abc.asm則執(zhí)行的操作為:d:masm5>masm abc.asm)執(zhí)行上述操作命令之后將在屏幕上顯示如下信息:Microsoft(R) Macro Assembler Version 5.00Copyright(C) Microsoft Corp 1981-1985,1987.All rights reservedObject filenameABCD.OBJ:
4、¿Source listingNUL.LST:¿Cross referenceNUL.CRF:¿50678 + Bytes symbol space free0 warning Errors0 Severe Errors在匯編過(guò)程中產(chǎn)生了三個(gè)文件,其默認(rèn)的文件名顯示在屏幕上,如果不需要做任何改變就直接按Enter鍵。通過(guò)屏幕上的顯示,可以了解到在本次匯編過(guò)程中沒(méi)有發(fā)生錯(cuò)誤和警告,因此可以繼續(xù)進(jìn)行鏈接操作。(3) 鏈接在光標(biāo)處輸入LINK 文件名,回車進(jìn)行鏈接。執(zhí)行上述命令后將在屏幕上顯示如下信息:Microsoft(R) Overlay Linker Versio
5、n 3.6Copyright(C) Mirosoft Corp 1983-1987.All rights reservedRun FileABCD.EXEList FileNUL.MAP:Libraries.LIB:在鏈接過(guò)程中產(chǎn)生了兩個(gè)文件,其默認(rèn)的文件名顯示在屏幕上,如果不需要做任何改變就直接按回車鍵。對(duì)于庫(kù)文件一欄,如果不需要使用庫(kù)文件,可以直接按Enter鍵;如果需要使用庫(kù)文件,則要求輸入所使用的庫(kù)文件名字。(4) 運(yùn)行在光標(biāo)處輸入文件名,回車運(yùn)行可執(zhí)行文件。在屏幕上輸入ABC.EXE回車就可以看到“HELLO!”的字樣了。五、實(shí)驗(yàn)報(bào)告 (1) 畫(huà)出程序流程圖;(2) 調(diào)試說(shuō)明包括上機(jī)
6、調(diào)試的情況、上機(jī)調(diào)試步驟、調(diào)試過(guò)程中所遇到的問(wèn)題是如何解決的,并對(duì)調(diào)試過(guò)程中的問(wèn)題進(jìn)行分析,對(duì)執(zhí)行結(jié)果進(jìn)行分析。六、思考題(1) 匯編過(guò)程中 MASM ABC和 MASM ABC.ASM的結(jié)果是否一致。(2) 鏈接過(guò)程中 LINK ABC和LINK ABC.OBJ的結(jié)果是否一致。實(shí)驗(yàn)二 字符輸入輸出及字符串顯示實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?1) 熟練掌握微機(jī)匯編語(yǔ)言源程序的編輯、匯編、鏈接和執(zhí)行等過(guò)程。(2) 深入理解DOS系統(tǒng)功能調(diào)用的過(guò)程。(3) 學(xué)會(huì)用常用的DOS系統(tǒng)功能調(diào)用編寫(xiě)程序。二、實(shí)驗(yàn)內(nèi)容(1) 輸入一個(gè)小寫(xiě)字母顯示它對(duì)應(yīng)的大寫(xiě)字母。(2) 輸入一個(gè)字符,若是R就返回DOS,否則在屏幕上顯示
7、該字符。(3) 在屏幕上顯示一個(gè)字符串:Welcome to microcomputer laboratory!三、實(shí)驗(yàn)要求(1) 實(shí)驗(yàn)前要作好充分準(zhǔn)備,編輯好源程序,考慮清楚運(yùn)行步驟。(2) 本實(shí)驗(yàn)要求在PC機(jī)上進(jìn)行。四、編程提示(1) 程序核心提示關(guān)鍵是找出小寫(xiě)字母和大寫(xiě)字母之間的聯(lián)系。要顯示一個(gè)字符,其實(shí)計(jì)算機(jī)處理的是它的ASCII碼。由ASCII碼表可知26個(gè)小寫(xiě)字母az的ASCII碼分別為61h7Ah,26個(gè)大寫(xiě)字母AZ的ASCII碼分別為41h5Ah,因此小寫(xiě)字母比對(duì)應(yīng)的大寫(xiě)字母的ASCII碼大20h,也就是說(shuō)小寫(xiě)字母的ASCII碼減少20h就可以得到對(duì)應(yīng)的大寫(xiě)字母的ASCII碼了
8、。還要排除一些特殊的情況:例如,輸入的不是小寫(xiě)字母。這就要在轉(zhuǎn)化之前作一個(gè)判斷,若不是小寫(xiě)字母的字符,則跳轉(zhuǎn)的程序執(zhí)行的開(kāi)始處,重新接收鍵盤(pán)的輸入。(2) 程序選擇分支判斷 程序出現(xiàn)分支時(shí),要注意程序的走向,注意兩路分支是否可以合并。 在每次輸入字符時(shí),考慮添加回車或換行符。(3) 程序結(jié)束處理提示返回DOS狀態(tài)可以用4CH號(hào)功能調(diào)用。即:MOV AH,4CHINT 21H五、實(shí)驗(yàn)報(bào)告(1) 程序說(shuō)明說(shuō)明程序的功能、結(jié)構(gòu)。包括:程序名、功能、算法說(shuō)明、主要符號(hào),并對(duì)所用到的寄存器、功能調(diào)用號(hào)進(jìn)行說(shuō)明。(2) 調(diào)試說(shuō)明包括上機(jī)運(yùn)行的情況、上機(jī)調(diào)試步驟、調(diào)試過(guò)程中所遇到的問(wèn)題是如何解決的,并對(duì)調(diào)試
9、過(guò)程中的問(wèn)題進(jìn)行分析,對(duì)執(zhí)行結(jié)果進(jìn)行分析。(3) 畫(huà)出程序流程圖。(4) 寫(xiě)出程序和執(zhí)行過(guò)程清單。六、思考題如果給出Welcome to microcomputer laboratory!,要求寫(xiě)出相應(yīng)的機(jī)器代碼,怎樣實(shí)現(xiàn),與本次實(shí)驗(yàn)對(duì)應(yīng)什么關(guān)系?分析其具體過(guò)程并畫(huà)出程序流程圖。實(shí)驗(yàn)六 存儲(chǔ)器讀寫(xiě)實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?1) 掌握PC機(jī)外存擴(kuò)展的方法。(2) 熟悉6264芯片的接口方法。(3) 掌握8086十六位數(shù)據(jù)存儲(chǔ)的方法 。二、實(shí)驗(yàn)內(nèi)容向02000020FFH單元的偶地址送入AAH,奇地址送入55H。三、實(shí)驗(yàn)原理介紹本實(shí)驗(yàn)用到存儲(chǔ)器電路。四、實(shí)驗(yàn)步驟(1) 實(shí)驗(yàn)接線:本實(shí)驗(yàn)無(wú)需接線。(2) 編
10、寫(xiě)調(diào)試程序。(3) 運(yùn)行實(shí)驗(yàn)程序,可采取單步、設(shè)置斷點(diǎn)方式,打開(kāi)內(nèi)存窗口可看到內(nèi)存區(qū)的變化。五、實(shí)驗(yàn)提示(1) 本實(shí)驗(yàn)中RAM區(qū)的起始地址為02000H,編程時(shí)段地址可設(shè)為0100H,則偏移地址為1000H。(2) 如果按字節(jié)進(jìn)行存儲(chǔ),則AL為55H或AAH;如果按字進(jìn)行存儲(chǔ),則AX應(yīng)為55AAH。(3) 6264、62256等是計(jì)算機(jī)系統(tǒng)擴(kuò)展中經(jīng)常用到的隨機(jī)存儲(chǔ)器芯片(RAM),主要用作數(shù)據(jù)存儲(chǔ)器擴(kuò)展。本實(shí)驗(yàn)所進(jìn)行的內(nèi)存置數(shù)在程序中經(jīng)常用到。計(jì)算機(jī)系統(tǒng)運(yùn)行中會(huì)頻繁地進(jìn)行內(nèi)存與外設(shè)或者內(nèi)存與內(nèi)存之間的數(shù)據(jù)傳輸,所以本實(shí)驗(yàn)雖然簡(jiǎn)單但對(duì)理解系統(tǒng)程序的運(yùn)行很關(guān)鍵,望學(xué)習(xí)和實(shí)驗(yàn)時(shí)認(rèn)真對(duì)待。六、程序流程
11、圖 程序流程圖如右圖所示。七、程序源代碼清單code segment ;define data segment assume cs:code org 0100hstart: mov ax,0100h mov ds,ax mov es,ax mov si,1000h mov cx,0100h mov al,0intram: mov si,al inc si loop intram ;將1000h-1100h地址單元清零 mov si,1000h mov cx,100h mov ax,55aahfil: mov si,ax inc si inc si loop fil ;將偶地址置為AAH,奇地址
12、置為55H nop jmp startcode ends ;end of code segmentend start ;end assembly八、思考題(1) 若編程時(shí)段地址設(shè)為500H,則偏移地址為多少?那么程序中如何修改?(2) 若向2000H20FFH單元送入數(shù)據(jù),連續(xù)4個(gè)單元送入的數(shù)據(jù)分別為AAH、55H、BBH、66H,如此往復(fù)循環(huán),則程序該如何修改?(方法不唯一)(3) 如果放入數(shù)據(jù)的個(gè)數(shù)是50H,則程序應(yīng)如何修改?注意:思考題中程序的修改都不是唯一的。實(shí)驗(yàn)七 簡(jiǎn)單I/O口擴(kuò)展實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?1) 熟悉74LS273,74LS244的應(yīng)用接口方法。(2) 掌握用鎖存器、三態(tài)門(mén)擴(kuò)
13、展簡(jiǎn)單并行輸入、輸出口的方法。二、實(shí)驗(yàn)內(nèi)容邏輯電平開(kāi)關(guān)的狀態(tài)輸入74LS244,然后通過(guò)74LS273鎖存輸出,利用LED顯示電路作為輸出的狀態(tài)顯示。三、實(shí)驗(yàn)原理介紹本實(shí)驗(yàn)用到兩部分電路:開(kāi)關(guān)量輸入輸出電路,簡(jiǎn)單I/O口擴(kuò)展電路。四、實(shí)驗(yàn)步驟(1) 實(shí)驗(yàn)接線:CS0連接CS244,CS1連接CS273,平推開(kāi)關(guān)的輸出K1K8對(duì)應(yīng)連接IN0IN7,O0O7對(duì)應(yīng)連接LED1LED8。(2) 編輯程序,單步運(yùn)行,調(diào)試程序(3) 調(diào)試通過(guò)后,全速運(yùn)行程序,觀看實(shí)驗(yàn)結(jié)果。(4) 編寫(xiě)實(shí)驗(yàn)報(bào)告。五、實(shí)驗(yàn)提示74LS244或74LS273的片選信號(hào)可以改變,例如連接CS2,此時(shí)應(yīng)同時(shí)修改程序中相應(yīng)的地址。六、實(shí)驗(yàn)結(jié)果程序全速運(yùn)行后,邏輯電平開(kāi)關(guān)的狀態(tài)改變應(yīng)能在LED上顯示出來(lái)。例如:K2置于L位置,則對(duì)應(yīng)的LED2應(yīng)該點(diǎn)亮。七、程序框圖(實(shí)驗(yàn)程序名: T1.ASM)八、程序源代碼清單assume cs:code code segment public org 100hstart: mov dx,04a0h ;74LS244地址 in al,dx ;讀輸入開(kāi)關(guān)量 mov dx,04b0h ;74LS273地址 out dx,al ;輸出至LED jmp
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025汽車特許經(jīng)營(yíng)合同書(shū)模板
- 2025監(jiān)理工程師《合同管理》知識(shí)點(diǎn)合同法律效力
- 玩具廠上班合同協(xié)議
- 電子產(chǎn)品軟件合同協(xié)議
- 男女朋友買(mǎi)房協(xié)議合同協(xié)議
- 田間技術(shù)服務(wù)合同協(xié)議
- 電梯裝潢商務(wù)合同協(xié)議
- 電廠清洗服務(wù)合同協(xié)議
- 瑜伽館應(yīng)聘老師合同協(xié)議
- 環(huán)境衛(wèi)生治理合同協(xié)議
- 沿街商鋪、合用場(chǎng)所消防安全培訓(xùn)課件
- 靜脈炎的預(yù)防及處理-李媛
- 頸椎病針灸穴位治療
- 2025年中國(guó)汽車車燈行業(yè)市場(chǎng)現(xiàn)狀、前景分析研究報(bào)告(智研咨詢發(fā)布)
- 湯臣倍健營(yíng)養(yǎng)品市場(chǎng)推廣方案
- 2024年湖北省中考語(yǔ)文真題(學(xué)生版+解析版)
- 告訴我地址 -從IPv4到IPv6的傳奇 課件 2024-2025學(xué)年清華大學(xué)版(2024)B版初中信息技術(shù)七年級(jí)上冊(cè)
- 2024旋翼無(wú)人機(jī)巡檢作業(yè)規(guī)范
- 醫(yī)學(xué)教程 《急性闌尾炎幻燈》
- 重型貨車整車運(yùn)輸協(xié)議樣本
- 讀后續(xù)寫(xiě)-期中真題匯編(原卷版)
評(píng)論
0/150
提交評(píng)論