
1个回答
展开全部
32位寄存器也是按两个16位的方式保存,也就是由两个16位组成,当低位值低于32768时,可以用
MOV
C220
D1
写入,值大于32768时,超出16位寄存器的范围,进入如下转化设定即可:
1.若D0为你的流量设定值,则D1为保留的32位双字整数的高位字;
2.当D0大于等于0时,D1赋值为0;当D0小于0时,D1赋值为FFFFH;
3.双字比较时,用D0+D1乘以10000作为双字比较的其中一个值;
反过来,将32位整数转为16位就要考虑数值的溢出问题了
(你的数值还是要除去放大的10000倍再作处理,否则就不对,即使有对应的指令)。
MOV
C220
D1
写入,值大于32768时,超出16位寄存器的范围,进入如下转化设定即可:
1.若D0为你的流量设定值,则D1为保留的32位双字整数的高位字;
2.当D0大于等于0时,D1赋值为0;当D0小于0时,D1赋值为FFFFH;
3.双字比较时,用D0+D1乘以10000作为双字比较的其中一个值;
反过来,将32位整数转为16位就要考虑数值的溢出问题了
(你的数值还是要除去放大的10000倍再作处理,否则就不对,即使有对应的指令)。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |