微機實驗報告_第1頁
微機實驗報告_第2頁
微機實驗報告_第3頁
微機實驗報告_第4頁
微機實驗報告_第5頁
已閱讀5頁,還剩8頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

《微機實驗》報告實驗名稱:keilc的使用與匯編語言上機操作一、任務規定實驗目的:熟悉keilc環境,通過在keilc環境下調試字節拆分、合并程序、數據塊清零程序、加法程序,掌握匯編語言程序的調試辦法,加深對bcd碼、ascii碼、堆棧、寄存器、數據指針、匯編語言指令、機器碼等基本概念的理解,為后續程序編制和調試打下基礎。實驗內容:掌握keilc環境的使用1)字節拆分、合并:調試e421.asm程序,觀察有關寄存器和單元的內容。2)數據塊填充:調試fill.asm程序,觀察有關寄存器和單元的內容。編寫兩個十六位數的加法程序。有兩個十六位無符號數,分別寄存在從20h和30h開始的數據區中,低八位先存,高八位在后,和存于r3(高八位)和r4(低八位),進位位存于r2。二、設計思路實驗1中的兩個實驗,已經給出了程序代碼,,無需再進行設計。下面敘述實驗2的設計思路:對于該程序,在解決低位相加時,直接采用指令add,然后存數,在解決高位時,考慮到可能存在進位,因此在相加時,應使用指令addc將被加數、加數以及低位到高位的進位相加然后存數。另外,在解決該問題時,還應考慮到兩個十六位相加可能會出現第十七位,因此要另外安排一種地址單元用來寄存最高位的數。三、資源分派兩個十六位無符號數,分別寄存在從20h和30h開始的數據區中;和存于r3(高4八位)和r4(低八位);進位位存于r2。四、流程圖四、源代碼(含文獻頭闡明、資源使用闡明、語句行注釋)filename:test2.asmdescription:兩個十六位數的加法程序date:/09/26designedby:zhangbosourceused:20h:加數a的低位21h:加數a的高位30h:加數b的低位31h:加數b的高位r4:和的低位r3:和的高位r2:和的進位org0000hljmpmainorg0000hmain:clrc;將進位位清零mov20h,#10h六、程序測試辦法與成果、軟件性能分析手動輸入兩個加數的值,可得到對的的和,多變化幾次,皆對的。對于不同的加數,分別在調試過程中跟蹤a,r4,r3,r2的值,皆可得到預期數值。因此,能夠說,該程序的源代碼是合理對的的,該程序合格,本實驗獲得成功。軟件性能良好。思考題:如何查看工作寄存器、sfr、片內ram、片外ram及程序代碼空間內容?disassembly窗口有何作用?選擇debug下的start/stopdebugsession,在界面的左側會出現程序代碼的空間內容。mov21h,#2ahmov30h,#21hmov31h,#00hmovr0,20h;將a中的地位存入r0中mova,30haddca,r0movr4,aclra;將b中的地位存入a累加器中;將低位相加;其和存入r4中;對累加器a清零movr0,21h;將a中的高位存入r0中mova,31h;將b中的高位存入a累加器中addca,r0;將高位以及進位位相加movr3,a;其和存入r4中clra;對累加器a清零addca,#0;將進位存入a.7movr2,a;將進位存入r2.7sjmp$enddisassembly窗口內顯示的是編譯之后轉化成的匯編代碼字節拆分、合并尚有哪些辦法,舉一例闡明。org0000hljmpmainorg0100hmain:movsp,#40h;賦堆棧指針mov30h,#49h;30h單元賦值movr0,#32h;r0指針賦值mov@r0,30h;將30h中的內容copy到32h中mova,f0h;累加器a賦值anla,30h;得到原數碼的高四位swapa若按遞減1規律填充數據塊,應如何修改程序?在原程序中修改,從main開始,第三行改為movr0,#ffh第四行改為movdptr,#70ffh第六行改為deca第七行改為decdptr第八行改為decr0第九行改為cjner0,#ffh,fill1若從7020h單元開始,持續填充10個字節,應當如何修改程序?不妨將10-19送入7020h-7029單元中,變化后的程序代碼以下:org0000hljmpmainorgmain:movsp,#40h0100hfill:mova,#10;將10h送入累加器a中movr0,#10h;設循環計數器movdptr,#7020h;設數據指針fill1:movx@dptr,aincainc;傳送到片外ram;a內容加1;修改數據指針;判斷與否結束dptrdjner0,fill1here:sjmphere;原地踏步end若完畢雙字節bcd碼加法,應如何修改程序?不妨設加數分別存于30h-31h、40h-41h中,低位在前高位在后,各單元均為壓縮的bcd碼。將和存入50h-51h中。其程序片段以下:...mova,30hadda,40hdaamov50h,a;低2位bcd碼之和存入50hmova,31hadda,41hdaamov51h,a;高2位bcd碼之和存入51h篇二:微機實驗報告微機原理與接口技術實驗報告姓名:張楠喬學號:10213030班級:自動化1004指導教師:周永華實驗一交通燈控制實驗一、實驗目的通過并行接口8255實現十字路口交通燈的模擬控制,進一步掌握對并行口的使用。二、實驗內容實驗內容,如圖1連接電路,l7、l6、l5作為南北路口的交通燈與pc7、pc6、pc5相連,l2、l1、l0作為東西路口的交通燈與pc2、pc1、pc0相連,編程使六個燈按交通燈變化規律亮滅。紅黃綠紅黃綠l7l6l5l2l1l0圖1連接圖規定:十字路口交通燈的變化規律規定:(1)南北路口的綠燈、東西路口的紅燈同時亮30秒左右。(2)南北路口的黃燈閃爍若干次,同時東西路口的紅燈繼續亮。(3)南北路口的紅燈、東西路口的綠燈同時亮30秒左右。(4)南北路口的紅燈繼續亮、同時東西路口的黃燈亮閃爍若干次。(5)轉(1)重復。三、實驗流程圖圖2流程圖四、實驗程序:datasegmentpcequ0c40ahpdequ0c40bhdataendsstack1segmentstackdw100hdup(?)stack1endscodesegmentassumecs:code,ds:data,ss:stack1start:movdx,datamovds,dx;初始化moval,80hmovdx,pds:moval,24hmovdx,pcoutdx,alcalldelay3;南北綠燈亮、東西紅燈亮3秒movcx,6y1:moval,44houtdx,alcalldelay1moval,04houtdx,alcalldelay1loopy1;南北綠燈滅,南北黃燈閃,東西紅燈亮moval,81houtdx,alcalldelay3;東西紅燈滅,南北紅燈、東西綠燈亮3秒movcx,6y2:moval,82houtdx,alcalldelay1moval,80houtdx,alcalldelay1loopy2;東西綠燈滅,東西黃燈閃,南北紅燈亮movdl,0ffhmovah,6int21hjzsmovah,4chint21h;查詢與否有鍵按下delay3proc;延時3秒子程序pushcxpushaxmovcx,0afffht1:movax,0ffffht2:decaxjnzt2loopt1popaxpopcxretdelay3endpdelay1proc;延時半秒子程序pushcxmovcx,1d55ht3:movax,0ffffht4:decaxjnzt4loopt3popaxpopcxretdelay1endpcodeendsendstart五、實驗環節(1)將pc總線接口卡插在任意擴展槽中(已接好)。(2)用50芯線扁平電纜線連接接口卡和實驗臺。(3)如圖1所示連接線路。(4)打開實驗箱電源,啟動tcp-實驗系統軟件環境。(5)測試8255、led和串口與否完好。六、實驗現象:南北路口的綠燈、東西路口的紅燈同時亮3秒左右,然后南北路口的黃燈閃爍若干次,東西路口的紅燈繼續亮,接著南北路口的紅燈、東西路口的綠燈同時亮3秒左右,然后南北路口的紅燈繼續亮、同時東西路口的黃燈亮閃爍若干次。如此循環。成果與實驗規定相符。七、實驗心得本實驗的重要一部分就是延時子程序,編寫程序時候要根據流程圖,這樣就從一定程度上簡化了實驗,尚有就是實驗的調試過程,一定要細心又有耐心篇三:微機原理實驗報告微型計算機原理實驗報告班級:姓名:學號:1月14日實驗一、數據傳送、算術運算、循環程序構造【實驗目的】1.熟悉8086匯編語言源程序的框架構造,并掌握匯編語言程序的編寫、匯編、連接、執行的過程,并運用turbodebugger調試匯編程序。2.熟悉8086指令系統的數據傳送指令,掌握尋址方式。3.熟悉8086指令系統的算術運算指令。掌握循環構造匯編語言程序的編制。【實驗內容】教材p121,第14、15題。教材p195,第6、12題。實驗1.1:p121,第14題設有兩個8個字節長的bcd碼數據bcd1及bcd2。bcd1數以1000h為首地址在內存中次序寄存;bcd2數以h為首地址在內存中次序寄存。規定相加后成果次序寄存在以h為首地址的內存區中(設成果bcd數仍不超出8個字節長)。【實驗原理】考慮兩個8個字節長的bcd碼相加,首先根據地址規定將數據放在對應的地址單元中,然后做加法,bcd碼相加要用到調節指令,成果才為對的的bcd數【程序框圖】【程序源代碼】datassegmentorg1000h1000hbcd1dborghbcd2db11h,12h,13h,14h,15h,16h,17h,18h;起始地址為hdatasendscodessegmentassumecs:codes,ds:datasstart:movax,datasmovds,axmovbx,0movcx,8;設立循環次數8次clc;清進位cf標志again:moval,[bx+1000h]adc[bx+h],al;成果放在h開始的單元內daaincbxloopagain;沒完畢則轉again循環movah,4chint21hcodesendsendstart運行:bcd1db01h,02h,03h,04h,05h,06h,07h,88hbcd2db11h,12h,13h,14h,15h,16h,17h,18h成果以下:ds:h為首地址的持續八個字節單元中實驗1.2:p121,第15題設從h為首地址的內存中,寄存著10個帶符號的字節數據,試編寫“找出其中最大的數,并存入h單元中“的程序。【實驗原理】首先把十個帶符號數放在規定的的存儲單元中,然后再進行比較,有符號數的比較用jl,jc,jng,等指令,首先設計一種最小帶符號數80h作為比較初值,用h單元中的數分別與其它進行比較,若不不大于則把該單元的數存入h單元,否則不予解決。對于該題,我采用的是字符串指令,由于是隱含尋址,把h中的數作為字符串源操作數,其它進行一次循環則依次放入al中,注意的是當cx為10時,dl=80h。【程序框圖】【程序源代碼】datasegmentorgh;數據寄存在h開始的單元bcddb10h,28h,49h,78h,0a4h,0b3h,93h,29h,45h,02hdataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovsi,h;地址指針指向單元首地址movcx,10movdl,80h;設立最小符號數l1:lodsbcmpal,dl;比較帶符號數jngl2;(dl)大則跳轉l2movdl,al;dl指向內容小則交換l2:loopl1movds:[h],dl;最大數寄存在h單元movah,4chint21hcodeendsendstart運行:bcddb10h,28h,49h,78h,0a4h,0b3h,93h,29h,45h,02h成果為78h實驗1.2:p195,第6題試編制一程序,用乘法指令實現32位二進制數與16位二進制數相乘。【實驗原理】首先把被乘數第八位和高八位分別與乘數相乘,高八位乘得成果左移16位與第八位乘得成果相加即為成果。【程序框圖】篇四:微機實驗報告二微機原理實驗報告實驗二班級:級信息工程(7)班姓名:學號:序號:評閱分數:微機實驗二一、實驗目的1、熟悉80x86基本指令集。2、掌握匯編語言源程序的編寫。3、掌握構造化程序設計三大構造的程序設計。4、掌握匯編程序的動態調試。二、開發環境將來匯編、debug三、實驗題目1、編程將以‘$’結束的字符串中的小寫字母改為大寫字母。①已知數據段的定義:datasegmentorghstr1db‘aedc123!*sdedio71$’countequ$-str1org3000hstr2dbcountdup(?)dataends②畫流程圖代碼:datasegmentorghstr1dbaedc123!*sdedio71$countequ$-str1org3000hstr2dbcountdup(?)dataendsstacksegmentparastackstackdb100dup(?)stackendscodesegmentassumecs:code,ds:datastartprocfarpushdsmovax,0pushaxmovax,datamovds,axleasi,str1;取str1首地址leadi,str2;取str2首地址movcx,countaa:moval,[si]cmpal,61h;判斷與否為小寫字母jbnextcmpal,7ahjanextsubal,20h;將小寫字母轉換為大寫mov[di],al;將非小寫字母放入str2中next:mov[di],alincsiincdiloopaaretstartendpcodeendsendstart成果:1.2.③debug調試:修改str1字符串的值,運行當作果。成果:1.2.問題:未注意到loop循環的結束條件是cx為0,故設計時應當用movecx,count這樣的語句,執行一次自減一,直到cx為0不執行循環。loop循環中出現問題,應當把incsi和incdi放在循環中比較語句后3.比較后直接寫的next語句,忘記還要執行一種mov[di],al,從而造成輸出始終為0.2、有一種字節型數組,求最大值、最小值和平均值:1)作為無符號數,2)作為帶符號。①已知數據段的定義:datasegmentorghnumdb12h,95h,0f1h,0c2h,82h,2h,10h,34hcountdb$-numorg3000hres1db3dup(?);storeunsignedorg4000hres2db3dup(?);storesigneddataends代碼:datasegmentorghnumdb12h,95h,0f1h,0c2h,82h,2h,10h,34hcountequ$-numorg3000hres1db3dup(?);storeunsignedorg4000hres2db3dup(?);storesigneddataendsstacksegmentparastackstackdb100dup(?)stackendscodesegmentassumecs:code,ds:data篇五:微機原理及接口技術實驗報告微機原理及接口技術實驗報告班級姓名學號41256月實驗一顯示程序實驗.......................................................................................................4一、實驗目的...........................................................................................................4二、實驗內容...................................................................................................................4三、實驗環節...................................................................................................................4四、程序清單...................................................................................................................5五、運行成果...................................................................................................................6實驗二數據傳送實驗.......................................................................................................7一、實驗目的...................................................................................................................7二、實驗內容...................................................................................................................7三、實驗環節...................................................................................................................7四、程序清單...................................................................................................................7五、運行成果...................................................................................................................8實驗三數碼轉換程序實驗...............................................................................................9一、實驗目的...................................................................................................................9二、實驗內容...................................................................................................................9三、實驗環節.................................................................................................................12四、程序清單.................................................................................................................12五、運行成果.................................................................................................................21實驗四運算類程序實驗.................................................................................................23一、實驗目的.................................................................................................................23二、實驗內容.................................................................................................................23三、實驗環節.................................................................................................................24四、程序清單.................................................................................................................24五、運行成果.................................................................................................................26實驗五簡樸i/o口拓展實驗.........................................................................................27二、實驗目的.........................................................................................................27二、實驗設備.................................................................................................................27三、實驗內容.................................................................................................................27四、實驗原理.................................................................................................................27五、實驗環節.................................................................................................................27六、實驗成果.................................................................................................................28實驗六存儲器讀寫實驗.................................................................................................29一、實驗目的.................................................................................................................29二、實驗設備.................................................................................................................29三、實驗內容.................................................................................................................29四、實驗原理.................................................................................................................29五、實驗環節.................................................................................................................29六、實驗成果.................................................................................................................31實驗七8255并行口實驗................................................................................................33一、實驗目的.................................................................................................................33二、實驗設備.................................................................................................................33三、實驗內容.................................................................................................................33四、實驗原理.................................................................................................................33五、實驗環節.................................................................................................................33六、實驗成果.................................................................................................................34實驗八8253定時器/計數器接口實驗...........................................................................35一、實驗目的.................................................................................................................35二、實驗設備.................................................................................................................35三、實驗內容.................................................................................................................35四、實驗原理.................................................................................................................35五、實驗環節.................................................................................................................35六、實驗成果.................................................................................................................37實驗九8259中斷控制器實驗........................................................................................38一、實驗目的.................................................................................................................38二、實驗設備.................................................................................................................38三、實驗內容.................................................................................................................38四、實驗原理................................................................................................

溫馨提示

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

評論

0/150

提交評論