当执行SHL或SHLP指令时,会将S1的各个位右移S2个位。每移动一位时,最左侧的位(最高位)将丢失。将0保存在最底位的空位中。最后将结果保存到D1中。
SHL和SHLP指令总是处于接通状态。使用SHL和SHLP指令时,如果为操作数S1和D1指定的变量类型不同,就会发生错误。 请为操作数S1和D1指定相同的变量类型。
指定常量时,请参考如下内容。
S1:移位地址
指定移位地址。
S2:移位位数
指定将移动的位数。
D1:保存地址
指定保存移位结果的地址。
例如,当左移1位时
当操作数D1是整型变量时
当操作数D1是整型变量,而您又想在操作数S1和S2中输入十六进制值时。
当输入0x(0和小写字母“x”)时,将把后面的值视为十六进制值。
在对指定数组(整型变量数组)中的数据进行移位和指定数组元素时,请使用相同的格式。
如果格式不同就会发生错误。
如果S1和D1数组大小相同, 那么将把S1作为一个大的整数看待。位将从一个元素移到下一个元素。
每个元素的最高位不会丢失。但是,最后一个元素的最高位会丢失。指定S2为0或以上,最大(32 x 数组大小 - 1)。
如果S1和D1均不是数组,将移动32个位。为S2指定一个0至31间的值。