发布: 2009-4-05 16:00 | 作者: hnrain | 查看: 14次
U9q+F$wDGl1EYc43630 1 以pc的当前值为基址(指本条指令的首地址),单字节指令,执行时,先始pc+1指向下一条指令的地址,然后在与累加器a的内容相加,形成变址寻址的地址
#g/P&Al3EA43630 电子园51单片机学习网#n-_u"k3Hh`L,Emovc a, @a+pc ; (pc)<----(pc)+1 , (a)<----((a)+(pc)电子园51单片机学习网{1_@m C$r7J%h
电子园51单片机学习网6ru-PMg AX:}2 以dptr为基址寄存器,将dptr的内容与累加器a的内容相加得到变址地址
W5B;tnSc43630xp7cFDg43630 movc a, @a+dptr ; (a)<-----((a)+(dptr))电子园51单片机学习网*_)] p(i3g
电子园51单片机学习网~$`_O,{Z'f编写简单验证程序;
*M3M K"W:Zd43630 电子园51单片机学习网K8EGY+Nhorg 0000h
O%Uh[|yW43630 电子园51单片机学习网(Z yHZ_5z7e7Z8Nljmp main电子园51单片机学习网%yGB)W1yg+Od
电子园51单片机学习网H$MMi$f{A!?!Oaorg 0030h
pD!elX8ke"?,^o43630M(ad h3FN C43630main: mov a, #02h ; 将偏移量02h送入累加器a电子园51单片机学习网3Z p9W*z5L@.x
.zeYe1Q1?(AK43630 movc a, @a+pc ; 将当前pc值与偏移量相加得到变址地址,将其内容送到a电子园51单片机学习网q Y-Nz!D^
_#e0} I_1A1O1i-h43630 此条指令的首地址为0032h,执行时现将pc+1,变成0033h,再和偏移量02H相加,结果为35h电子园51单片机学习网R l&g+b-E-l!Z]
!N+sT,vvD43630 将0035h单元的内容送入a中电子园51单片机学习网{ byC~$L
gKMff:f%r@@]43630电子园51单片机学习网$n!x?_k
电子园51单片机学习网5W9I]|5[!c0l3m?mov dptr, #0041h ; 设定基地址,将0040h送如dptr电子园51单片机学习网 ?Gr D!x8Bc}S o8J:kf
.Kgf|4NF$c0f43630 此条指令在程序存储器中所处的位置如下电子园51单片机学习网;yS-S.o*NJi*l
e(|w/t6jf"A4Z{ feA43630 0033h dptr
!G6f$F3E$z+Ho436303q[1a0a5b(r43630 0034h 00h电子园51单片机学习网5ZeE+V&N1[(k
Y*LA'ob r43630 0035h 41h ;此处即为上条指令执行后所指向的地址,所以执行后a中的内容为41h 电子园51单片机学习网3k fL"C8k"[1k
电子园51单片机学习网Y{&Z,{['T d$MqGY t2l*beq C"u&l#i:NLQN43630
/x5U)`:@g8l43630 电子园51单片机学习网:w5QppN5BwH4ml
0O9a0[N_Q43630 movc a, @a+dptr ; 将a中的内容与dptr中的内容相加,其和的地址的内容送a
7\7vJu g4O43630org 0080h ;伪指令,下面的内容从0080h单元开始存放
;d]xz-c43630J;o4AGR43630 db 73h,60h,90h ;0082h单元的内容为90h
/C+E{eSj)[43630 电子园51单片机学习网0B#h }p7}?,nBend电子园51单片机学习网&EG+x\bw
E O0D;`:MQ436301 变址寻址方式专用于程序存储器的访问,不能访问数据存储器电子园51单片机学习网1LVhR+w,H
电子园51单片机学习网r~)^M(} V2w2 使用变址寻址时,应先为a,和dptr赋值,以便确定地址,以pc为基址时只需要给a赋值即可电子园51单片机学习网"n"qw,i t{V:{4e
文章评论(0条评论)
登录后参与讨论