32.14.2.5 SHR和SHRP指令说明

当执行SHR或SHRP指令时,会将S1的各个位右移S2个位。每移动一位时,最右侧的位(最低位)将丢失。在最高位的空位中保存0。最后将结果保存到D1中。

SHR和SHRP指令总是处于接通状态。使用SHR和SHRP指令时,如果为操作数S1和D1指定的变量类型不同,就会发生错误。 请为操作数S1和D1指定相同的变量类型。

指定常量时,请参考如下内容。

指定移位地址。

指定将移动的位数。

指定保存移位结果的地址。

例如,当右移1位时

当操作数D1是整型变量时

当操作数D1是整型变量,而您又想在操作数S1和S2中输入十六进制值时。

当输入0x(0和小写字母“x”)时,将把后面的值视为十六进制值。

在对指定数组(整型变量数组)中的数据进行移位和指定数组元素时,请使用相同的格式。

如果格式不同就会发生错误。

如果S1和D1数组大小相同, 那么将把S1作为一个大的整数看待。位将从一个元素移到下一个元素。

每个元素的最底位不会丢失。但是,第一个元素的最低位会丢失。指定S2为0或以上,最大(32 x 数组大小 - 1)。

如果S1和D1均不是数组,将移动32个位。为S2指定一个0至31间的值。