PLC300寻址指令
1.寻址图解
2.直接寻址
直接寻址包括两大类,绝对地址寻址和符号地址寻址
符号地址 :给绝对地址分配有意义的符号名,使得程序可读性。
例如: Q4.0 符号名 ’Motor_On’
3.间接寻址
间接寻址分为两大类 存储器间接寻址 和 寄存器间接寻址
3.1 存储器间接寻址又分为 16位 指针存储器间接寻址和 32位 指针存储器间接寻址
3.1.1 16位指针存储器间接寻址
16位地址指针用于定时器、计数器、程序块(DB、FC、FB)的寻址,16位指针可被看做一个无符号的整数
(0~65535),它表示定时器(T),计数器(C),数据块(DB、DI)或程序块(FB、FC)的块号
寻址格式: 区域标识符[16位地址指针]
举例:
L 1
T MW0
A I0.0
L S5T#10S
SD T[MW0]
//
3.1.2 32位指针存储器间接寻址
32位地址指针用于 I、Q、L、数据块等存储器中,位、字节、字、双字的寻址,32位的地址指针可以使用一个双字表示,
第 0 位~第2位作为寻址操作的位地址,第 3 位到第18位作为寻址操作的字节地址,第19位~第31位没有定义,32位指针的格式如下:
存储器32位指针仅用于内部区域寻址
寻址格式表示为:地址存储器标识符[32位地址指针]
举例1:
T MD[LD0]
MD 为区域标识符及访问宽度,LD0为一个32位指针
举例2:
32位内部区域指针可用常数表示,表示为P#字节.位。如常数
P# 10.3 表示指向第10个字节的第3位指针常数
举例3:
若将一个32位整型转换为字节指针常数,从上述指针格式可以看出,应该要把该数左移3位
或是乘8 即可。
L L#100 //ACCU0装入32位整型 100
SLD 3 //左移3位
T LD0 //LD0得到 P#100.0 指针常数
3.2 寄存器间接寻址
通过CPU地址寄存器AR1 和AR2寻址方式称为寄存器间接寻址,分为内部区域间接寻址和交叉区域寻址
3.2.1内部区域间接寻址
32位地址指针用于 I、Q、L、数据块等存储器中,位、字节、字、双字的寻址,32位的地址指针可以使用一个双字表示,
第 0 位~第2位作为寻址操作的位地址,第 3 位到第18位作为寻址操作的字节地址,第19位~第31位没有定义,32位指针的格式如下:
该间接寻址表示格式 :存储器标识符[ARX,地址偏移量]
举例1:
L MW [AR1,P#2.0]
'MW'为被访问的存储器及访问宽度,'AR1'为地址寄存器1,P#2.0 为地址偏移量
3.2.2交叉区域寄存器间接寻址
包含有存储器区域信息的指针称为交叉区域指针
交叉区域指针格式如下:
交叉区域指针常数表达格式: P# 存储器 字节 . 位
举例1:
P#Q10.5
P#DB1.DBX32.0
交叉区域寻址表示为: 访问宽度[ARx,偏移量]
举例2: L P#M20.0
TAR1
L 1234
T W[AR1,P#2.0]
PLC300寻址指令的更多相关文章
- [计算机组成原理][实验十.R-I-J型指令CPU设计实验总结]
总算解决一大心头之患了,比想象中容易,通宵两夜,刷完了十个实验,这个实验就是最后的了.感慨颇多.特地写篇总结. 想做一件事,就立马去做把.你会发现没那么困难,往往最大的困难,是心里的困难. 培养了HD ...
- 计算机组成原理--64位CPU装载32位操作系统,它的寻址能力还是4GB吗?
借由这个问题,今天我们就把 32 位 CPU.64 位 CPU.32 位操作系统.64 位操作系统之间的区别与联系彻底搞清楚.对于这个问题,博主也是一知半解了好长时间啊~ 基本概念 32位的CPU与6 ...
- ARM指令集(上)
ADuC702x可以用两套指令集:ARM指令集和Thumb指令集.本小节介绍ARM指令集.在介绍ARM指令集之前,先介绍指令的格式. A.2.1 指令格式 (1)基本格式 ...
- MMU讲解
MMU是Memory Management Unit的缩写,中文名是内存管理单元,它是中央处理器(CPU)中用来管理虚拟存储器.物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制 ...
- Linux内核完全注释之编程语言和环境(一)
as86汇编器 1.来源与对于linux的用途 as86来源minix-386开发的intel 8086.80386汇编编译程序和链接程序,他主要为linux创建16位的启动引导扇区程序boot/bo ...
- ARM指令系统
转载自:http://cxb4224.blog.163.com/blog/static/191224151201110220325976/ ARM处理器的工作状态和工作模式 工作状态 ARM处理器一般 ...
- 进程和cpu的相关知识和简单调优方案
进程就是一段执行的程序,每当一个程序执行时.对于操作系统本身来说,就创建了一个进程,而且分配了相应的资源.进程能够分为3个类别: 1.交互式进程(I/O) 2.批处理进程 (CPU) ...
- 【十分钟教会你汇编】MIPS编程入门(妈妈说标题要高大上,才会有人看>_<!)
无意中找到一篇十分好用,而且篇幅也不是很大的入门教程,通篇阅后,再把“栗子”敲一遍,基本可以有一个比较理性的认识,从而方便更好地进一步深入学习. 废话不多说,上干货(英语好的直接跳过本人的渣翻译了哈— ...
- Android ARM汇编语言
简介 ARM是Advanced RISC Machine的首字母缩写,它可以称之为一家嵌入式处理器的提供商,也可以理解为一种处理器的架构,还可以将它作为一套完整的处理器指令集. 原生程序与ARM汇编语 ...
随机推荐
- MySQL主从备份配置实例
转载自:https://www.cnblogs.com/ahaii/p/6307648.html MySQL主从备份配置实例 场景: 1.主服务器192.168.0.225.从服务器192.168.0 ...
- 微信小程序 View:flex 布局
微信小程序 View 支持两种布局方式:Block 和 Flex 所有 View 默认都是 block 要使用 flex 布局的话需要显式的声明: display:flex; 下面就来介绍下微信小程序 ...
- Linux系统监控命令及定位Java线程
1.PID.TID的区分 uid是user id,即用户id,root用户的uid是0,0为最高权限,gid是group id,用户组id,使用 id 命令可以很简单的通过用户名查看UID.GID:~ ...
- 【bzoj2131】免费的馅饼 dp+树状数组
题解: 昨天好像做了个几乎一模一样的题目 按照ti排序 |p[i]-p[j]|<=2*(t[i]-t[j]) 然后去绝对值变为三维偏序 发现后两个式子可以推出ti<tj 所以就变成二维偏序 ...
- 【BZOJ3782】上学路线
题解: 这个容斥以前做过 到i点的所有方案显然是个组合数 然后要减去不合法的方案数 我们可以考虑成减去到每个障碍点为第一次遇到的障碍然后之后乱走就可以了 因为模数不是质数,所以crt合并
- Windows下80端口被进程System占用的解决方法
最近电脑时不时就发生了80端口被占用的情况,简单百度解决后,当重启电脑的时候又发生被占用的情况.今天非常幸运的是,发生了80端口和8080端口都被占用了情况,忍无可忍决定下定决心解决这个坑爹的问题,经 ...
- glusterfs分布式复制扩容卷以及平衡卷
随着数据量的增长,需要扩容满足使用.今天测试下glusterfs磁盘扩容的具体步骤 1.扩容 之前用的2台计算机的分布式复制卷.需要同时之两个服务器增加一块磁盘并格式化,挂载并扩容 热添加磁盘 ech ...
- 040 Http与RPC
一直在说,但是没有系统的文档理解过. 1.本质 目前有很多Java的RPC框架,有基于Json的,有基于XML,也有基于二进制对象的. 他们最本质的区别,就是RPC主要是基于TCP/IP协议的,而HT ...
- 关于mybatis缓存配置讲解
一级缓存: 一级缓存是默认的. 测试:在WEB页面同一个查询执行两次从日志里面看同样的sql查询执行两次. 2次sql查询,看似我们使用了同一个sqlSession,但是实际上因为我们的dao继承了S ...
- Decision Trees:机器学习根据大量数据,已知年龄、收入、是否上海人、私家车价格的人,预测Ta是否有真实购买上海黄浦区楼房的能力—Jason niu
from sklearn.feature_extraction import DictVectorizer import csv from sklearn import tree from sklea ...