8051单片机指令和寻址方式
80C51指令系統專用于80C51系列單片機,具有255種操作碼(00H-FFH)除去A5H。
1. 尋址方式
尋址方式就是指指令中給出尋找操作數或操作數所在地址的方法,執行任何指令都需要操作數。
1)立即尋址
MOV DPTR,#1234H; 立即尋址是指在指令中直接給出操作數,出現在指令中的操作數稱為立即數,因此被稱為立即尋址。
2)直接尋址
MOV A,3AH; 直接尋址是指在指令中直接給出操作數單元地址。功能是將片內RAM的3AH單元內的數據傳送內累加器A。
直接尋址方式只能給出8位地址,因此這種尋址方式的尋址范圍只限于片內RAM。具體:a.低128單元,在指令中直接以單元地址的形式給出;b.特殊功能寄存器,即可以以單元地址形式也可以以寄存器符號形式給出。直接尋址是訪問SFR寄存器的唯一方法。
3)寄存器尋址
INC R0; 寄存器尋址是指指令中將指定的寄存器的內容作為操作數。該語句實現R0寄存器的自加一操作。
寄存器尋址范圍: a.四個寄存器組共32個通用寄存器; b.部分特殊功能寄存器,A、AB、DPTR。
4)寄存器間接尋址
ANL A,@R1; 是指在指令中給出的寄存器內容是操作數的地址,從該地址取出的才是操作數。@前綴是區分寄存器尋址和間接尋址的標志。
尋址范圍:
a.片內ram低128單元,只能采用R0或R1為間接尋址寄存器;
b.片外的64K ram單元,使用DPTR作為間接尋址寄存器;
c.片外RAM低256單元,除了用DPTR外還可以用R0或R1為間址寄存器,例如MOVX A,@R0
d.堆棧區,堆棧操作指令(PUSH和POP)
5)相對尋址
是指在指令中給出的操作數為程序轉移的偏移量。如JC 80H;
6)變址尋址
是指以DPTR或PC為基址寄存器,累加器A作為變址寄存器,以兩者的內容相加,形成16為的程序存儲地址作為操作數地址。
如:MOVC A,@A+DPTR; 變址尋址只能對程序存儲器尋址
7)位尋址
單片機有位操作功能,位尋址的范圍包括:
a)片內ram中的位尋址區。有20H-2FH,共16個單元128位,可以直接使用位地址0H~7FH
b)可位尋址的SFR。共有11個可位尋址SFR,實際有83個位可位尋址。
轉載于:https://www.cnblogs.com/scnutiger/archive/2009/12/08/1619177.html
總結
以上是生活随笔為你收集整理的8051单片机指令和寻址方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vmware 指定的网络名不可用
- 下一篇: CMMI的背景