(1)寄存器间接寻址概述
寄存器间接寻址是通过使用cpu内部集成的两个地址寄存器ar1和ar2存储地址指针来实现的寻址方式,使用时分为内部区域间接寻址和交叉区域寻址两种寻址方式。
ar1,ar2均为32位寄存器,寄存器间接寻址只使用32位指针。对地址寄存器ar操作的相关指令有:
(2)寄存器寻址——内部区域寄存器间接寻址
内部区域寄存器间接寻址指针用于i、q、m、l和数据块等存储器中的位、字节、字及双字的寻址,与32位存储器的使用方式相同,不同之处在于指针存储的位置不同。内部区域寄存器地址指针格式如下所示:
第0位至第2位作为寻址操作的位地址,第3位至第18位作为寻址操作的字节地址,第19位至第30位没有定义,第31位为内部区域与交叉区域指针标识符,0:内部区域指针,1:外部区域指针。
内部寄存器间接寻址格式:地址存储器标识符[地址寄存器,p#byte.bit]。
如:mw[ar1,p#4.0]或dix[ar2,p#0.0]
mw:表示访问的存储器及访问的长度,ar1:表示地址寄存器1,p#4.0为地址偏移量,
例如:
(3)寄存器寻址——交叉区域寄存器间接寻址
交叉区域寄存器寻址与内部区域寄存器寻址相比,地址指针中带有存储器标识符,如i、q、m等,交叉区域地址指针格式如下:
第0位至第2位作为寻址操作的位地址,第3位至第18位作为寻址操作的字节地址,第24位至第26位为地址标识符,第31位为内部区域与交叉区域指针标识符,0:内部区域指针,1:外部区域指针。
地址标识符表示如下:
交叉区域寄存器寻址格式为:访问宽度[地址寄存器,p#byte.bit]。指针指向地址等于地址寄存器地址+地址偏移常量。
例如:
在s7-300中除了提供16位和32位存储器地址指针和32位寄存器地址指针外,在程序的fc和fb的接口参数中,还提供了48位(pointer数据类型)和80位(any数据类型)的地址指针。16位和32位地址指针可以直接装在到存储器或地址寄存器中,从而可以在程序块中使用间接寻址。“pointer”和“any”指针由于大于32位而不能装在到存储器或是寄存器中,所以不能在程序块中直接使用,必须进行拆分使用,这两种指针专用于功能(fc)和功能块(fb)接口参数的传递。如调用函数赋值形参时,都实参的完全寻址。
多核嵌入式处理器开发工具
一种基于神经网络的多维频谱推理方法
高德地图正式上线“高德指南”,成为国内首个大数据出游指南
应急物资管理系统DW-S300|助力 应急物资保障体系建设
物联网和工业物联网正迎来一个快速发展的时期
S7-300间接寻址中的寄存器间接寻址详解
美国光伏行业将受打击 5GW光伏项目或将逾期
功率放大器在lamb波方向算法的损伤定位中的应用
HarmonyOS-CanvasGradient对象练习
离线型反激式转换器原理图讲解
延续Skylake 14nm工艺的Kaby Lake带来了什么?
千元机普及快充!魅蓝5S标配充电器UP0920拆解
iPhone15系列,USB-C 接口如约而至
中标喜讯 | 芯盾时代再度中标澳门大丰银行 业务应用安全再升级
直接下变频宽带正交解调技术在软件无线电掌上平台中的应用
魅蓝3拆机图解
热式质量流量计在大口径通风管道流量测量中的应用
为什么PCAN-USB FD能够支持8Mbit/s或者最大的12Mbit/s
关于ELAF-B0-10L力传感器的测量原理及检测方法
电化学传感器的优缺点