2 .算术右移指令 SAR
语句格式: SAR OPD , 1 或 SAR OPD , CL
功能:将( OPD )向右移动 CL 指定的次数且最高位保持不变; CF 的内容为最后移入位的值。
【例】算术右移运算。
MOV BH , 0F 4H ; (BH)= 0F 4H,1111 0100B
MOV CL , 2 ;( CL ) =2
SAR BH , CL ;( BH ) =0FDH ,( CF ) =0
该例语句“ SAR BH , CL ”实际上完成了( BH )/4→ BH 的运算,所以,用 SAR 指令可以实现对有符号数除 2n 的运算( n 为移位次数)。
3 .逻辑右移指令 SHR
语句格式: SHR OPD , 1 或 SHR OPD , CL
功能:将( OPD )向右移动 CL 规定的次数,最高位补入相应个数的0, CF 的内容为最后移入位的值。
4 .循环左移指令 ROL
语句格式: ROL OPD , 1 或 ROL LPD , CL
功能:将目的操作数的最高位与最低位连成一个环,将环中的所有位一起向左移动 CL 规定的次数。 CF 的内容为最后移入位的值。
5 .循环右移指令 ROR
语句格式: ROR OPD , 1 或 ROR OPD , CL
功能:将目的操作数的最高位与最低位连成一个环,将环中的所有位一起向右移动 CL 规定的次数, CF 的内容为最后移入位的值。
6 .带进位的循环左移指令 RCL
语句格式: RCL OPD , 1
或 RCL OPD , CL
功能:将目的操作数连同 CF 标志一起向左循环移动 CL 规定的次数。
7 .带进位的循环右移指令 RCR
语句格式: RCR OPD , 1
或 RCR OD , CL
功能:将目的操作数连同 CF 标志一起向右循环移动所规定的次数。
全站搜索