移位指令例题及答案
课堂练习:
22.设AX=3762H,CL=5,执行“SHR; AX,CL”后,AX=(;;; )。
A.0376H;; ;;;B.01BBH;; ;;;C.01BB;; ;;;D.0376
28.执行“DIV; BX”指令后,(;;;; )寄存器中存放商。
A.AL;;;;; ;;B.AH;;;;; ;C.AX;;;;; D.DX
24.若移位指令的移位位数大于1时,其移位位数必须放在;;;;; 中。
25.如果AL=85H,CL=4,执行“SAR; AL,CL”时,AL=;;;; ,CF=;;;; 。
6.设BX=8234H,请说明下列两条指令的区别,执行下列各指令后BX中的内容是什么?
SHR; BX,1
SAR; BX,1
6.现有程序段如下:
MOV; ;; BL,AL
MOV; ;; CL,4
SHR; ;;; BL,CL
MOV; ;; A,BL
AND; ;; AL,0FH
MOV; ;; B,AL
请回答 :(1)该程序段完成的功能是什么?
(2)如果AL的初值为56H,则A=;;;;; ,B=;;;;;;; 。
;
8.现有程序段如下:
MOV; ;; AX,M
MOV;; DX,N
SHR; ;;; DX,1
RCR; ;;; AX,1
请回答 :(1)该程序段完成的功能是什么?
(2)若M=1234H,N=5678H,程序运行后DX=;;;;; ;,AX=;;;;;; ;。
;
9.现有程序段如下:
XOR; ;; AX,AX
MOV; ;; AX,6342H
MOV; ;; CX,0404H
ROL; ;;; AH,CL
XCHG; CH,CL
ROR; ;;; AL,CL
请回答 :(1)该程序段执行后AX=;;;;;;; 。
(2)CF= ;;;;;;;;。
;
11.现有程序段如下:
MOV; ;; CX,16
MOV; ;; BX,0
MOV; ;; DX,1
L: MOV; ;; AX,9AB8H
AND; ;; AX,DX
JZ;; ;;;; N
INC; ;;;; BX
N: SHL; ;;;; DX,1
LOOP; ; L
MOV; M,BX
请回答 :(1)该程序段完成的功能是什么?
(2)该程序段执行完后(M)=;;;;;;;; 。
;
14.现有程序段如下:
MOV; ;; AL,0
MOV; ;; BL,1
MOV; ;; CX,10
L:; ADD ;;;; AL,BL
INC; ;;;; BL
LOOP; ; L
请回答 :(1)该程序段完成的功能是什么?
(2)该程序执行完后,AL=;;;;;;;; ;。
5.将DX:AX:BX中的48位数乘以2。
;
9.将DX:AX中的32位数据逻辑左移2位。
;
答案============================================================
课堂练习:
22.设AX=3762H,CL=5,执行“SHR; AX,CL”后,AX=(;;; )。
A.0376H;; ;;;B.01BBH;; ;;;C.01BB;; ;;;D.0376
28.执行“DIV; BX”指令后,(;;;; )寄存器中存放商。
A.AL;;;;; ;;B.AH;;;;; ;C.AX;;;;; D.DX
24.若移位指令的移位位数大于1时,其移位位数必须放在;;;;; 中。 CL
25.如果AL=85H,CL=4,执行“SAR; AL,CL”时,AL=;;;; ,CF=;;;; 。 0F8H 0
6.设BX=8234H,请说明下列两条指令的区别,执行下列各指令后BX中的内容是什么?
SHR; BX,1
SAR; BX,1
参考:SHR是逻辑右移指令,移位后空出的位补0,而SAR是算术右移指令,高位保持不变,其他位右移一位。SHR BX,1执行后BX=411AH,执行SAR BX,1后; BX=0C11AH。
6.现有程序段如下:
MOV; ;; BL,AL
MOV; ;; CL,4
SHR; ;;; BL,CL
MOV; ;; A,BL
AND; ;; AL,0FH
MOV; ;; B,AL
请回答 :(1)该程序段完成的功能是什么?
(2)如果AL的初值为56H,则A=;;;;; ,B=;;;;;;; 。
6.(1)将AL中的八位数分高低4位分别存放在A和B中。
(2)A=05H,B=06H
8.现有程序段如下:
MOV; ;; AX,M
MOV;; DX,N
SHR; ;;; DX,1
RCR; ;;; AX,1
请回答 :(1)该程序段完成的功能是什么?
(2)若M=1234H,N=5678H,程序运行后DX=;;;;; ;,AX=;;;;;; ;。
8.(1)将M:N中的32位右移一位。
(2)DX=091AH,AX=2B3CH
9.现有程序段如下:
XOR; ;; AX,AX
MOV; ;; AX,6342H
MOV; ;; CX,0404H
ROL; ;;; AH,CL
XCHG; CH,CL
ROR; ;;; AL,CL
请回答 :(1)该程序段执行后AX=;;;;;;; 。
(2)CF= ;;;;;;;;。
9.(1)3624H
(2)CF=0
11.现有程序段如下:
MOV; ;; CX,16
MOV; ;; BX,0
MOV; ;; DX,1
L: MOV; ;; AX,9AB8H
AND; ;; AX,DX
JZ;; ;;;; N
INC; ;;;; BX
N: SHL; ;;;; DX,1
LOOP; ; L
MOV; M,BX
请回答 :(1)该程序段完成的功能是什么?
(2)该程序段执行完后(M)=;;;;;;;; 。
11.(1)统计9AB8H中为1的位数。
(2)M=8
14.现有程序段如下:
MOV; ;; AL,0
MOV; ;; BL,1
MOV; ;; CX,10
L:; ADD ;;;; AL,BL
INC; ;;;; BL
LOOP; ; L
请回答 :(1)该程序段完成的功能是什么?
(2)该程序执行完后,AL=;;;;;;;; ;。
14.(1)实现1+2+3+……+10
(2)37H(55)
5.将DX:AX:BX中的48位数乘以2。
5.; SAL ;;;;;;;;;;; BX, 1
RCL ;;;;;;;;;; AX, 1
RCL ;;;;;;;;;; DX, 1
9.将DX:AX中的32位数据逻辑左移2位。
9.; SHL ;;;;;;;;;;; AX, 1
RCL ;;;;;;;;;; DX, 1
SHL ;;;;;;;;;;; AX, 1
RCL ;;;;;;;;;; DX, 1