mcs-51 匯編指令集_第1頁
已閱讀1頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、8種常用偽指令種常用偽指令1G16位地址;此指令用在原程序或數(shù)據(jù)塊的開始,指明此語句后面目標程序或數(shù)據(jù)塊存放的起始地址。2[標號:]DB字節(jié)數(shù)據(jù)項表;將項表中的字節(jié)數(shù)據(jù)存放到從標號開始的連續(xù)字節(jié)單元中。例如:SEG:DB88H,100,“7”,“C”3[標號:]DW雙字節(jié)數(shù)據(jù)項表;定義16位地址表,16地址按低位地址存低位字節(jié),高位地址存高位字節(jié)。例如:TAB:DW1234H,7BH4名字EQU表達式或名字=表達式;用與給一個表達式賦值

2、或給字符串起名字。之后名字可用做程序地址,數(shù)據(jù)地址或立即數(shù)地址使用。名字必須是一字母開頭的字母數(shù)字串。例如:COUNT=10或SPACEEQU10H5名字DATA直接字節(jié)地址;給8位內(nèi)部RAM單元起個名字,名字必須是一字母開頭的字母數(shù)字串。同一單元可起多個名字。例如:ERRDATA80H6名字XDATA直接字節(jié)地址;給8位外部RAM起個名字,名字規(guī)定同DATA偽指令。例如:IO_PTXDATA0CF04H7名字BIT位指令;給一可位尋址

3、的位單元起個名字,規(guī)定同DATA偽指令。例如:SWTBIT30H8[標號:]END;指出源程序到此結束,匯編對其后的程序語句不予理睬源程序只在主程序最后使用一個END定義指令符號定義指令符號符號說明Rn目前所選定的寄存器組中的R0R7寄存器Ri當前選中的寄存器區(qū)中可作為地址寄存器的兩個寄存器R0和R1(i=01)Direct8位直接尋址地址,可以是內(nèi)存RAM地址(00H7FH)或SFR(80HFFH)@Ri通過R0或R1做間接尋址內(nèi)部R

4、AM的地址(00HFFH)的前綴#data8位立即數(shù)#data1616位立即數(shù),只有DPTR中才用到Addr16只用在LCALL(長指令調(diào)用,三字節(jié))和LJMP(無條件長轉移指令)指令中的16位目的地地址,可尋址64K存儲器中的任何地址Addr11使用在ACALL(絕對調(diào)用指令,雙字節(jié))和AJMP(無條件絕對轉移指令)指令中的11位目的地地址,可尋址下一個指令算起2K內(nèi)的任何地址,即目的地址必須放在與下條指令第一個字節(jié)同一個2kB程序存

5、儲器空間DPTR數(shù)據(jù)指針rel有符號的8位偏移地址(OffsetAddress),其范圍是從下一個指令算起的128到128字節(jié)中。負值表示地址向前推算,正值表示地址向后推算。使用在SJMP和所有條件式跳轉指令中bit可直接位尋址的內(nèi)部數(shù)據(jù)RAM(20H2FH),其中地址范圍為(00H7FH)或特殊功能積存器(80HFFH)A累加器B累加器,用于乘法和除法(X)某地址單元X中的內(nèi)容((X))某地址單元X內(nèi)存放一地址信息,此命令為尋址地址信

6、息所指地址中存放的數(shù)據(jù)所指向地址單元中的數(shù)據(jù)相加,結果存在A中ADDCAdirect(A)(direct)(C)→(A)累加器A中的數(shù)據(jù)與直接地址單元的數(shù)據(jù)連同進位位相加,結果存在A中21ADDCA#data(A)#data(C)→(A)累加器A中的數(shù)據(jù)與立即數(shù)連同進位位相加,結果存在A中21ADDCARnA)Rn(C)→(A)累加器A中的數(shù)據(jù)與工作寄存器Rn中的數(shù)據(jù)、連同進位位相加,結果存在A中11ADDCA@Ri(A)((Ri))(

7、C)→(A)累加器A中的數(shù)據(jù)與工作寄存器Ri指向地址單元中的數(shù)據(jù)、連同進位位相加,結果存在A中11SUBBAdirect(A)-(direct)-(C)→(A)累加器A中的數(shù)據(jù)與直接地址單元中的數(shù)據(jù)、連同借位位相減,結果存在A中21SUBBA#data(A)-(Rn)-(C)→(A)累加器A中的數(shù)據(jù)與工作寄存器中的數(shù)據(jù)、連同借位位相減,結果存在A中21SUBBARn(A)-(Rn)-(C)→(A)累加器A中的數(shù)據(jù)與工作寄存器中的數(shù)據(jù)、連

8、同借位位相減,結果存在A中11SUBBA@Ri(A)-((Ri))-(C)→(A)累加器A中的數(shù)據(jù)與工作寄存器Ri指向的地址單元中的數(shù)據(jù)、連同借位位相減,結果存在A中11MULAB(A)(B)→(A)和(B)累加器A中的數(shù)據(jù)乘以寄存器B中的數(shù)據(jù),結果高字節(jié)存入寄存器B,底字節(jié)存入累加器A14DIVAB(A)(B)→(A)和(B)累加器A中的數(shù)據(jù)除以寄存器B中的數(shù)據(jù),結果的商存入累加器A,余數(shù)存入寄存器B中14INCA1?(A)累加器A中

9、的數(shù)據(jù)加1,結果存在A中11INCdirect(direct)1→(direct)直接地址單元中的數(shù)據(jù)加1,結果送回原地址單元中,如果直接地址是IO,其功能是先讀入IO鎖存器的內(nèi)容,然后在CPU進行加1操作,再輸出到IO上,這就是“讀—修改—寫”操作21INC@Ri((Ri))1→((Ri))寄存器的數(shù)據(jù)指向的地址單元中的數(shù)據(jù)加1,結果送回原地址單元中11NCRnRn)1→(Rn)寄存器Rn的數(shù)據(jù)加1,結果送回原地址單元11INCDPT

10、R(DPTR)1→(DPTR)數(shù)據(jù)指針的數(shù)據(jù)加1,結果送回數(shù)據(jù)指針中12DECA(A)1→(A)累加器A中的數(shù)據(jù)減1,結果送回累加器A11DECdirect(direct)1→(direct)直接地址單元中的數(shù)據(jù)減1,結果送回直接地址單元中21DEC@Ri((Ri))1→((Ri))寄存器Ri指向的地址單元中的數(shù)據(jù)減1,結果送回原地址單元中11DECRn(Rn)1→(Rn)寄存器Rn中的數(shù)據(jù)減1,結果送回寄存器Rn中11DAA累加器A中

11、的數(shù)據(jù)做BCD調(diào)整11RLA累加器A中的數(shù)據(jù)左移一位,bit7?bit011RRA累加器A中的數(shù)據(jù)右移一位,bit7?bit711RLCA累加器A中的數(shù)據(jù)連同進位標志位CY左移一位,bit7?CY,CY?bit011RRCA累加器A中的數(shù)據(jù)連同進位CY位CY右移一位,bi0?CY,CY?bit711SWAPA累加器中的數(shù)據(jù)高低半字節(jié)互換11CPLA累加器中的數(shù)據(jù)按位取反,即0?1,1?011CLRA0?(A),累加器中的數(shù)據(jù)清0H11A

12、NLAdirect累加器A中的數(shù)據(jù)和直接地址單元中的數(shù)據(jù)執(zhí)行與操作。結果存在寄存器A中21ANLdirect#data直接地址單元中的數(shù)據(jù)和立即數(shù)執(zhí)行與操作。結果存在直接地址單元中32指令格式(助記符)指令功能說明字節(jié)周期NLA#data累加器A的數(shù)據(jù)和立即數(shù)執(zhí)行與操作。結果存在累加器A中21NLARn累加器A的數(shù)據(jù)和寄存器Rn中的數(shù)據(jù)執(zhí)行與操作。結果存在累加器A中11ANLdirectA直接地址單元中的數(shù)據(jù)和累加器A的數(shù)據(jù)執(zhí)行與操作。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論