原创
8086CPU中有8条移位指令,分为两大类。
非循环移位指令:
SAL —— 算术左移 —— 最高位移入标志状态位CF
SAR —— 算术右移 —— 最低位移入CF,最高位不变。
比如说:将10000000算术右移7位,应该变成11111111,而逻辑右移7位,则不考虑符号位,变为00000001
SHL —— 逻辑左移 —— 最高位移入标志状态位CF
SHR —— 逻辑右移 —— 最低位移入CF,最高位补0
循环移位指令:
ROL —— 循环左移 —— 不带进位位的循环左移,最高位移入CF和最低位
ROR —— 循环右移 —— 不带进位位的循环右移,最低位移入CF和最高位
RCL —— 带进位的循环左移 —— 带进位位的循环左移,最高位移入CF,原来的CF进入最低位
RCR —— 带进位的循环右移 —— 带进位位的循环右移,最低位移入CF,原来的CF进入最高位
20:34:29
2018-12-01