西门子200和300里面的左移和右移指令有什么作用及意义
郑志武
发布于2012-12-20 00:09
7
0
标签:
l#in1
l20
>=i
jcm001
l#in1
l10
*i
t#temp8
slw3
t#temp9
佳答案
首先我们需要明白这段程序执行的后续目的;
我先介绍你的程序步骤及含义:
局部变量声明表中有:形参
in#in1
tempt#temp8
#temp9
程序执行含义如下:
l#in1//加载形参#in1存储数据(32位)地址
l20
>=i//#in1数据与20长整数相比较
jcm001//#in1数据大于或等于20则跳转到m001,否则顺序执行
l#in1//#in1数据乘以长整数10数据传到临时变量#temp8得到数据再执行单字左移3位命令。结果送到临时变量#temp9中,其数值等于#in1*10*2的三次方,为后面的指针寻址方式地址的合理性做准备。
l10
*i
t#temp8
slw3
t#temp9
可知左移指令作用:使得数值乘以2的三次方
意义:为后面的指针寻址方式地址的合理性做准备。
右移指令作用:使得数值除以2的三次方
意义:为后面的指针寻址方式地址的合理性做准备。