8051/8052 memory addressing

Posted by: 邱小新 at 下午4:06 in ,

記憶體種類

typeSDCCinstructionsizeaddressing
(A) program__codeMOVC64Kindex direct
(B) external__xdataMOVX64Kindirect
(C) internal(80~FF)__idataMOV128indirect
(C) SFR(80~FF)__sfrMOV128direct
(C) internal(0~7F)__dataMOV128direct/indirect

記憶體定址

typereadwriteregister
directMOV Rn,direct
MOV direct,direct
MOV direct,Rn
MOV direct,@DPTR
MOV direct,#data
R0~R7,A
indirectMOV direct,@Ri
MOVX A,@DPTR
MOV @Ri,direct
MOVX @DPTR,A
MOV @Ri,#data
R0,R1,DPTR,A
index directMOV A,#30h
MOV DPTR,#300H
MOVC A,@A+DPTR
XA,DPTR
  1. Ri=R0,R1,Rn=R0~R7。
  2. 索引定址法 (index direct) 只能用在程式記憶體,而且不能寫入,只能讀取到 A。
  3. 外部記憶體只能使用間接定址法 (indirect),而且只能透過 Ri/DPTR/A 三者傳遞數值,如果要寫入數值,只能把值先存入 A,再由 A 寫入 DPTR/Ri。
  4. 內部記憶體不論間接或直接都可以直接把數值寫入,不需要透過 A,當然要經由 A 也是可以。

0 意見

張貼留言