日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

當(dāng)前位置:電子發(fā)燒友網(wǎng) > 圖書頻道 > 電子 > 《單片機(jī)原理與應(yīng)用》 > 第3章 MCS-51單片機(jī)指令系統(tǒng)

第4節(jié) 數(shù)據(jù)傳送指令應(yīng)用舉例

【例3.1】   在程序存儲(chǔ)器中從而2000H單元開始依次存放置0~9的平方值:0、1、4、9、…、81,要求依據(jù)累加器A中的值(0~9)來(lái)查找所對(duì)應(yīng)的平方值,分析下述程序的結(jié)果。

                    MOV DPTR,#2000H

                    MOV A,#09H

                    MOVC A,@A+DPTR

執(zhí)行結(jié)果:(DPTR)=2000H,(A)=51H。

【例3.2】   仍以上例程序存儲(chǔ)器中2000H單元開始存放0~9的平方值,以PC作為基址寄存器進(jìn)行查表,設(shè)MOVC指令所在地址(PC)=1FF0F。

:偏移量=2000H—(1FF0H+1)=0FH

相應(yīng)的程序如下:

                    MOV   A,#09H

                    ADD A,#0FH

                    MOVC A,@A+PC

執(zhí)行結(jié)果:(PC)=1FF1H,(A)=51H

這是以PC作為基址寄存器,CPU取完該指令操作碼時(shí)PC會(huì)自動(dòng)加工廠,指向下一條指令的第一個(gè)字節(jié)地址,即此時(shí)是用(PC)+1作為基址的,目標(biāo)地址為(A)+(PC)+1。另外,由于累加器A中的內(nèi)容為8位無(wú)符號(hào)整數(shù),這不使得本指令查表范圍只能在以PC當(dāng)前值開始后256個(gè)字節(jié)范圍內(nèi)(即(PC)+1H~100H),使表格地址空間分配受到限制。同時(shí)編程時(shí)還需進(jìn)行偏移量的計(jì)算,即MOVC A,@A+PC指令所在地址與表格存放首地址間的距離量計(jì)算,并需要一條加法指令A(yù)DD進(jìn)行地址調(diào)整(ADD指令將在下節(jié)介紹)。偏移量計(jì)算公式為:

    偏移量=表首地址—(MOVC指令所在地址+1)

【例3.3】    若在程序存儲(chǔ)器中2000H單元開始依次存放0~9的平方值,數(shù)據(jù)指針(DPTR)=3A00H,用查一指令取出2003H單元的數(shù)據(jù)后,要求保持DPTR中的內(nèi)容不變,完成以上功能的程序如下:

MOV   A,#03H      ;(A)←03H              

PUSH   DPH          ;保護(hù)DPTR高8位入棧     

PUSH   DPL           ;保護(hù)DPTR低8位入棧

MOV   DPTR,#2000H  ;(DPTR)←2000H

MOVC  A,@A+DPTR   ;(A)←(2000H+03H)

POP  DPL              ;彈出DPTR低8位         

POP  DPH              ;彈出DPTR高8位,(先進(jìn)后出) 

執(zhí)行結(jié)果:(A)=09H,(DPTR)=3A00H。

由此可見,雖然在程序中改變了DPTR的內(nèi)容,但利用PUSH和POP指令可對(duì)其進(jìn)行保護(hù)和恢復(fù),要注意的是堆棧先進(jìn)后出的原則,否則DPH彈出時(shí)互換。

?
竹北市| 静乐县| 文化| 临武县| 汉阴县| 玉屏| 玉树县| 东乡族自治县| 耿马| 商城县| 乐亭县| 舞阳县| 监利县| 新巴尔虎右旗| 航空| 六安市| 赞皇县| 铁力市| 洛浦县| 攀枝花市| 滨州市| 河间市| 宁安市| 杭州市| 天门市| 贡觉县| 文安县| 靖州| 息烽县| 四会市| 蓝田县| 汽车| 永川市| 酒泉市| 来凤县| 轮台县| 松潘县| 钦州市| 临江市| 孝感市| 石家庄市|