




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第三章
指令系統(tǒng)----89C51單片機的指令系統(tǒng)主講:武桐§3.389C51單片機的指令系統(tǒng)概述:MCS-51指令系統(tǒng)由111條指令組成。其中單字節(jié)指令49條,雙字節(jié)指令45條,三字節(jié)指令17條。從指令執(zhí)行時間看,單周期指令64條,雙周期45條,只有乘、除指令為4個周期?!?.389C51單片機的指令系統(tǒng)89C51指令系統(tǒng)可分為五大類
[1]數(shù)據(jù)傳送指令:28條
[2]算術(shù)運算指令:24條
[3]邏輯運算及移位指令:25條
[4]控制轉(zhuǎn)移指令:17條
[5]位操作指令(布爾操作):17條3.3.1數(shù)據(jù)傳送指令§3.389C51單片機的指令系統(tǒng)---使用最頻繁的指令CPU在進行算術(shù)和邏輯運算時,總需要有操作數(shù),因此,數(shù)據(jù)的傳送是一種最基本、最主要的操作。數(shù)據(jù)傳送類指令共28條,是將源地址單元的內(nèi)容送到目的地址單元去。指令執(zhí)行后,源操作數(shù)不變,目的操作數(shù)被源操作數(shù)取代,或者二者互換。3.3.1數(shù)據(jù)傳送指令§3.389C51單片機的指令系統(tǒng)以累加器A為目的操作數(shù)的指令(4條,即4種尋址方式)以寄存器Rn為目的操作數(shù)的指令(3條)以直接地址為目的操作數(shù)的指令(5條)以間接地址為目的操作數(shù)的指令(3條)十六位數(shù)據(jù)傳送指令(1條)查表指令(2條)累加器A與片外RAM傳送指令(4條)棧操作指令(2條)交換指令(4條)數(shù)據(jù)傳送類指令用到的助記符有:MOV、MOVX、MOVC、XCH、XCHD、PUSH、POP7種。3.3.1數(shù)據(jù)傳送指令§3.389C51單片機的指令系統(tǒng)---使用最頻繁的指令數(shù)據(jù)傳送類指令不影響標志位,這里所指的標志是指Cy、Ac和OV,但不包括檢驗累加器奇偶性的標志位P。3.3.1數(shù)據(jù)傳送指令§3.389C51單片機的指令系統(tǒng)(1)以累加器A為目的操作數(shù)的指令(4條)3.3.1數(shù)據(jù)傳送指令§3.389C51單片機的指令系統(tǒng)(1)以累加器A為目的操作數(shù)的指令(4條)MOVA,R6;(R6)
A寄存器尋址MOVA,@R0;((R0))
A間接尋址MOVA,70H;(70H)
A直接尋址MOVA,#78H;78H
A立即尋址例如:3.3.1數(shù)據(jù)傳送指令§3.389C51單片機的指令系統(tǒng)(2)以寄存器Rn為目的操作數(shù)的指令(3條)例如:(A)=78H,(R5)=47H,(70H)=F2H,執(zhí)行指令:MOVR5,A ;(A)
R5,
(R5)=78HMOVR5,70H;(70H)
R5,(R5)=F2HMOVR5,#A3H;A3H
R5,(R5)=A3H注意在89C51指令系統(tǒng)中沒有“MOVRn,Rn”傳送指令3.3.1數(shù)據(jù)傳送指令§3.389C51單片機的指令系統(tǒng)(3)以直接地址為目的操作數(shù)的指令(5條)匯編指令格式機器碼格式操作注釋MOVdirect,A 11110101direct(A)→direct將累加器A中內(nèi)容傳送到直接地址direct所指出的片內(nèi)存儲單元中。MOVdirect,Rn 10001rrrdirect(Rn)→
direct將工作寄存器Rn(即R0-R7)中內(nèi)容傳送到直接地址direct所指出的片內(nèi)存儲單元中MOVdirectdirect10000101源direct目的direct(源direct)→目的direct將直接地址源direct所指出的片內(nèi)存儲單元中內(nèi)容傳送到直接地址目的direct所指出的片內(nèi)存儲單元中3.3.1數(shù)據(jù)傳送指令§3.389C51單片機的指令系統(tǒng)匯編指令格式機器碼格式操作注釋MOVdirect,@Ri1000011idirect((Ri))→
direct將間接尋址(Ri為R0或R1)所得的片內(nèi)RAM單元內(nèi)容傳送到直接地址direct所指出的片內(nèi)存儲單元中MOVdirect,#data01110101direct#data#data
→
direct將立即數(shù)傳送到直接地址direct所指出的片內(nèi)存儲單元中這組指令的功能是把源操作數(shù)所指定的內(nèi)容送入由直接地址direct所指出的片內(nèi)存儲單元中。MOV 30H,40H;(40H)
30H直接尋址等效于:MOV A,40H;(40H)
AMOV 30H,A;(A)
30H寄存器尋址3.3.1數(shù)據(jù)傳送指令§3.389C51單片機的指令系統(tǒng)例如:(3)以直接地址為目的操作數(shù)的指令(5條)3.3.1數(shù)據(jù)傳送指令§3.389C51單片機的指令系統(tǒng)例如:(4)以寄存器間接地址為目的操作數(shù)的指令(3條)(Ri)表示Ri中的內(nèi)容為指定的RAM單元。設(shè):(30H)=6FH,(R1)=40H,執(zhí)行:MOV@R1,30H;結(jié)果:(40H)=6FH3.3.1數(shù)據(jù)傳送指令§3.389C51單片機的指令系統(tǒng)MOV指令在片內(nèi)存儲器的操作功能如圖3-6示。@RiRn#data
A
direct3.3.1數(shù)據(jù)傳送指令§3.389C51單片機的指令系統(tǒng)(5)十六位數(shù)據(jù)傳送指令(1條)匯編指令格式機器碼格式操作注釋MOVDPTR,#data1610010000高位字節(jié)低位字節(jié)dataH→DPHdataL→DPL將高8位立即數(shù)dataH送入DPH,低8位立即數(shù)dataL送入DPL。*這條指令的功能是把16位常數(shù)送入DPTR。這條指令的執(zhí)行結(jié)果把高8位立即數(shù)送入DPH,低8位立即數(shù)送入DPL。*這是整個指令系統(tǒng)唯一的一條16位數(shù)據(jù)傳送指令,用來設(shè)置地址指針。地址指針DPTR由DPH和DPL組成。3.3.1數(shù)據(jù)傳送指令§3.389C51單片機的指令系統(tǒng)例如:(5)十六位數(shù)據(jù)傳送指令(1條)MOVDPTR#1234H;#1234
DPTR;
(DPTR)=1234H,(DPH)=12H,(DPL)=34H3.3.1數(shù)據(jù)傳送指令§3.389C51單片機的指令系統(tǒng)(6)查表指令(2條)匯編指令格式機器碼格式操作注釋MOVCA,@A+DPTR;10010011先(PC)+1→PC,后((A)+(DPTR))→A(遠程查表)MOVCA,@A+PC;10000011先(PC)+1→PC,后((A)+(PC))→A(近程查表)
在89C51指令系統(tǒng)中,有2條極為有用的查表指令,其數(shù)據(jù)表格放在程序存儲器中?;刂芳拇嫫?變址寄存器間接尋址@PC+A(程序存儲器0-64K)基地址寄存器+變址寄存器間接尋址@DPTR+A(程序存儲器0-64K)累加器A圖3-7程序存貯器傳送(查表)3.3.1數(shù)據(jù)傳送指令§3.389C51單片機的指令系統(tǒng)(6)查表指令(2條)
MOVCA,@A+PC近程查表
這條指令以PC作基址寄存器,A的內(nèi)容作為無符號整數(shù)和PC的內(nèi)容相加后得到一個16位的地址,由該地址指出的程序存儲單元的內(nèi)容送達累加器A。
此指令的優(yōu)點是不改變特殊功能寄存器及PC的狀態(tài),根據(jù)A的內(nèi)容就可以取出表格中的常數(shù)。缺點是表格只能存放在該條查表指令后面的256個單元之內(nèi),表格的大小受到限制,而且表格只能被一段程序所利用。3.3.1數(shù)據(jù)傳送指令§3.389C51單片機的指令系統(tǒng)
MOVCA,@A+PC近程查表3.3.1數(shù)據(jù)傳送指令§3.389C51單片機的指令系統(tǒng)1010H02H1011H04H1012H06H1013H08HROM執(zhí)行程序:1000H:MOVA,#0DH;#0DH
A,查表的偏移量
1002H:MOVCA,@A+PC;(0DH+1003H)
A1003H:MOVR0,A;(A)
R0結(jié)果為:(A)=02H,(R0)=02H,(PC)=1004H
MOVCA,@A+DPTR遠程查表這條指令以DPTR作為基址寄存器,A的內(nèi)容作為無符號整數(shù)和DPTR的內(nèi)容相加后得到一個16位的地址,由該地址指出的程序存儲單元的內(nèi)容送達累加器A。
這條查表指令的執(zhí)行結(jié)果只和指針DPTR及累加器A的內(nèi)容有關(guān),與該指令存放的地址及常數(shù)表格存放的地址無關(guān),因此表格的大小和位置可以在64K程序存儲器中任意安排,一個表格可以為各個程序塊公用。3.3.1數(shù)據(jù)傳送指令§3.389C51單片機的指令系統(tǒng)(6)查表指令(2條)
MOVCA,@A+DPTR遠程查表3.3.1數(shù)據(jù)傳送指令§3.389C51單片機的指令系統(tǒng)7010H02H7011H04H7012H06H7013H08HROM執(zhí)行程序:1000H:MOVA,#10H;#10H
A1002H:PUSHDPH;DPH入棧1004H:PUSHDPL;DPL入棧1006H:
MOVDPTR,#7000H;7000H
DPRT1009H:
MOVCA,@A+DPTR;(10H+7000H)A100AH:
POPDPL;DPL出棧100CH:
POPDPH;DPH出棧結(jié)果為:(A)=02H,(PC)=100EH,(DPTR)=原值保護DPRT恢復DPRT,先進后出例:求平方數(shù)MOVA,#03H ADDA,#rel MOVCA,@A+PC MOV20H,AHERE:SJMP HERETABLE:DB00H,01H,04H,09H DB16H,25H,36H,49HDB64H,81H 0FFEH1000H1002H1003H1005H1007H例:求平方數(shù)MOVA,#03H MOVDPTR,#TABLE MOVCA,@A+DPTR MOV20H,AHERE:SJMP HERETABLE:DB00H,01H,04H,09H DB16H,25H,36H,49HDB64H,81H 3.3.1數(shù)據(jù)傳送指令§3.389C51單片機的指令系統(tǒng)(7)累加器A與片外RAM傳送指令(4條)在8051指令系統(tǒng)中,CPU對片外RAM的訪問只能用寄存器間接尋址的方式,且僅有四條指令:*第2,4兩條指令以DPTR為片外數(shù)據(jù)存儲器16位地址指針,尋址范圍達整個64KB片外數(shù)據(jù)存儲器空間。其功能是DPTR所指定的片外數(shù)據(jù)存儲器與累加器A之間傳送數(shù)據(jù)。3.3.1數(shù)據(jù)傳送指令§3.389C51單片機的指令系統(tǒng)(7)累加器A與片外RAM傳送指令(4條)MOVXA,@DPTR
;((DPTR))
A,讀外部RAM/IOMOVX@DPTR,A
;(A)
(DPTR),寫外部RAM/IO*第1,3兩條指令是用R0或R1作低8位地址指針,由P0口送出,尋址范圍是片外256字節(jié)的數(shù)據(jù)存儲器。這兩條指令完成以R0或R1為地址指針的片外數(shù)據(jù)存儲器與累加器A之間的傳送數(shù)據(jù)。3.3.1數(shù)據(jù)傳送指令§3.389C51單片機的指令系統(tǒng)(7)累加器A與片外RAM傳送指令(4條)MOVXA,@Ri
;((Ri))
A,讀外部RAM/IOMOVX@Ri,A
;(A)
((Ri)),寫外部RAM/IO圖3-8外部數(shù)據(jù)存儲器傳送操作累加器A寄存器間接尋址
寄存器間接尋址@R1,@R0@DPTR(外RAM0-255B)
(外RAM0-64KB)3.3.1數(shù)據(jù)傳送指令§3.389C51單片機的指令系統(tǒng)(7)累加器A與片外RAM傳送指令(4條)上述四條指令的操作如圖3-8所示:3.3.1數(shù)據(jù)傳送指令§3.389C51單片機的指令系統(tǒng)(7)累加器A與片外RAM傳送指令(4條)將片外2010H單元內(nèi)容送到片內(nèi)30H單元中例如:MOV DPTR,#2010HMOVXA,@DPTRMOV 30H,A3.3.1數(shù)據(jù)傳送指令§3.389C51單片機的指令系統(tǒng)(7)累加器A與片外RAM傳送指令(4條)將片外RAM1000H單元中的數(shù)據(jù)
片外RAM2000H單元例如:MOV DPTR,#1000HMOVX A,@DPTRMOV DPTR,#2000HMOVX @DPTR,A3.3.1數(shù)據(jù)傳送指令§3.389C51單片機的指令系統(tǒng)(8)棧操作指令(2條)*在89C51片內(nèi)RAM的128字節(jié)單元中,設(shè)定一個區(qū)域作為堆棧(一般設(shè)在30H~7FH單元中);*數(shù)據(jù)的進棧出棧由指針SP統(tǒng)一管理,原則是“先進后出,后進先出”。3.3.1數(shù)據(jù)傳送指令§3.389C51單片機的指令系統(tǒng)例如:(8)棧操作指令(2條)當(SP)=30H,(A)=40H,(B)=70H時執(zhí)行下列指令:40H
31H70H
32H10H
30HSPPUSHA
(SP)+1=31H
SP(A)
31HPUSHB
(SP)+1=32H
SP(B)
32H棧底棧頂結(jié)果:(31H)=40H,(32H)=70H(SP)=32H將累加器A中內(nèi)容傳送到直接地址direct所指出的片內(nèi)存儲單元中。其中單字節(jié)指令49條,雙字節(jié)指令45條,三字節(jié)指令17條。MOVCA,@A+PC近程查表11110101MOVXA,@DPTR;((DPTR))A,讀外部RAM/IO該指令將累加器A的低4位與R0或R1所指出的片內(nèi)RAM單元的低4位數(shù)據(jù)相互交換,各自的高4位不變。1003H:MOVR0,A
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療機構(gòu)碳排放權(quán)購買與托管服務(wù)合同
- 2025年交通運輸行業(yè)人才需求與培養(yǎng)模式創(chuàng)新路徑研究報告
- 氣象預警信息共享補充協(xié)議
- 影視替身演員合作協(xié)議
- 國際田徑錦標賽志愿者培訓與賽事服務(wù)補充協(xié)議
- 省際電力交易與輸電線路運維合同
- 2025年城市公交優(yōu)先戰(zhàn)略對交通擁堵治理的挑戰(zhàn)應對方案報告
- 專利技術(shù)展示活動場地租賃及展會組織管理協(xié)議
- 學校消防安全教育及設(shè)施維護合同
- 文物資源會計研究:綜述與展望
- 工程合同掛靠協(xié)議書范本
- 沈陽市東北大學非教師崗位招聘考試真題2024
- 高校宿管培訓
- 建筑施工行業(yè)安全生產(chǎn)責任保險
- 2025年護士執(zhí)業(yè)資格真題答案解析
- 2025年03月國家衛(wèi)生健康委統(tǒng)計信息中心公開招聘人才派遣1人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 行政管理本科畢業(yè)論文-數(shù)字政府建設(shè)背景下的行政文化轉(zhuǎn)型探析
- 管理學基礎(chǔ)-形考任務(wù)三-國開-參考資料
- 2024年廣東廣州中考滿分作文《那個教會我向前走的人》
- PRAME:解鎖皮膚黑素瘤奧秘的關(guān)鍵密碼-表達特征與臨床意義的深度剖析
- 浙江省腫瘤醫(yī)院醫(yī)療廢物暫存間環(huán)保設(shè)施提升改造項目報告表
評論
0/150
提交評論