【asm基础】汇编指令之移位指令
SHL
逻辑左移。
OF | DF | IF | SF | ZF | AF | PF | CF |
|
| ? | * |
说明:将目的操作数的每位左移,使用源操作数决定要移位的数目。最高位复制到进位标志中,最低位以0填充(与SAL相同)。在使用8086/8088处理器时,imm8操作数必须是1。
指令格式:
shl reg, imm8
shl mem, imm8
shl reg, cl
shl mem, cl
SHR
逻辑右移。
OF | DF | IF | SF | ZF | AF | PF | CF |
|
| ? | * |
说明:将目的操作数的每位右移,使用源操作数决定要移位的数目。最低位复制到进位标志中,最高位以0填充(与SAR不同)。在使用8086/8088处理器时,imm8操作数必须是1。
指令格式:
shr reg, imm8
shr mem, imm8
shr reg, cl
shr mem, cl
SAL
算数左移。
OF | DF | IF | SF | ZF | AF | PF | CF |
|
| ? | * |
说明:目的操作数中的每一位左移,源操作数决定移位数目。最高位复制到进位标志中,最低位以0填充。使用8086/8088处理器时,imm8操作数必须是1。
指令格式:
sal reg, imm8
sal mem, imm8
sal reg, cl
sal mem, cl
SAR
算数右移。
OF | DF | IF | SF | ZF | AF | PF | CF |
|
| ? | * |
说明:目的操作数中的每一位右移,源操作数决定移位数目。最低位复制到进位标志中,最高位保持原值。SAR指令通常用于有符号数操作,因为它保留了符号位的值。使用8086/8088处理器时,imm8操作数必须是1。
指令格式:
sar reg, imm8
sar mem, imm8
sar reg, cl
sar mem, cl
ROL
循环左移。
OF | DF | IF | SF | ZF | AF | PF | CF |
|
说明:目的操作数循环左移,源操作数决定移位的数目。最高位复制到进位标志并同时送至最低位中。使用8086/8088处理器时,imm8操作数必须是1。
指令格式:
rol reg, imm8
rol mem, imm8
rol reg, cl
rol mem, cl
ROR
循环右移。
OF | DF | IF | SF | ZF | AF | PF | CF |
|
说明:目的操作数循环右移,源操作数决定移位的数目。最低位复制到进位标志并同时送至最高位中。使用8086/8088处理器时,imm8操作数必须是1。
指令格式:
ror reg, imm8
ror mem, imm8
ror reg, cl
ror mem, cl
RCL
带进位循环左移。
OF | DF | IF | SF | ZF | AF | PF | CF |
|
说明:目的操作数循环左移,源操作数决定移位的数量。进位的值复制到最低位,最高位送进进位标志中。使用8086/8088处理器时,imm8操作数必须是1。
指令格式:
rcl reg, imm8
rcl mem, imm8
rcl reg, cl
rcl mem, cl
RCR
带进位循环右移。
OF | DF | IF | SF | ZF | AF | PF | CF |
|
说明:目的操作数循环右移,源操作数决定移位的数量。进位的值复制到最高位,最低位送进进位标志中。使用8086/8088处理器时,imm8操作数必须是1。
指令格式:
rcr reg, imm8
rcr mem, imm8
rcr reg, cl
rcr mem, cl
还没有评论,来说两句吧...