mcs-51指令_第1頁
已閱讀1頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、MCS51共有111條指令,可分為5類:[1].數(shù)據(jù)傳送類指令(共29條)[2].算數(shù)運(yùn)算類指令(共24條)[3].邏輯運(yùn)算及移位類指令(共24條)[4].控制轉(zhuǎn)移類指令(共17條)[5].布爾變量操作類指令(共17條)一些特殊符號的意義在介紹指令系統(tǒng)前,我們先了解一些特殊符號的意義,這對今后程序的編寫都是相當(dāng)有用的。Rn——當(dāng)前選中的寄存器區(qū)的8個(gè)工作寄存器R0—R7(n=07)。Ri——當(dāng)前選中的寄存器區(qū)中可作為地址寄存器的兩個(gè)寄存

2、器R0和R1(i=01)direct—內(nèi)部數(shù)據(jù)存儲單元的8位地址。包含0—127(255)內(nèi)部存儲單元地址和特殊功能寄存地址。#data—指令中的8位常數(shù)。#data16—指令中的16位常數(shù)。addr16—用于LCALL和LJMP指令中的16目的地地址,目的地址的空間為64kB程序存儲器地址。#addr11—用于ACALL和AJMP指令中的11目的地地址,目的地址必須放在與下條指令第一個(gè)字節(jié)同一個(gè)2kB程序存儲器空間之中。rel—8位帶

3、符號的偏移字節(jié),用于所有的條件轉(zhuǎn)移和SJMP等指令中,偏移字節(jié)對于下條指令的第一個(gè)字節(jié)開始的128——127范圍內(nèi)。@—間接寄存器尋址或基址寄存器的前綴?!獮椴僮鞯那熬Y,聲明對該位操作書取反。DPTR—數(shù)據(jù)指針。bit—內(nèi)部RAM和特殊功能寄存器的直接尋址位。A—累加器。B—累加器B。用于乘法和除法指令中。C—進(jìn)位標(biāo)志位。(x)—某地址單元中的內(nèi)容。((x))—由X尋址單元中的內(nèi)容。MCS51的尋址方式尋址的“地址”即為操作數(shù)所在單元的

4、地址,絕大部分指令執(zhí)行時(shí)都需要用到操作數(shù),那么到哪里去取得操作數(shù)呢?最易想到的就是告訴CPU操作數(shù)所在的地址單元,從那里可取得響應(yīng)的操作數(shù),這便是“尋址”之意。MCS51的尋址方式很多,使用起來也相當(dāng)方便,功能也很強(qiáng)大,靈活性強(qiáng)。這便是MCS51指令系統(tǒng)“好用”的原因之一。下面我們分別討論幾種尋址方式的原理。[1].直接尋址指令中操作數(shù)直接以單元地址形式出現(xiàn),例如:MOVA68H這條指令的意義是把內(nèi)部RAM中的68H單元中的數(shù)據(jù)內(nèi)容傳送

5、到累加器A中。值得注意的是直接尋址方式只能使用8位二進(jìn)制地址,因此這種尋址方式僅限于內(nèi)部RAM進(jìn)行尋址。低128位單元在指令中直接以單元地址的形式給出。對于特殊功能寄存器可以使用其直接地址進(jìn)行訪問,還可以以它們的符號形式給出,只是特殊功能寄存器只能用直接尋址方式訪問,而無其它方法。[2].寄存器尋址寄存器尋址對選定的8個(gè)工作寄存器R0R7進(jìn)行操作,也就是操作數(shù)在寄存器中,因此指定了寄存器就得到了操作數(shù),寄存器尋址的指令中以寄存器的符號來

6、表示寄存器,例如:MOVAR1這條指令的意義是把所用的工作寄存器組中的R3的內(nèi)容送到累加器A中。值得一提的是工作狀態(tài)寄存器的選擇是通過程序狀態(tài)字寄存器來控制的,在這條指令前,應(yīng)MOVA#data#data→(A)立即數(shù)送到累加器A中MOVARn(Rn)→(A)Rn中的內(nèi)容送到累加器A中MOVA@Ri((Ri))→(A)Ri內(nèi)容指向的地址單元中的內(nèi)容送到累加器A[2].以寄存器Rn為目的操作數(shù)的指令(3條)這3條指令的功能是把源操作數(shù)指定

7、的內(nèi)容送到所選定的工作寄存器Rn中。有直接、立即和寄存器尋址方式:MOVRndata(data)→(Rn)直接尋址單元中的內(nèi)容送到寄存器Rn中MOVRn#data#data→(Rn)立即數(shù)直接送到寄存器Rn中MOVRnA(A)→(Rn)累加器A中的內(nèi)容送到寄存器Rn中[3].以直接地址為目的操作數(shù)的指令(5條)這組指令的功能是把源操作數(shù)指定的內(nèi)容送到由直接地址data所選定的片內(nèi)RAM中。有直接、立即、寄存器和寄存器間接4種尋址方式:M

8、OVdatadata(data)→(data)直接地址單元中的內(nèi)容送到直接地址單元MOVdata#data#data→(data)立即數(shù)送到直接地址單元MOVdataA(A)→(data)累加器A中的內(nèi)容送到直接地址單元MOVdataRn(Rn)→(data)寄存器Rn中的內(nèi)容送到直接地址單元MOVdata@Ri((Ri))→(data)寄存器Ri中的內(nèi)容指定的地址單元中數(shù)據(jù)送到直接地址單元[4].以間接地址為目的操作數(shù)的指令(3條)這

9、組指令的功能是把源操作數(shù)指定的內(nèi)容送到以Ri中的內(nèi)容為地址的片內(nèi)RAM中。有直接、立即和寄存器3種尋址方式:MOV@Ridata(data)→((Ri))直接地址單元中的內(nèi)容送到以Ri中的內(nèi)容為地址的RAM單元MOV@Ri#data#data→((Ri))立即數(shù)送到以Ri中的內(nèi)容為地址的RAM單元MOV@RiA(A)→((Ri))累加器A中的內(nèi)容送到以Ri中的內(nèi)容為地址的RAM單元[5].查表指令(2條)這組指令的功能是對存放于程序存儲

10、器中的數(shù)據(jù)表格進(jìn)行查找傳送,使用變址尋址方式:MOVCA@ADPTR((A))(DPTR)→(A)表格地址單元中的內(nèi)容送到累加器A中MOVCA@APC((PC))1→(A),((A))(PC)→(A)表格地址單元中的內(nèi)容送到累加器A中[6].累加器A與片外數(shù)據(jù)存儲器RAM傳送指令(4條)這4條指令的作用是累加器A與片外RAM間的數(shù)據(jù)傳送。使用寄存器尋址方式:MOVX@DPTRA(A)→((DPTR))累加器中的內(nèi)容送到數(shù)據(jù)指針指向片外R

11、AM地址中MOVXA@DPTR((DPTR))→(A)數(shù)據(jù)指針指向片外RAM地址中的內(nèi)容送到累加器A中MOVXA@Ri((Ri))→(A)寄存器Ri指向片外RAM地址中的內(nèi)容送到累加器A中MOVX@RiA(A)→((Ri))累加器中的內(nèi)容送到寄存器Ri指向片外RAM地址中[7].堆棧操作類指令(2條)這4類指令的作用是把直接尋址單元的內(nèi)容傳送到堆棧指針SP所指的單元中,以及把SP所指單元的內(nèi)容送到直接尋址單元中。這類指令只有兩條,下述的

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論