![單片機(jī)原理及應(yīng)用- 習(xí)題及答案 莊俊華 【ch03】單片機(jī)的指令系統(tǒng)_第1頁(yè)](http://file4.renrendoc.com/view8/M00/25/29/wKhkGWb9kUGAfq4vAAJ6cPr1lcE130.jpg)
![單片機(jī)原理及應(yīng)用- 習(xí)題及答案 莊俊華 【ch03】單片機(jī)的指令系統(tǒng)_第2頁(yè)](http://file4.renrendoc.com/view8/M00/25/29/wKhkGWb9kUGAfq4vAAJ6cPr1lcE1302.jpg)
![單片機(jī)原理及應(yīng)用- 習(xí)題及答案 莊俊華 【ch03】單片機(jī)的指令系統(tǒng)_第3頁(yè)](http://file4.renrendoc.com/view8/M00/25/29/wKhkGWb9kUGAfq4vAAJ6cPr1lcE1303.jpg)
![單片機(jī)原理及應(yīng)用- 習(xí)題及答案 莊俊華 【ch03】單片機(jī)的指令系統(tǒng)_第4頁(yè)](http://file4.renrendoc.com/view8/M00/25/29/wKhkGWb9kUGAfq4vAAJ6cPr1lcE1304.jpg)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第3章單片機(jī)的指令系統(tǒng)
1.在程序狀態(tài)字PSW中,有哪幾個(gè)狀態(tài)位?有哪幾個(gè)控制位?
程序狀態(tài)字PSW是8位寄存器,用于存放程序運(yùn)行的狀態(tài)信息,PSW中各位狀態(tài)通常
是在指令執(zhí)行的過程中自動(dòng)形成的,但也可以由用戶根據(jù)需要采用傳送指令加以改變。各
個(gè)標(biāo)志位的意義如下:
PSW.7(Cy):進(jìn)位標(biāo)志位。
PSW.6(AC):輔助進(jìn)位標(biāo)志位,又稱為半進(jìn)位標(biāo)志位。
PSW.5(F0):用戶標(biāo)志位。
PSW.4、PSW.3(RS1和RSO):寄存器組選擇位。
PSW.2(0V):溢出標(biāo)志位。
PSW.1(空缺位):此位未定義。
PSW.0(P):奇偶校驗(yàn)位
應(yīng)該都是狀態(tài)位p3和p4可以控制寄存器選擇
2.分別指出下列指令中的目的操作數(shù)的尋址方式。
MOVA,#64H
MOVA,R3
MOVA,60H
MOVA.(3JR1
MOVXA,@DPTR
MOVCA,@A+PC
(1)寄存器尋址(2)立即數(shù)尋址(3)直接尋址(4)寄存器間接尋址⑸寄存器間接尋址(6)
基址加變址寄存器間接尋址(7)相對(duì)尋址(8)位尋址
3.試述指令“MOVA,#5OH”與“MOVA,50H”的區(qū)別。
區(qū)別有三條:(1)MOVAX,2003H對(duì)源操作數(shù)是立即尋址,而MOVAX.[2000H]對(duì)源操作數(shù)
是直接尋址;(2)前者功能是把立即數(shù)2000H送入AX中,而后者是把內(nèi)存2000H單元與
2001H單元的內(nèi)容取出送入AX中;(3)兩者的機(jī)器代碼不同,執(zhí)行速度也不同,前者執(zhí)行
時(shí)間快,后者執(zhí)行時(shí)間慢。
4.若堆棧指針的初始值為60H,DPTR=2000H,試問:
(1)在“PUSHDPH”和“PUSHDPL”后的SP值是什么?
(2)在“POPACC”又“POPACC”后的ACC值是什么?
1.在執(zhí)行\(zhòng)USHDPH\和\USHDPL\指令后,SP(堆棧指針)的值會(huì)減2。因此,如果初
始SP的值為60H,那么執(zhí)行這兩條指令后,SP的值將(1)在執(zhí)行\(zhòng)PUSHDPH\和\PUSH
DPL\后,棧指針SP的值將減2,因?yàn)槊總€(gè)PUSH操作會(huì)將兩個(gè)字節(jié)的數(shù)據(jù)(DPH和
DPL)壓棧。因此,SP的值將變?yōu)?EHo
(2)在執(zhí)行\(zhòng)POP變?yōu)?EH。
2.在執(zhí)行指令后,ACC(累加器)的值將從堆棧中被彈出。根據(jù)
提供的信息,這兩條指令會(huì)從堆棧中彈出兩個(gè)字節(jié),分別存儲(chǔ)在DPTR和ACC中。由于
DP(1)在執(zhí)行\(zhòng)PUSHDPH\后,SP值會(huì)減小1,而DPH的值為高字節(jié)部分,即20H,因
此SP值為5FHo
在執(zhí)行\(zhòng)PUSHDPL\后,SP值再次減小1,并將DPL的值壓入堆ACC\和\POPACC\
之后,ACC寄存器的值將依次恢復(fù)為彈出的兩個(gè)字節(jié)數(shù)據(jù)。具體的值取決于棧中存儲(chǔ)的數(shù)
據(jù),無法得知具體的數(shù)值。TR的初始值為2000H,兩個(gè)字節(jié)的數(shù)據(jù)將從這個(gè)地址開始被彈
出,并存儲(chǔ)在ACC中。因此,如果DPTR的初始值為2000H,并且堆棧中存有兩個(gè)字節(jié)的數(shù)
據(jù),那么執(zhí)行這兩條指令后,ACC的值將被更新為堆棧中存儲(chǔ)的兩字節(jié)數(shù)據(jù)的值。棧,即
將低字節(jié)部分的值00H壓入堆棧。因此,最終的SP值為5EH。
(2)在執(zhí)行\(zhòng)POPACC\后,SP值會(huì)增加1,將堆棧中的值彈出給ACC寄存器。由于
之前將DPL的值壓入堆棧,所以ACC的值將變?yōu)镺OHo
然后執(zhí)行\(zhòng)POPACC\再次彈出堆棧中的值給ACC寄存器。由于之前將DPH的值壓入
堆棧,所以ACC的值將變?yōu)?01L
5.已知:(20H)=25H,(25H)=10H,(P1)=OFOH,在執(zhí)行下列指令后,
(A),(30H),(R1),
(RO),(B),(P3)的內(nèi)容是什么?
MOVRl,#20H
MOV30H,@R1
MOVR0,30H
MOVB,@R0
MOVA,Pl
MOVP3,A
略。
6.寫出完成下列要求的指令。
⑴將地址為4000H的片外數(shù)據(jù)存儲(chǔ)單元內(nèi)容送入地址為30H的片內(nèi)數(shù)據(jù)存儲(chǔ)
單元中。
⑵將地址為4000H的片外數(shù)據(jù)存儲(chǔ)單元內(nèi)容送入地址為3000H的片外數(shù)據(jù)存
儲(chǔ)單元中。
⑶將地址為0800H的程序存儲(chǔ)單元內(nèi)容送入地址為30H的片內(nèi)數(shù)據(jù)存儲(chǔ)單元
中O
⑷將片內(nèi)數(shù)據(jù)存儲(chǔ)器中地址為30H與40H的單元內(nèi)容交換。
⑸將片內(nèi)數(shù)據(jù)存儲(chǔ)器中地址為30H單元的低4位與高4位交換。
(1)ORG0000HMOVDPTR,#4900HMOVXA,?DPTRMOV30H,AEND
(2)ORG0000HMOVDPTR,#4000HMOVXA,?DPTRMOVDPTR,#3003HMOVX?DPTR,AEND
(3)ORG0000HMOVDPTR,#0800HMOVA,#00HMOVCA,?A+DPTRMOV30H,AEND
(4)ORG0000HMOVA,30HXCHA,40HMOV30H,AEND
(5)ORG000011MOVA,30HSWAPAMOV30H,AEND
7.將30H,31H存儲(chǔ)單元中的十進(jìn)制數(shù)與38H,39H存儲(chǔ)單元中的十進(jìn)制數(shù)進(jìn)
行十進(jìn)制加法運(yùn)算,其和送入40H,41H存儲(chǔ)單元中。
#include<REG52.>〃片內(nèi)寄存器定義
#include<absacc.>
/***********mainC**************/
voidmain(void)
{unsignedintsum;
sum=DBYTE[0x30]+DBYTE[0x38];
if((sumOxOOOf)>0x9)sum+=0x06;〃個(gè)位十進(jìn)制調(diào)整
if(sum>0x99)sum+=0x60;〃十位十進(jìn)制調(diào)整
DBYTE[0x40]=sum;〃和低位字節(jié)
DBYTE[0x41]=(sum>>8)十DBYTE[0x31]十DBYTE[0x39];〃和高位字節(jié)
if(DBYTE[0x41]>0x09)DBYTE[0x41]+=0x06;〃百位十進(jìn)制調(diào)整while(1);/*程序
在此死循環(huán)*/
)
8.將片外數(shù)據(jù)存儲(chǔ)器的2600H存儲(chǔ)單元與2610H存儲(chǔ)單元中的數(shù)據(jù)分別進(jìn)行
十六進(jìn)制加法、十進(jìn)制加法運(yùn)算,其和送入2620H單元中,請(qǐng)寫出完成上述要
求的指令。
偽指令:
1.LDA2600H將2600H存儲(chǔ)單元的數(shù)據(jù)加載到累加器
2.ADDA261011;將2610H存儲(chǔ)單元的數(shù)據(jù)加到累加器上
3.STA2620H;將累加器中的結(jié)果存儲(chǔ)到2620H存儲(chǔ)單元中
指令示例:
1.LDAA260011;將260011存儲(chǔ)單元的數(shù)據(jù)加載到累加器
2.ADCA2610H;將2610H存儲(chǔ)單元的數(shù)據(jù)加到累加器上
3.STAA2620H;將累加器中的結(jié)果存儲(chǔ)到2620H存儲(chǔ)單元中
9.已知:(30H)=55H,(31H)=0AAH,分別寫出完成下列要求的指令,并寫出32H
存儲(chǔ)單元的內(nèi)容。
(1)(30H)-(31H)T(32H)。
(2)(30H)V(31H)->(32H)o
(3)(30H)+(31H)T(32H)o
(l)(30H)&(31H)->(32H);DBYTE[0x32]=DBYTE[0x30]&DBYTE[0x31];0x00
(2)(30H)|(31H)(32H);DBYTE[0x32]=DBYTE[0x30]|DBYTE[0x31];0xff
(3)(30H)?31H)f(32H);DBYTE[0x32]=DBYTE[0x30]"DBYTE[0x31];Oxff
10.什么指令可以改變程序計(jì)數(shù)器PC的值?
1.分支指令;分支指令可以根據(jù)條件改變PC的值,使程序跳轉(zhuǎn)到不同的代碼塊。常
見的分支指令有條件跳轉(zhuǎn)指令(如if語(yǔ)句)和無條件跳轉(zhuǎn)指令(如got。語(yǔ)句)。
2.跳轉(zhuǎn)指令:跳轉(zhuǎn)指令可以直接修改PC的值,使程序無條件地跳轉(zhuǎn)到指定的地址。
3.子程序調(diào)用指令:子程序調(diào)用指令將當(dāng)前PC的值保存在棧中,然后將PC設(shè)置為子
程序的起始地址。當(dāng)子程序執(zhí)行完畢后,PC會(huì)被還原為之前保存的值,使程序繼續(xù)執(zhí)行。
4.中斷指令:中斷指令可以改變PC的值,使程序跳轉(zhuǎn)到斷處理程序。中斷指令通常
由外部事件觸發(fā),例如硬件設(shè)備的狀態(tài)改變或者系統(tǒng)調(diào)用。
11.當(dāng)8051單片機(jī)沒有外擴(kuò)RAM時(shí),將永遠(yuǎn)不會(huì)用到什么指令?為什么?
當(dāng)8051單片機(jī)沒有外擴(kuò)RAM時(shí),將永遠(yuǎn)不會(huì)用到訪問外部數(shù)據(jù)存儲(chǔ)器(DSEG)的指
令。
這是因?yàn)?051單片機(jī)的內(nèi)部RAM被劃分為兩個(gè)部分:數(shù)據(jù)存儲(chǔ)器(DSEG)和片內(nèi)數(shù)據(jù)
存儲(chǔ)器(ISEG)。數(shù)據(jù)存儲(chǔ)器(DSEG)用于存儲(chǔ)外設(shè)的數(shù)據(jù)和程序中的可變數(shù)據(jù),而片內(nèi)數(shù)
據(jù)存儲(chǔ)器(ISEG)用于存儲(chǔ)程序的指令和只讀數(shù)據(jù)。外擴(kuò)RAM是用于擴(kuò)展數(shù)據(jù)存儲(chǔ)器
(DSEG)的一種方式。
當(dāng)8051單片機(jī)沒有外擴(kuò)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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至2031年中國(guó)液壓分塊機(jī)行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2031年中國(guó)三輪摩托車發(fā)電機(jī)行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2030年中國(guó)電子健康稱數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)深度游標(biāo)卡尺數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)恒壓供水實(shí)驗(yàn)裝置數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國(guó)輪胎拆裝機(jī)市場(chǎng)調(diào)查研究報(bào)告
- 體育用品企業(yè)財(cái)務(wù)報(bào)表分析考核試卷
- 2025-2030年可調(diào)節(jié)RGB燈光效果的耳機(jī)行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 2025-2030年地下物流管道系統(tǒng)行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 2025-2030年數(shù)字化拼版軟件創(chuàng)新行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 2025年度高端商務(wù)車輛聘用司機(jī)勞動(dòng)合同模板(專業(yè)版)4篇
- 2025年福建福州市倉(cāng)山區(qū)國(guó)有投資發(fā)展集團(tuán)有限公司招聘筆試參考題庫(kù)附帶答案詳解
- GB/T 45107-2024表土剝離及其再利用技術(shù)要求
- 五年級(jí)上冊(cè)脫式計(jì)算100題及答案
- 普通地質(zhì)學(xué)教材
- 反恐C-TPAT程序文件整套(通用)
- 2022年全國(guó)高考詩(shī)歌鑒賞試題-教學(xué)課件
- 天津華寧KTC101說明書
- 2023-2024學(xué)年浙江省杭州市小學(xué)語(yǔ)文六年級(jí)上冊(cè)期末深度自測(cè)試題
- 縣道及以上公路保潔考核檢查評(píng)分表
- 警燈、警報(bào)器使用證申請(qǐng)表
評(píng)論
0/150
提交評(píng)論