首页天道酬勤寄存器间接寻址的4个寄存器(直接寻址和寄存器寻址的区别)

寄存器间接寻址的4个寄存器(直接寻址和寄存器寻址的区别)

admin 12-09 23:53 667次浏览

1、寄存器间接寻址:

S7-300/400有两个地址寄存器AR1和AR2,可用于间接寻址每个存储区域的地址。地址寄存器的地址值加上地址偏移量形成一个地址指针,指向数据所在的存储位置。

下图为地址寄存器间接寻址的双字地址指针的格式,其中位0~2 (xxx)为寻址地址中的位号(0~7),位3~18为寻址地址的字节号,位24~26 (rrr)为寻址地址的区域标识号(见下表)。第31位x=0是区域内的间接寻址,是区域间的间接寻址。如果要用寄存器指针访问字节、字或双字,必须确保指针的位地址号为0。

2.与地址寄存器相关的指令

操作数可以直接加载到地址寄存器AR1和AR2中或从地址寄存器AR1和AR2中转出(见下表),或者数据可以不经过累加器1而从AR1和AR2中转出。也可以直接交换两个寄存器的内容。TAR1‹D›和TAR2‹D›指令的目的地区域是双字MD、LD、DBD和DID。以下应用示例:

AR1指令将地址寄存器AR1的内容加到累加器1的低位字的内容作为地址偏移量,或者在指令中加上16位常量(-32768~ 32767),结果在AR1中。AR2指令具有类似的功能。

16位有符号整数首先扩展24位,符号位保持不变,然后在AR1中添加较低的24位有效数字。地址寄存器中的存储区标识符rrr(第24至26位)保持不变。

3.寄存器区间接寻址

区域内间接寻址的地址指针格式与内存中间接寻址的地址指针格式相同,包括寻址值所在内存单元的字节地址和位地址。指令中给出了存储区域的类型。这种指针格式适合在某个内存区域寻址,第24到26位和第31位应该为0。以下是该地区间接寻址的一个例子。下图:

4.寄存器区域之间的间接寻址

区域间间接寻址的地址指针格式的第24到26位还包含描述地址所在存储区域的区域标识符rrr。以下是区域间间接寻址的示例。

C++如何建立链式二叉树JAVA外观模式怎么实现雷士灯具管理系统
mysql5.7(mysql mha) 高中抛物线公式(高中抛物线知识点总结)
相关内容