




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)名稱 Keil的使用與匯編語言上機(jī)操作成績(jī)一、任務(wù)要求1. 掌握Keil環(huán)境的使用1 )字節(jié)拆分、合并:調(diào)試 e421.asm程序, 觀察相關(guān)寄存器和單元的內(nèi)容。2 )數(shù)據(jù)塊填充:調(diào)試 fill.asm 程序,觀察相關(guān)寄存器和單元的內(nèi)容。2. 編寫多個(gè)十六位數(shù)的加法程序有4個(gè)十六位無符號(hào)數(shù),連續(xù)存放在20H開始的片上數(shù)據(jù)區(qū)中,低八位先存,高八位在后。要求:和存于 R3 (高八位)和 R2 (低八位),進(jìn)位位存于 R4。二、設(shè)計(jì)思路實(shí)驗(yàn)一已給出程序代碼,不需要設(shè)計(jì),下面闡明實(shí)驗(yàn)二,編寫多個(gè)十六位數(shù)的加法程序的設(shè)計(jì)思路。十六位數(shù)相加,先是低八位相加,低八位相加不用考慮進(jìn)位,所以,此時(shí)用ADD旨
2、令,但因?yàn)樵诿看窝h(huán)時(shí)都有CLRC操作,所以也可以用 ADDC旨令。而且題目中要求將和的低八位存于 R2,所以將每次低八位相加的和存于R2,然后從R2中取值求和。低八位相加后高八位相加,因?yàn)楸仨毺幚淼臀幌嗉拥倪M(jìn)位問題,所以必須用ADDC旨令。而且因?yàn)橐蟾呶缓痛嬗赗3,所以將每次計(jì)算的和存于R3,每次從R3中取數(shù)跟新的高八位相加。另外考慮到高位進(jìn)位的問題,所以必須安排一個(gè)地址單元或者寄存器存放最高位,也正是因?yàn)槊看窝h(huán)中,進(jìn)位都會(huì)被處理,所以每次循環(huán)開始要CLR Co三、資源分配4個(gè)十六位無符號(hào)數(shù),連續(xù)存放在20H開始的片上數(shù)據(jù)區(qū)中,低八位先存,高八位在后。和存于R3 (高八位)和 R2 (低
3、八位),進(jìn)位位存于 R4oR0 和R1作為數(shù)據(jù)指針,存放低八位和高八位的地址。循環(huán)次數(shù)存于R5。四、流程圖精選資料,歡迎下載軌元初始賦值RO20H指謝賦初值NOYESR4A進(jìn)屜存K4R2*-(20H) (2111) R4Q0H 寄存器賦值i五、源代碼(含文件頭說明、語句行注釋)四個(gè)十六位數(shù)的加法程序:File n ame: 3.asmDescripti on:四個(gè)十六位數(shù)的加法程序Date: 2016/09/23Desig ned by:陳鈺Source used:R0,R1數(shù)據(jù)指針寄存器R2,R3,R4,R520H-27HORG 0000HLJMP MAINORG 0100HMAIN: MO
4、V R0,#20HMOV R1,#21HMOV R2,20HMOV R3,21HMOV R4,#00HMOV R5,#03H;設(shè)數(shù)據(jù)指針;R= (20H),R3 (21H);最高位進(jìn)位清零;設(shè)置循環(huán)次數(shù)LOOP: CLR C;進(jìn)位清零MOV A,R2; AR2INC R0INC RO; RZ RO+1 + 1, RO指向下一個(gè)低八位ADD A,R0; AA+(R0), 低八位相加MOV R2,A ; R2 A,低八位的和存于 R2MOV A,R3 ; AR3INC R1INC R1; R1 R1+1 + 1, R1指向下一個(gè)高八位ADDC A,R1; A A+(R1)+C,高八位加進(jìn)位的和MO
5、V R3,A; RAA,高八位的和存于 R3CLR A; A寄存器清零ADDC A,R4 ; A A+R4+C 計(jì)算進(jìn)位MOV R4,A ; R4A,進(jìn)位信息存入 R4DJNZ R5,LOOP ;判斷R5是否等于零判斷循環(huán)是否結(jié)束精選資料,歡迎下載HERE:SJMP HERE精選資料,歡迎下載END六、程序測(cè)試方法與結(jié)果字節(jié)拆分、合并程序:(存于30H的數(shù)被拆分,分別轉(zhuǎn)為 ASCII碼存于31H和32H,最后再合并存于33H)Address: |d:3QiD:0x30:0 :3弓D:0x32:2 :39佔(zhàn)D:0x34:4 :0000數(shù)據(jù)塊填充程序(將片外 RAM 7000H-70FFH單元按一
6、定規(guī)律填充)X: 0x007000000102030405007OS09OAOEocODOEX: 0x00700FOFIQ11121314IS1617IS191AIB1CIDX : OkGOOEIEIF2021222325262725292A2B2CX : 0x0002D2D2E2F30313233343S363738393A3BX: OXO07Q3C3C3D3E3F40414243X4546474S494AX: 0x0070434B4C4D4FSO5152S354SSS657seS9X : OkOOOSA5A5B5C5D5E5F606162S36656667昭X: 0x00706969GA6
7、B6C6D6E6F271727374757677X: 0XQ07Q7B78797A737C7D7E7FeoSIS2B3848586X: OXOOTQ3787a o w wS9SASB8CSDSE8F909192939495X : 0x0009696979599QA959C9D9E9FAOAlA2A3X: 0X0 07 0ASA5A7ASA9AAA3ACADAEAFBOBlB2B3X: 0X0070B4B4B5B6B7B3B9BABBBCBDBEBFCOdC2X:OkOOOCSC3匚弓C5C6G7C3C9CACBCCCDCECFDODIX:0x000D2D2D3D4DSD6ADSDSDADBDC
8、DDDEDFEOX: 0X0070E1ElE2E3E4E5E6E7ESE9EAE3ECEDEEEFX: 0x0070F0FOFlF2F3F4F5F6F7FSF9FAF3FCFDFEX ; OxOOOFFFF0000DODOaoOQDG 0 0QO000000OO四個(gè)十六位數(shù)的加法程序輸入的數(shù):Memory 1D: 0x20:0:CCDDD:0x22:2:EEFFD:0x24:4:FFEED: 0x2 6:6:3311.Address: d:20h結(jié)果:Oxe?Osdd0x02思考題1怎樣查看工作寄存器、SFR片內(nèi)RAM片外RAM及程序代碼空間內(nèi)容?Disassembly 窗口有何作用?1 )
9、觀察工作寄存器,SFR 點(diǎn)擊 View Registers Window,彈開 “ Registers ” 窗口。在此窗口查看。2 )觀察10端口,Timer,中斷控制寄存器:點(diǎn)擊菜單Peripherals ,彈出外設(shè)選項(xiàng)欄,選擇對(duì)應(yīng)外設(shè),彈出相應(yīng)外設(shè)控制寄存器窗口,即可觀察。3 )觀察片內(nèi)RAM代碼區(qū)和片外數(shù)據(jù)區(qū):點(diǎn)擊菜單Viewj©徑Memory Windows,在Address欄中鍵入存儲(chǔ)空間類型和地址,可以觀察到相應(yīng)內(nèi)容。Disassembly窗口顯示代碼及其相應(yīng)的機(jī)器碼,也展示了代碼的PC地址。2 字節(jié)拆分、合并還有哪些方法,舉一例說明。舉例:ORG 0100HMOV 30
10、H, #49HMOV A, 30HANL A,#0FHORL 32H, #30HMOV A,30HANL A,#OFOHSWAP A;ORL A, #30HMOV 31H, AHERE:SJMP HEREEND;30H單元賦值拆分出低四位;轉(zhuǎn)換為ASCII拆分出高四位轉(zhuǎn)換為ASCII結(jié)果存于31H單元踏步MAIN:MOV SP, #40H;賦堆棧指針3 若按遞減1規(guī)律填充數(shù)據(jù)塊,應(yīng)如何修改程序?將“ INC A” 改為“ DEC A'改后運(yùn)行結(jié)果如下:4.若從7010H單元開始,連續(xù)填充20個(gè)字節(jié),應(yīng)該如何修改程序?XXXXXXXXXXXXXXX0x007000 0x007012 0x
11、307024 0x307036 0x007048 0x307Q5A oxo0?oec 0X00707E 0x007090 0x3070A2 0x307034 0.XQ070C6 0x0070D9 0X0070EA 0X0070FC00 FF FE FD FC ra FA F9 FS F7 F6 F5 E4 F3 F2 Fl F0 EF EE ED EC EB EA E9 E3 E7 E6 E5 E4 E3 E2 El EQ DF DE DD DC DB DA D9 DS D7 D6 D5 DE D3 D2 DI DO CF 匸E CD (:匸 CB CA 匚9 C8 C7 C6 CS C繪亡M
12、 匚2 Cl CO BF BE BD BC BB BA 39 BS B7 BE B5 B4 B3 B2 Bl BO AF AE AD AC AB AA A9 AS A7 kG A5 A4 A3 h2 Al AO 9F &E 9D 9C 9B 9A 99 9B 97 9£ 95 94 93 92 91 90 BF BE SD SC QB EA 89 S8 87 86 S5 04 33 S2 Bl BO 7F 7E 7D 7C 7B 7A 79 7S 77 76 75 74 73 72 71 70 6F 6E 6D 6C 6B 6A 9 63 67 66 5 鈉 3 2 61 6
13、0 5F 5E 5D 5匸 50 5A 59 56 57 5怎 55 54 53 52 51 SO 4F 勺D 4C 4B 4A 弓9 43 47 竝百 4S 44 43 42 41 40 3F 3E 3D 3C 3B 3A 39 38 37 36 35 34 33 32 31 30 2E 2E 2D 2C 2B 2A 29 2fi 27 2 25 24 23 22 21 20 IF IE ID 1.C IB 1A 19 18 17 16 15 14 13 12 11 10 OF OE OD OC OB OA 09 08 07 0£ 05 04 03 02 01 00 00 00 0
14、0 00 00 00 00 00 00 00 00 00 00Address: |X:7DD0HORG 0000HLJMP MAINORG 0100HMAIN:MOV SP,#40HFILL:CLR A;A寄存器清零MOV RO, #20;設(shè)循環(huán)計(jì)數(shù)器MOV DPTR, #7010H;設(shè)數(shù)據(jù)指針FILL1:MOVX DPTR, A;傳送到片外RAMDEC A;A內(nèi)容加1INC DPTR;修改數(shù)據(jù)指針DJNZ R0, FILL1 ;判斷是否結(jié)束HERE:SJMP HERE;原地踏步END運(yùn)行結(jié)果:Address: |X:701CHX:0x007010:00FFFEFDFCFBFAF9FBF7X: 0x00701A:FfiFSF4F3F2FlFOEFEEEDX:0x007034:000000000000000000005 若完成雙字節(jié) BCD碼加法,應(yīng)如何修改程序?在“ ADD A,R0和代碼“ A
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電競(jìng)產(chǎn)業(yè)發(fā)展與城市經(jīng)濟(jì)轉(zhuǎn)型升級(jí)
- 科技發(fā)展與聯(lián)通業(yè)務(wù)的協(xié)同增長(zhǎng)策略
- 入股干股合同范本
- 科技發(fā)展背景下的職業(yè)教育德育新探
- 2025至2030年中國背膠袋數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 二零二五年度智能安防監(jiān)控系統(tǒng)維護(hù)與數(shù)據(jù)安全保障合同
- 二零二五年度數(shù)字貨幣技術(shù)研發(fā)與技術(shù)商務(wù)合作合同
- 二零二五年度寵物醫(yī)療服務(wù)分期付款協(xié)議
- 2025年度特種設(shè)備安全檢驗(yàn)、維護(hù)與維修服務(wù)協(xié)議
- 2025年度裝卸工安全責(zé)任及安全防護(hù)協(xié)議
- 急救藥品搶救藥品培訓(xùn)
- 人教鄂教版三年級(jí)下冊(cè)科學(xué)全冊(cè)教案
- 如何做好一名優(yōu)秀的項(xiàng)目經(jīng)理
- (完整word版)中考定語從句精講+練習(xí)答案
- 110KV電纜敷設(shè)專項(xiàng)施工方案方案
- 醫(yī)師簽名(簽章)留樣備案表
- 0~6歲兒童眼保健和視力檢查標(biāo)準(zhǔn)技術(shù)操作
- 卷內(nèi)目錄填寫式樣
- GB/T 15077-2008貴金屬及其合金材料幾何尺寸測(cè)量方法
- 項(xiàng)目7選購機(jī)箱和atx電源學(xué)習(xí)資料
- 護(hù)士長(zhǎng)護(hù)理管理質(zhì)量評(píng)價(jià)表
評(píng)論
0/150
提交評(píng)論