在下面寻址方式的示意图中,OP表示操作码;RA-MEND表示RAM空间的最高位地址;FLASHEND表示FLASH空间的最高位地址。
1)带预减量的数据存储器间接寻址
带预减量的数据存储器间接寻址方式与带后增量的数据存储器间接寻址方式操作类似,间接地址寄存器X、Y和Z的Ph i-仍然储存着操作数在SRAM空间的地址,但是指令在间接寻址操作之前,先自动将间接地址寄存器的内容减1.然后在把减1后的rq容作为操作数在SRAM总的地址(如图3—7所示)。
例:
LD Rd.-Y
操作:Y=Y-1,Rd←(Y)。先把Y减1,再把以Y为指针的SRAM的内容送到Rd中。
LD R1 8,-Y
操作:如Y=$0568。先把Y减1.Y=$5 6 7,再把SRAM地址为$056 7的内容送到R1 8中。
2)带位移的数据存储器间接寻址
带位移的数据存储器间接寻址方式是把间接寄存器Y或Z的内容和指令中给出的地址偏移量相加作为操作数在SRAM中的地址,然后对该地址中的内容进行操作。由于偏移量在指令中只占6位,所以偏移量的范围为0~63(如图3—8所示)。
例:
LDD Rd,Y+q
操作:Rd←(Y+q),其中0≤q≤6 3,把地址为Y+q的SRAM的内容送到Rd中,而寄存器的内容不变。
LDD R1 8,Y+30
操作:如Y=$0568则把SRAM地址为$05 98的内容传送到R18中,Y寄存器的内容不变。
电子街推荐您阅读: