数据存储器堆栈寄存器的SP间接寻址
发表:2023-08-29 12:06:23 阅读:83

在下面寻址方式的示意图中,OP表示操作码;RA-MEND表示RAM空间的最高位地址;FLASHEND表示FLASH空间的最高位地址。

 

数据存储器堆栈寄存器SP间接寻址

数据存储器堆栈寄存器SP间接寻址方式是把1 6位的堆栈寄存器SP的内容作为操作数在SRAM空间的地址,此寻址方式用于PUSH和POP指令(如图3—1 4所示)。

例:PUSH R0

操作:STACK←R0,SP←SP-1。若当前SP=$10FF,则先把寄存器R0的内容送到SRAM的$10FF单元中,再将SP内容减1,即SP=$10FE。

POP R1

操作:SP←SP+1,R1←STACK。若当前SP=$10FE,则先将5P内容加1,再把SRAM的$10EF单元内容送到寄存器R1中,此时SP=$10FF。

此外,在CALL类的程序调用指令(SP=SP-2)和RET类的子程序返回指令中(SP=SP+2),都隐含着使用堆栈寄存器SP间接寻址的方式。

 

数据存储器堆栈寄存器SP间接寻址

 

 

电子街推荐您:

 

程序存储器取常量寻址的方式

带后增量的程序存储器取常量寻址

程序存储器写数据寻址与直接寻址

程序存储器Z寄存器的间接寻址与相对寻址