变址寻址
发布时间:2014/6/4 21:10:50 访问次数:2336
变址寻址时,HEF4081BT指定变址寄存器的内容与指令中给出的偏移量相加所得的结果作为操作数的地址,如图4-3所示。
表示变址寻址,其中,DPTR为变址寄存器,其中的内容与指令中A存放的偏移量相加,所得的和为操作数地址,访问程序存储器后,将该地址单元的内容(假设为X)送到累加器A。
图4-3变址寻址示意图
无论用DPTR或PC作为基准指针,累加器A均为存放偏移量的寄存器。变址寻址的寻址空间只适用于程序存储器(即ROM),通常用于读取数据表。
相对寻址
相对寻址时,由程序计数器PC提供的基准地址与指令中提供的偏移量rel相加,得到操作数的地址(转移目的地址),如图4-4所示。
相对寻址方式只用于如“SJMP rel”这一类相对转移指令中,其中rel为一个带符号的数,即补码,可正也可负。转移时是以PC的当前值(即取完指令后的PC内容)与偏移量相加的和作为转移目的地址,送到程序计数器PC中。为了方便,通常在编写汇编语言程
序时“rel”用符号地址替代,只有在汇编时才转换为真实地址-8位的补码。
变址寻址时,HEF4081BT指定变址寄存器的内容与指令中给出的偏移量相加所得的结果作为操作数的地址,如图4-3所示。
表示变址寻址,其中,DPTR为变址寄存器,其中的内容与指令中A存放的偏移量相加,所得的和为操作数地址,访问程序存储器后,将该地址单元的内容(假设为X)送到累加器A。
图4-3变址寻址示意图
无论用DPTR或PC作为基准指针,累加器A均为存放偏移量的寄存器。变址寻址的寻址空间只适用于程序存储器(即ROM),通常用于读取数据表。
相对寻址
相对寻址时,由程序计数器PC提供的基准地址与指令中提供的偏移量rel相加,得到操作数的地址(转移目的地址),如图4-4所示。
相对寻址方式只用于如“SJMP rel”这一类相对转移指令中,其中rel为一个带符号的数,即补码,可正也可负。转移时是以PC的当前值(即取完指令后的PC内容)与偏移量相加的和作为转移目的地址,送到程序计数器PC中。为了方便,通常在编写汇编语言程
序时“rel”用符号地址替代,只有在汇编时才转换为真实地址-8位的补码。