带后增量的程序存储器取常量寻址
发表:2023-08-29 12:06:26 阅读:62

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

 

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

程序存储器取常量寻址方式的功能主要是从程序存储器F1ash中读取常量,该寻址方式只能用于指令LPM Rd,Z+。

程序存储器中常量的地址由地址寄存器Z的内容决定。地址寄存器Z的高1 5位用于选择常量在程序存储器中.的地址,而最低位用于选择常量在程序存储器地址的高/低字节。当最低位为“0”时,选择常量在程序存储器地址的低字节;当最低位为“1"时,选择常量在程序存储器地址的高字节。寻址操作后,Z寄存器的内容加1(如图3—1 0所示)。

例:

LPM Rd,Z+

操作:Rd一(Z),即把以Z为指针的程序存储器的内容送到Rd,然后Z的内容加1。若Z=$0100,则把地址为$0080的程序存储器的低字节内容送到Rd,完成后Z=$0101。若Z=$0101,则把地址为$0080的程序存储器的高字节内容送到Rd,完成后Z:$0102。

LPM R1 8,Z+

操作:R1 8←(Z),即把以Z为指针的程序存储器的内容送到R1 8。看Z=$01 00,则把地址为$0080的程序存储器的低字节内容送到R1 8,完成后Z=$01 01。若Z=$0 1 01,则把地址为$0080的程序存储器的高字节内容送到R1 8,完成后Z=$0102。

 

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

 

 

 

电子街推荐您阅读:

 

I/O寄存器与数据存储器的直接寻址

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

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

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