计算机硬件技术基础大纲_
逻辑、移位指令
逻辑运算 按位(Bit)运算
规定:DST不允许为立即数
除源操作数为立即数外,至少有一个操作数为寄存器
(1)AND DST,SRC;B/W 全1则1,任0则0
R/M Im/R/M
(2)OR DST,SRC;B/W 任1则1,全0则0
R/M Im/R/M
(3)NOT OPR;B/W
R/M ;不影响标志位
(4)XOR DST,SRC;B/W 同则0,异则1
(5)TEST OPR1,OPR2 ;B/W 与运算,置标志位
移位指令
逻辑左移SHL
格式: SHL OPR,CN;B/W CN=1 或CL
操作: CF 0
算术左移SAL
格式: SAL OPR,CN ;B/W CN=1 或CL
操作: CF 0
逻辑右移SHR
格式: SHR OPR,CN;B/W CN=1 或CL
操作: 0 CF
算术右移SHR
格式: SAR OPR,CN;B/W CN=1 或CL
操作: CF
循环左移ROL
格式: ROL OPR,CN;B/W CN=1 或CL
操作: CF
循环右移ROR
格式: ROR OPR,CN;B/W CN=1 或CL
操作: CF
带进位循环左移RCL
格式: RCL OPR,CN;B/W CN=1 或CL
操作: CF
带进位循环右移RCR
格式: RCR OPR,CN;B/W CN=1 或CL
操作: CF
标志:
移位:影响C、O、P、S、Z; AF无定义
OF: 对SAL,SHL—If CN=1 then
(最高位变化, OF=1 else OF=0) else 无定义
对SAR,SHR—If CN=1 then
(最高位变化, OF=1 else OF=0) else OF=0
循环移位:只影响C,O;不影响其它
OF:If CN=1 then(最高位变化, OF=1 else OF=0)else 无定义
串处理指令
串传送
串传送MOVS
格式:MOVSB
MOVSW
操作:((DS):(SI))(((ES):(DI))
(SI)(1 or 2 ((SI);(DI)(1 or 2 ((DI);
DF=0 ( +;DF=1 ( (
例: 块传送
MOV AX,DATA
MOV DS,AX
MOV AX,EXT
MOV ES,AX
LEA SI,MES1
LEA DI,MES2
MOV CX,200
CLD
AGAIN:MOVSB
DEC CX
JNZ AGAIN
存串STOS
格式:STOSB
STOSW
操作:(AL)(((ES):(DI))
(AX)(((ES):(DI))
(DI)(1 or 2 ((DI); DF=0 ( +;DF=1 ( (
取串LODS
格式:LODSB
LODSW
操作:((DS):(SI))((AL)
((DS):(SI))((AX)
(SI)(1 or 2 ((SI); DF=0 ( +;DF=1 ( (
标志:串传送不影响标志位
串比较、搜索
串比较CMPS
格式: CMPSB
CMPSW
操作: ((DS):(SI))(((ES):(DI))
(SI)(1 or 2 ((SI);(DI)(1 or 2 ((DI);
DF=0 ( +;DF=1 ( (
例:等串长比较
MOV AX,DATA1
MOV DS,AX
MOV AX,DATA2
MOV