执行前: 1 0 0 1 0 1 1 0
: 右移1位
0 1 00 10 11
CF=0 , (AL)=96H CF=0 , (AL)=4BH
: 再右移1位 0 0 1 0 0 1 0 1
CF=1 , (AL)=25H
15
注意事项:
SHL SHR ROL RCR
Hale Waihona Puke AL, 1 AL, CL BX, 1 AL, CL
;从376H端口读状态 ;检测D7位
;为0,打印机忙,继续查询
;输出字符打印
8
2. 移位指令
指令格式
SHL oprd,
1 CL
CF
SAL oprd,
1 CL
CF
SHR oprd, 1 CL
0
SAR oprd, 1 CL
执行操作
0 0 CF CF
9
移位规则
SHL
▲ 左移: 高位 ← 低位
CF
0
SAL
移位后,最高有效位发生变化,则OF=1,否则为0
(SAL,SHL最高位CF,
则: OF = 1, 否则:无变化时,OF = 0)
(SAR,SHR最高位次高位, 则 : OF=1; 否则 : OF=0。)
▲对循环移位指令:
①据移位结果设置CF,对其他标志无影响 ②OF标志
ROL、 RCL影响标志OF、CF情况相同 ; 移位后,最高有效位 CF, 则: OF = 1,否则:(无变化时)OF = 0
过程调用 CALL, RET
中断指令 INT, INTO, IRET
掌握:JMP, JZ, JNZ, JC, LOOP
CALL, RET, INT N, IRET