例如 1110 0010 1010 1101 执行SHL之后
首次结果是 1100 0101 0101 1010
二次左移的输出值 1000 1010 1011 0100
三次左移的输出值 0001 0101 0110 1000
这些结果是怎么得出的 怎么个原理
最佳答案
1 1 1 0 0 0 1 0 1 0 1 0 1 1 0 1
B15 B14 B13 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0
第一次执行字左移一位指令都是
先将最高位 B15 送给 SM1.1,然后B14-B0 从右向左平移一位,最低位 B0 用 0 补上。如下。
B15->SM1.1
B14->B15
B13->B14
B12->B13
B11->B12
B10->B11
B9->B10
B8->B9
B7->B8
B6->B7
B5->B6
B4->B5
B3->B4
B2->B3
B1->B2
B0->B1
0->B0 最后用 0 补充 B0。
《S7-200 可编程序控制器 系统手册》 第 180 页有图说明。如图
https://support.industry.siemens.com/cs/document/1109582
图片说明:
提问者对于答案的评价:
谢谢指教
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc362899.html