程序存储器写数据寻址与直接寻址
发表:2023-08-29 12:06:26 阅读:57

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

 

程序存储器写数据寻址

程序存储器写数据寻址方式主要用于具有系统自编程功能的A V R单片机中,该寻址方式只能用于指令SPM。

指令执行时,将寄存器R1和R0中的组成内容R1:R0写入到由Z寄存器的内容作为地址的程序存储器单元中。注意:指令中Z寄存器的最低位必须为0。

例: SPM

操作:(Z)←R1:R0。把R1:R0内容写入到以Z为指针的程序存储器单元中。

 

程序存储器直接寻址

程序存储器直接寻址方式用于程序跳转指令JMP和CALL。指令中.低位是一个1 6位的操作数,指令将该操作数存入程序计数器PC中,作为下一条要执行的指令在程序存储器中的地址。JMP和CALL指令的寻址方式相同.但CALL指令除了把操作数给PC外.还把返回地址压入堆栈且堆栈指针寄存器SP内容减2(如图3-11所示)。

例:

JMP$0100

操作:PC←$0 100。执行从程序存储器$0 100开始的指令。

CALL$0100

操作:STACK←PC+2,SP←SP-2,PC←$0 1 00。指令先将程序计数器PC加2后压入堆栈。堆栈指针SP减2.然后执行从程序存储器$0100开始的指令。

 

程序存储器写数据寻址方式

 

 

 

电子街推荐您:

 

数据存储器与带后增量的数据存储器的间接寻址

带预减量与带位移的数据存储器的间接寻址

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

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

推荐品牌: