间接寻址和地址寄存器指令.pptVIP

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
间接寻址和地址寄存器指令

间接寻址及地址寄存器指令 STEP 7 中可能的寻址方式 变量直接寻址 DB中地址标识符直接寻址 在程序中分析数据块DB相关信息 用于DB寄存器的指令: CDB:交换DB寄存器内容 将DB寄存器内容装载到ACCU1中 L DBNO (将打开的DB号装载到ACCU1中) L DINO (将打开的DI号装载到ACCU1中) 装载数据块长度 L DBLG (将打开的DB的长度/字节装载到ACCU1中) L DILG (将打开的DI的长度/字节装载到ACCU1中) 存储器间接寻址 用于存储器间接寻址的指针结构 存储器间接寻址的特性 用于存储16位和32位指针的地址区域: 位(Bit)存储区(绝对寻址或符号寻址) 例如: OPN DB[MW30],OPN DI[“Motor_1”] 等。 A I[MD30],T QD[Speed_1],等) 本地数据堆栈(绝对寻址或符号寻址, 例如: OPN DB[LW10],OPN DI[#DB_NO]等。 A I[LD10],T QD[#Par_Pointer],等。) 全局(共享) 数据块(只能进行绝对寻址,DB必须预先打开, 例如: OPN DB[DBW0] (覆盖掉DB寄存器内容!!!),OPN DI[DBW22]等。 A I[DBD10],T QD[DBD22],等。) 背景数据块(只能进行绝对寻址,DI必须预先打开, 例如: OPN DB[DIW20],OPN DI[DIW0] (覆盖掉DI寄存器内容!!!),等。 A I[DID10], T QD[DID22]等。) 向FB和FC传递指针的特点 在参数里传递的指针不能直接用于存储器间接寻址。 用于存储器间接寻址而传递的指针,在访问之前必须拷贝到临时变量里去 间接寻址示例 练习4.1:用间接寻址的方法进行循环编程 内部区域,寄存器间接寻址 交叉区域,寄存器间接寻址 用于装载地址寄存器的指令 装载地址寄存器 LARn (n =1 or 2): 将ACCU1中的内容装载到ARn LARn 地址 将地址中的内容装载到ARn LARn P#地址 将地址中的地址装载到ARn 地址: 处理器寄存器: AR1,AR2 (比如: LAR1 AR2 及LAR2 AR1) 32位变量: MD,LD, DBD,DID (比如: L DBD5等) 32位符号变量: 32位全局变量(比如: LAR1 “索引”,等) (全局和局域的) 以及OB,FB及FC的TEMP(临时)变量 (比如: LAR1 #Address,等) P#地址 指向布尔型绝对地址 En.m,An.m,Mn.m,Ln.m,DBXn.m,DIXn.m 指针: (比如: LAR1 P#M5.3, LAR2 P#I3.6,等) 指向本地、符号地址 OB: TEMP(临时)变量 (比如: LAR1 P##Par_Pointer, 等) FB: IN-,OUT-, INOUT-,STAT- 及TEMP- FC:TEMP(临时)变量(LAR1 P##Loop,等) 其它用于地址寄存器的指令 传送出地址寄存器内容 TARn (n =1 or 2): 从Arn传送到ACCU1 TARn Address 从Arn传送到地址 地址: 处理器寄存器: AR2 (比如:TAR1 AR2 ) 32位绝对地址变量: MDn, LDn, DBDn, DIDn (如TAR2 MD5等) 32位符号变量: 32位全局变量(比如TAR1 “Index”,等) (全局和局域的) 及OB,FB及FC的TEMP(临时)变量 (比如TAR1 #Address等) 地址寄存器内容交换(Swap)指令 TAR 将地址寄存器AR1和AR2的内容相互交换 地址寄存器加指令 +ARn 将ACCU1-L内容加到ARn +ARn P#n.m 将内部区域指针P#n.m加到AR1或AR2中去 寄存器间接寻址的特性 在STL/LAD/FBD编辑器内使用AR1 当访问FC中的参数时,如果参数为复杂数据类型(ARRAY、STRUCT、DATE_AND_TIME) ,则AR1寄存器和DB寄存器内容将会被覆盖掉。 当访问FB中的INOUT参数时,如果该INOUT参数是复杂数据类型(ARRAY、STRUCT、DATE_AND_TIME),则AR1寄存器和DB寄存器内容将会被覆盖掉。 在装载地址寄存器和对目标变量进行寄存器间接寻址的时候,不允许 访问局部参数 在STL/LAD/FBD编辑器内使用AR2 在对FB内部所有参数和静态变量进行寻址的时候,AR2寄

文档评论(0)

118zhuanqian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档