|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1、外部ram 64kb。对外部ram64kb的间接寻址,应使用@dptr作间址寻址寄存器,其形式为:@dptr。) o! F0 J) Q% ]8 M
L) }# l; a- [% X. O例如movx a,@dptr;其功能是把dptr指定的外部ram的单元的内容送入累加器a中。
% I3 [! J+ |4 C; I" r) a [: N8 J8 J$ p" E* ~' Y5 ]+ M$ a+ `
外部ram的低256单元是一个特殊的寻址区,除可以用dptr作间址寄存器寻址外,还可以用r0或r1作间址寄存器寻址。
P7 N; _6 h3 I1 x8 Y0 H) r) H) g" o0 X, n1 r* e
例如movx a,@r0;这条指令的意思是,把r0指定的外部ram单元的内容送入累加器a。
2 o [" W- p P% F! g( R: z) G/ h
2、堆栈操作指令(push和pop)也应算作是寄存器间接寻址,即以堆栈指针sp作间址寄存器的间接寻址方式。( \( U; F+ d" c( c
' s/ _, t$ w0 ?, T7 _2 B$ i3、内部ram低128单元。对内部ram低128单元的间接寻址,应使用r0或r1作间址寄存器,其通用形式为@ri(i=0或1)。5 O/ @; ]* U, B8 N3 t# X: _$ z6 V
7 f$ |. u( m* D8 ^$ e% F7 v4、内部ram的高128单元也可以访问。但是注意不能用间接寻址的方式去访问特殊功能寄存器,虽然sfr与内部高128字节ram地址相同,但是当一个指令访问高于7hf的内部位置时,cpu是根据寻址方式来区分是访问高128字节的内部ram数据还是访问sfr.
, T N4 v: R( v0 { |
|