0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

地址寄存器间接寻址进行详解

jf_78858299 来源:SIEMENS之家 作者: WeiChatNumberOne 2023-01-30 15:17 次阅读

关于间接寻址分为存储器间接寻址和地址寄存器间接寻址,本文主要针对地址寄存器间接寻址进行详细讲解。

一、AR 的格式介绍

地址寄存器是专门用于寻址的一个特殊指针区域,西门子的地址寄存器共有两个:AR1 和 AR2,每个 32 位。当使用在区域内寄存器间接寻址中时,我们知道这时的 AR 中的内容只是指明数值单元,因此,区域内寄存器间接寻址时,寄存器中的内容等同于上帖中提及的存储器间接寻址中的双字指针。

这样规定,就意味着 AR 的取值只能是:0.0 ——65535.7

例如:当 AR=D4(hex)=0000 0000 0000 0000 0000 0000 1101 0100(b),实际上就是等于 26.4。

而在区域间寄存器间接寻址中,由于要寻址的区域也要在 AR 中指定,显然这时的 AR 中内容肯定于寄存器区域内间接寻址时,对 AR 内容的要求,或者说规定不同。

比较一下两种格式的不同,我们发现,这里的第 31bit 被固定为 1,同时,第 24、25、26 位有了可以取值的范围。聪明的你,肯定可以联想到,这是用于指定存储区域的。对,bit24-26 的取值确定了要寻址的区域,它的取值是这样定义的:

1675062989(1).png

如果我们把这样的 AR 内容,用 HEX 表示的话,那么就有:

当是对 P 区域寻址时,AR=800xxxxx

当是对 I 区域寻址时,AR=810xxxxx

当是对 Q 区域寻址时,AR=820xxxxx

当是对 M 区域寻址时,AR=830xxxxx

当是对 DB 区域寻址时,AR=840xxxxx

当是对 DI 区域寻址时,AR=850xxxxx

当是对 L 区域寻址时,AR=870xxxxx

经过列举,我们有了初步的结论:如果 AR 中的内容是 8 开头,那么就一定是区域间寻址;如果要在 DB 区中进行寻址,只需在 8 后面跟上一个 40。84000000-840FFFFF 指明了要寻址的范围是:DB 区的 0.0——65535.7。

例如:当 AR=840000D4(hex)=1000 0100 0000 0000 0000 0000 1101 0100(b),实际上就是等于 DBX26.4。

二**、AR 的格式的程序**

程序:

1675063012(1).png

在程序中使用SLD进行地址偏移,是因为地址是从第88个字节地址开始,如有其他不理解的,可以直接通过微信公众平台,联系小编。

免责声明:本文系网络转载,版权归原作者所有。但因转载众多,无法确认真正原始作者,本文所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将立即删除内容!本文内容为原作者观点,并不代表本公众号赞同其观点和对其真实性负责。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5342

    浏览量

    120297
  • 存储器
    +关注

    关注

    38

    文章

    7487

    浏览量

    163807
  • Ar
    Ar
    +关注

    关注

    24

    文章

    5096

    浏览量

    169503
收藏 人收藏

    评论

    相关推荐

    寄存器间接寻址和相对寻址的区别是什么

    ,指令可以对该地址指示的单元中的数据进行操作。寄存器间接寻址只能对寄存器R0、R1
    发表于 01-20 15:33

    间接寻址地址寄存器指令

    间接寻址地址寄存器指令
    发表于 08-12 11:59 19次下载

    寄存器寻址方式

    寄存器寻址方式   寄存器寻址是对由指令选定的工作寄存器(R0--R7)进行读/写
    发表于 03-14 15:29 2803次阅读

    寄存器间接寻址方式

    寄存器间接寻址方式   寄存器间接寻址是将指定的
    发表于 03-14 15:29 5394次阅读

    变址间接寻址方式

    变址间接寻址方式   基址寄存器加变址寄存器间接寻址方式,是MCS-51指令集所独有
    发表于 03-14 15:30 5237次阅读

    HT MCU间接寻址的应用

    Holtek 单片机有一个间接寻址寄存器R0([00H])(有的单片机有两个间接寻址寄存器 R0
    发表于 01-18 16:06 27次下载

    51单片机特殊功能寄存器中的字节寻址和位寻址表详细说明

    MCS-51系列单片机有21个可寻址的专用寄存器,其中有11个专用寄存器是可以位寻址的。下面把各寄存器的字节
    发表于 07-19 17:38 4次下载
    51单片机特殊功能<b class='flag-5'>寄存器</b>中的字节<b class='flag-5'>寻址</b>和位<b class='flag-5'>寻址</b>表详细说明

    plc间接寻址方式

    间接寻址是指使用地址指针来存取存储中的数据。使用前,首先将数据所在单元的内存地址放入地址指针
    发表于 10-24 08:47 6241次阅读

    plc的寻址方式:立即寻址、直接寻址间接寻址

    我们都知道西门子200plc有三种寻址方式:立即寻址、直接寻址间接寻址;这里主要给大家区分下直接和间接
    的头像 发表于 09-25 11:50 2.2w次阅读
    plc的<b class='flag-5'>寻址</b>方式:立即<b class='flag-5'>寻址</b>、直接<b class='flag-5'>寻址</b>、<b class='flag-5'>间接</b><b class='flag-5'>寻址</b>

    S7-300间接寻址中的寄存器间接寻址详解

    寄存器间接寻址是通过使用CPU内部集成的两个地址寄存器AR1和AR2存储地址指针来实现的
    的头像 发表于 11-20 17:38 1.1w次阅读
    S7-300<b class='flag-5'>间接</b><b class='flag-5'>寻址</b>中的<b class='flag-5'>寄存器</b><b class='flag-5'>间接</b><b class='flag-5'>寻址</b><b class='flag-5'>详解</b>

    plc间接寻址有什么用?

    介绍如何在PLC程序中实现间接寻址。 一、PLC间接寻址的定义和原理 PLC间接寻址的概念很简单
    的头像 发表于 09-15 14:59 1474次阅读

    寄存器寻址的实现方式

    方式,它允许指令直接访问CPU内部的寄存器寄存器是CPU内部的高速存储,用于存储指令、数据和地址等信息。寄存器
    的头像 发表于 07-12 10:36 651次阅读

    寄存器寻址和直接寻址的区别

    。 一、寄存器寻址 寄存器寻址的定义 寄存器寻址是一种将操作数直接存储在CPU内部
    的头像 发表于 07-12 10:42 1730次阅读

    寄存器间接寻址寄存器寻址的区别

    寄存器间接寻址寄存器寻址是计算机体系结构中两种重要的寻址方式,它们在指令执行过程中起着关键作用
    的头像 发表于 10-05 17:13 1402次阅读

    什么是寄存器移位寻址

    寄存器移位寻址是一种特定的寻址方式,主要出现在某些处理架构中,如ARM指令集。这种寻址方式在处理数据移动和操作时提供了极大的灵活性和效率。
    的头像 发表于 10-05 17:38 361次阅读