DECO指令详解.docVIP

  • 75
  • 0
  • 约1.49千字
  • 约 4页
  • 2017-06-07 发布于重庆
  • 举报
DECO指令详解

DECO指令详解 作  用:DECO指令是根据ON位的位置将位编号读成数值。 指令格式: 源地址可以是X、Y、M、S、T、C、D、V、Z、K、H等元件; 目标地址可以是Y、M、S、T、C、D、V、Z元件; 指令说明: ①计算源地址所表示的值(注意参与计算的源地址的位数不能超过n个) ②若结果为0,那么就将目标地址置1,其他2n位置零;若结果不为0,为某一具体数字如P,那么就将(目标地址+P)置1,其他2n位置零; 指令应用举例1 由于D0是数字寄存器,有16位,假设D0的内容如下表: b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0 0 1 0 1 1 1 0 1 0 1 0 0 1 1 0 1 ①参与计算的源地址的具体位由n确定,本例中n=3,是3位,也就是b3b2b1位,即b3b2b1=(101)B,如上表红色数字,计算结果为5。 ②目标地址一共有2n位,即从M0开始的8位,M0→M7; ③那么将刚才运算的结果5编译到目标地址中,即M(0+5)→M5为ON,其他位置零,目标地址以外的地址数据不发生变化,如本例中M8不发生变化。 项目 M8 M7 M6 M5 M4 M3 M2 M1 M0 指令执行前 1 1 0 0 0 1 0 1 1 指令执行后 1 0 0 1 0 0 0 0 0 指令应用举例2 由于D0是数字寄存器,有16位,假设D0的内容如下表: b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0 0 1 0 1 1 1 0 1 0 1 0 0 1 1 0 1 ①参与计算的源地址的具体位由n确定,本例中n=3,是3位,也就是b3b2b1位,即b3b2b1=(101)B,如上表红色数字,计算结果为5。 ②目标地址一共有2n位,即从D2的b0位开始的8位,b0→b7; ③那么将刚才运算的结果5编译到目标地址中,即b(0+5)→b5为ON,其他位置零,目标地址以外的地址数据不发生变化。如本例中b8~b15不发生变化。 项目 b15~b12 b11~b8 b7 b6 b5 b4 b3 b2 b1 b0 指令执行前 0101 1101 0 1 0 0 1 1 1 1 指令执行后 0101 1101 0 0 1 0 0 0 0 0 指令应用举例3 由于源地址是位元件,应考虑位元件组合表示的数值。 原件 M8 M7 M6 M5 M4 M3 M2 M1 内容 0 1 0 0 1 1 0 1 ①参与计算的源地址的具体位由n确定,本例中n=3,是3位,也就是M3M2M1位,即M3M2M1=(101)B,如上表红色数字,计算结果为5。 ②目标地址一共有2n位,即从D2的b0位开始的8位,b0→b7; ③那么将刚才运算的结果5编译到目标地址中,即b(0+5)→b5为ON,其他位置零,目标地址以外的地址数据不发生变化。如本例中b8~b15不发生变化。 项目 b15~b12 b11~b8 b7 b6 b5 b4 b3 b2 b1 b0 指令执行前 0101 1101 0 1 0 0 1 1 1 1 指令执行后 0101 1101 0 0 1 0 0 0 0 0 指令应用举例4 3个传感器,一个位置检测,一个颜色(深色/浅色)检测,一个金属/非金属检测。要求区分颜色、金属/非金属。分别推入不同仓库中。程序设计如下,请自行分析(注意:D0什么时候等于零,什么时候等于2,什么时候等于8,什么时候等于128) 3

文档评论(0)

1亿VIP精品文档

相关文档