所谓寻址方式就是指令执行时获取操作数的方式,可以直接或间接方式给出操作数。S7-300有四种寻址方式:立即寻址、存储器直接寻址、存储器间接寻址、寄存器间接寻址。
1.立即寻址
立即寻址是对常数或常量的寻址方式,其特点是操作数直接表示在指令中,或以唯一形式隐含在指令中。
2.存储器直接寻址
存储器直接寻址简称直接寻址。该寻址方式在指令中直接给出操作数的存储单元地址。存储单元地址可用符号地址(如SB1、KM等)或绝对地址(如I0.0、Q4.1等)。
3.存储器间接寻址
存储器间接寻址,简称间接寻址。该寻址方式在指令中以存储器的形式给出操作数所在存储器单元的地址,也就是说该存储器的内容是操作数所在存储器单元的地址。该存储器一般称为地址指针,在指令中需写在方括号“[]”内。地址指针可以是字或双字,对于地址范围小于65535的存储器可以用字指针;对于其他存储器则要使用双字指针。(www.xing528.com)
4.寄存器间接寻址
寄存器间接寻址简称寄存器寻址。该寻址方式在指令中通过地址寄存器和偏移量间接获取操作数,其中的地址寄存器及偏移量必须写在方括号“[]”内。在S7-300中有两个地址寄存器AR1和AR2,用地址寄存器的内容加上偏移量形成地址指针,并指向操作数所在的存储器单元。地址寄存器的地址指针有两种格式,长度均为双字,指针格式如图3-10所示。
图3-10 地址指针格式
说明:位0~2(xxx)为被寻址地址中位的编号(0~7);位3~8(bbbbbb)为被寻址地址中位的编号(0~65535);位24~26(rrr)为被寻址地址的区域标识号;位31的x=0为区域内的间接寻址,x=1为区域间的间接寻址。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。