2.移位指令 非循环移位指令 循环移位指令 注: 移动一位时由指令直接给出;移动两位及以上 则移位次数由CL指定
16 2. 移位指令 ◼ 非循环移位指令 ◼ 循环移位指令 ◼ 注: 移动一位时由指令直接给出;移动两位及以上, 则移位次数由CL指定
非循环移位指令 ■逻辑左移 ■算术左移 逻辑右移 算术右移
17 非循环移位指令 ◼ 逻辑左移 ◼ 算术左移 ◼ 逻辑右移 ◼ 算术右移
算术左移和逻辑左移 格式 SAL OPRD, 1 有符号数 SAL OPRD, CL 「 SHL OPRD,1 无符号数 SHL OPRD, CL 逻辑 左移 移动一位后,若CF与最高不相等,则OF=1; 否则OF=0
18 算术左移和逻辑左移 ◼ 格式: SAL OPRD,1 SAL OPRD,CL SHL OPRD,1 SHL OPRD,CL 有符号数 无符号数 逻辑 左移 移动一位后,若CF与最高不相等,则OF=1; 否则OF=0
逻辑右移 格式: 无符号数 SHR OPRD, I 的右移 SHR OPRD, CL CF 移动一位后,若次高位与最高位不相等,则OF=1; 否则OF=0 19
19 逻辑右移 ◼ 格式: SHR OPRD,I SHR OPRD,CL 0 CF 无符号数 的右移 移动一位后,若次高位与最高位不相等,则OF=1; 否则OF=0
算术右移 格式: 有符号数 SAR OPRD, I 的右移 SAR OPRD, CL CF
20 算术右移 ◼ 格式: SAR OPRD,I SAR OPRD,CL 有符号数 的右移 CF