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, 的右移 SHR OPRD, CL 0 →→CF 移动一位后,若次高位与最高 位不相等,则OF=1;否则OF=0
19 逻辑右移 ⚫ 格式: SHR OPRD,I SHR OPRD,CL 0 CF 无符号数 的右移 移动一位后,若次高位与最高 位不相等,则OF=1;否则OF=0
算术右移 格式: 有符号数 SAR OPRD, 的右移 SAR OPRD, CL CF
20 算术右移 ⚫ 格式: SAR OPRD,I SAR OPRD,CL 有符号数 的右移 CF