keil的使用與匯編語言上機操作_第1頁
keil的使用與匯編語言上機操作_第2頁
keil的使用與匯編語言上機操作_第3頁
keil的使用與匯編語言上機操作_第4頁
keil的使用與匯編語言上機操作_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

實驗名稱Keil的使用與匯編語言上機操作成績指導(dǎo)教師***** 專業(yè)班級光電1507姓名****學(xué)號********聯(lián)系電話 一、任務(wù)要求.熟悉Keil環(huán)境,通過在Keil環(huán)境下調(diào)試字節(jié)拆分、合并程序、數(shù)據(jù)塊清零程序、加法程序,掌握匯編語言程序的調(diào)試方法,加深對BCD碼、ASCII碼、堆棧、寄存器、數(shù)據(jù)指針、匯編語言指令、機器碼等基本概念的理解,為后續(xù)程序編制和調(diào)試打下基礎(chǔ)。.掌握Keil環(huán)境的使用.字節(jié)拆分、合并:調(diào)試程序,觀察相關(guān)寄存器和單元的內(nèi)容。.數(shù)據(jù)塊填充:調(diào)試程序,觀察相關(guān)寄存器和單元的內(nèi)容。.編寫多個十六位數(shù)的加法程序:有4個十六位無符號數(shù),連續(xù)存放在20H開始的片上數(shù)據(jù)區(qū)中,低八位先存,高八位在后。要求:和存于R3(高八位)和R2(低八位),進位位存于R4。二、設(shè)計思路.第一步是對相應(yīng)的片內(nèi)RAM存儲空間置數(shù).第二步是對前兩個數(shù)低八位相加,不考慮進位;對高八位相加,考慮進位,若有進位信號,則對R4進行自加一處理.第三步是設(shè)置循環(huán),對剩下的數(shù)進行同樣的加法運算三、資源分配20H、22H、24H、26H存放低八位21H、23H、25H、27H存放高八位RO、R1數(shù)據(jù)指針R2、R3分別存放結(jié)果低八位、高八位R4存放進位位R5存放循環(huán)判斷數(shù)四、流程圖

判斷進位位判斷循環(huán)次數(shù)結(jié)束R5=0R6R1指針賦初值,指向被加數(shù);R3Rm賦加數(shù)初值;;R4破迸位位初值;判斷進位位判斷循環(huán)次數(shù)結(jié)束R5=0R6R1指針賦初值,指向被加數(shù);R3Rm賦加數(shù)初值;;R4破迸位位初值;R5賦循環(huán)次數(shù)初值讀取加數(shù)和被加數(shù)的高八位字節(jié),執(zhí)行8bits加法清軍進位位C讀取加數(shù)和被加數(shù)的低八位字節(jié),執(zhí)行蛇法加法存儲單元賦初始值(將被加數(shù)、加數(shù)賦予對應(yīng)單元)RO+2,R1+2R4自加1五、源代碼(含文件頭說明、語句行注釋)ORG0000HLJMPSTART;長跳轉(zhuǎn)至START執(zhí)行程序ORG0100HSTART:MOVSP,#40H;給堆棧指針賦初值MOV20H,#0FFH;第一個數(shù)低八位MOV21H,#0FFH;第一個數(shù)高八位MOV22H,#11H;第二個數(shù)低八位MOV23H,#11H;第二個數(shù)高八位MOV24H,#11也第三個數(shù)低八位MOV25H,#11H;第三個數(shù)高八位MOV26H,#11H;第四個數(shù)低八位MOV27H,#11H;第四個數(shù)高八位MOVR0,#22HMOVR1,#23HMOVR2,20H;存低八位MOVR3,21H;存高八位MOVR4,#00H;存進位位MOVR5,#3;循環(huán)次數(shù)LOOP:CLRCMOVA,@R0ADDA,R2;低八位相加MOVR2,A;低八位存于R2中MOVA,@R1ADDCA,R3;高八位相加MOVR3,A;高八位存于R3中JCAA;若有進位位,則轉(zhuǎn)AA,對R4進行自加1操作BB: MOVA,R0ADDA,#2MOVR0,AMOVA,R1ADDA,#2MOVR1,A

DJNZR5,LOOP;判斷循環(huán)是否結(jié)束HERE:SJMPHEREAA: INCR4SJMPBBADDCADJNE LOOP;判斷循環(huán)是否冷克SJMPHEREMOVMCFVMCFVMOV0一口口三SPF#4dH;給堆棧指針賦初值R2;低八位相加A;f氐八位存于艮二中@R1,R3;蒿八位相力二二口3¥一三;第一個數(shù)低八位二二L#一士第一彳數(shù)高入位22H,左一文第二不■數(shù)底八位SJMPBBADDCADJNE LOOP;判斷循環(huán)是否冷克SJMPHEREMOVMCFVMCFVMOV0一口口三SPF#4dH;給堆棧指針賦初值R2;低八位相加A;f氐八位存于艮二中@R1,R3;蒿八位相力二#二二3才』2GH;存強八位二一三;至高八位#00:^;存進住位A,ADDA,MOVMCFVMOVR3,A;高八位存于R3中JC融;若有進位位,則轉(zhuǎn)AA,對R4進行自加工操作MOVADDMOV六、程序測試方法與結(jié)果考慮無進位情況:

1LJ口H,d占%34*J

就IB?WWH}o辦1LJ口H,d占%34*J

就IB?WWH}o辦因00J.asmOHGGQQQBLJHTSTAR工;長跳轉(zhuǎn)至ETAKT琮行程序OHGO1OOHM5SPrrWH;給堆桂指料磁初值QxDOHxDOCCiC:DiO1312922050國Project昱Realiters□xDOOkDO口乂口口QxDOstatesOkD]□MO凰有MOVZOE,¥__T:第一個數(shù)氐八位MCN二二1*14;第一個救高八位MOV二二3#__二矣二個藪低八畦MOV23H,#一七第二個及高八位MOV二-#11出第三個數(shù)低八位MC用2SEf”二T;第三個數(shù)贏人蒞MOT二鋰,#11七第四個裝低八位Mm二,,¥!■;第四個裝高八位MOVR0,#22^MOVFl,#25^MOTR2,ZOH;存霞八住MOTB3,二.1:堂司:'〔號MOTE?t#QO:\;存進,之'ZumR5,#3,循環(huán)次數(shù)CLPC考慮有進位情況:FileEditVievrProjiectFlnshiDebugPeripheralsTaals5VCSWindowHlelp;匚工.§US力」二? ■■ 里景店發(fā)序:眠[ElG強科力。中亡1致目1同f國,國,豳1▼第RegisterTflX..■"省DO九331rl|erVJ.USORGDODGELJMPSTARTi長跳轉(zhuǎn)至START執(zhí)行程序El-1aSZE鹿,r[r;:i 口啰L 口處? 0x443 0k321 0^01milI::::::::::::::::::::::::::::藩::::我麒您諼畿BORCD1DC-3TA?.r:MOVSPf“OHi給■至桂指下賦初僧.MOV二工T,工二H:第一個數(shù)低△住MOV二九,0FfH:第一不蜀高人.位NOT二二七十一中第一個數(shù)低八佳NOV二父T,"一H:招二個數(shù)高八位MOV二犯#一日;第三個案低八檢MOVZ.5H, 三不藪高Ji位MOV二£V.大—H:算四個數(shù)低八住MOT二KT,#一日:茸四個敷尋八位MOVR0f小二二HMOVRL,才二3HMOVR2,二」存低)1付.-Ey=r5 OkJCOi-B 0m£Oi-7 0m£OV:F感,:::::<:?a:<W潑:以:添注 0w29涔一::::::::::::::::::b nm能牌微::::::::■:::::::::::■ 0?40ndtTijiSO::豫鬻dptr 口亢0口口PC$ C:ChcOL3AEizutflc 79JB?268e@c 39.5430Z9OO?第—鼓:潛:固然一曼■登H3:kw■修<::w:SS:由…p5VMl■:■:■:■:■:■:■:■:■:■MOVR3r 23H=MCQS1:3I MOVR4,卻匚三存進位土|^K MOVRD,必;循環(huán)次數(shù)^―,■■商貌餡工100P- riBc司Project蘭Registers一in▼4X1Merno!□rntiar七、思考題1.怎樣查看工作寄存器、SFR、片內(nèi)RAM、片外RAM及程序代碼空間內(nèi)容Disassembly窗□有何作用工作寄存器、SFR的內(nèi)容可在Registers窗口中查看;在Address片內(nèi)RAM、片外RAM、程序代碼空間的內(nèi)容可在Memorry在Address欄中鍵入空間類型和地址來查看;Disassembly窗口的作用是顯示編譯之后轉(zhuǎn)化成的匯編代碼。.字節(jié)拆分、合并還有哪些方法,舉一例說明。字節(jié)拆分可以通過ANL指令來達到,比如說要拆分#49H,可以用:MOVA,#49HANLA,#OFHMOV30H,AMOVA,#49HSWAPAANLA,#0FHMOV31H,A字節(jié)合并可以用ORL指令來實現(xiàn)SWAP31HORL31H,30H.若按遞減1規(guī)律填充數(shù)據(jù)塊,應(yīng)如何修改程序只需將INCA改為DECA即可。.若從7010H單元開始,連續(xù)填充20個字節(jié),應(yīng)該如何修改程序?qū)OVDPTR,#7000H改為MOVDPTR,#7010H將CJNER0,#00H,FILL1改為CJNER0

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論