SAR AX,1
D.以上都不是
4.下列指令执行后,ZF=1的指令是(A)。 A.MOV AX,0 B.OR AX,0 C.XOR AX,AX D.CMP AX,0
5.对寄存器AX的内容乘以4的正确指令序列是(B)。 A.SHR AX,1 SHR AX,1 B.SHL AX,1 SHL,AX,1 C.ROL AX,1 ROL AX,1 D.RCR AX,1 RCR AX,1
6.下面指令执行后,改变AL寄存器内容的指令是(D)。 A.TEST AL,02H B.OR AL,AL C.CMP AL,BL D.AND AL,BL
二、程序分析题(共40分,每题10分)
1.已知(AX)=3200H,(DX)=0A000H,执行下列程序段: NOT AX
NOT DX ADD AX,1 ADC DX,0 问题:
(1)程序执行后,(AX)=( )(DX)=( ) (2)程序功能是什么?
答: (1)(AX)=(0CE00H) (DX)=(5FFFH) (2)双字长数DX,AX求补
2.设(DX)=1234H MOV CL,8 ROR DX,CL AND DX,0FFH CMP DX,12H
上述程序段运行后,(Dx)=( ),ZF=( ) 答:
(DX)=(12H),ZF=(1)
3.已知(AX)=0FF60H,CF=1 MOV DX,96 XOR DH,0FFH SBB AX,DX
执行上述指令序列后(AX)=( ),CF=( ) 答:
(AX)=965FH,CF=(0)
4.有下列程序段 MOV AX,10 ADD AX,AX MOV BX,AX MOV CL,2 SHL AX,CL ADD AX,BX
上述程序段执行后(AX)=( ),(BX)=( ) 答:
(AX)=00A0H,(BX)=(0020H)
三、程序填空(共10分,每题5分)
1.下列程序段将AX中值乘以9,请将程序填写完整 (1)__________ MOV CL,3 (2)____________
POP BX
ADD AX,BX 答:
(1)PUSH AX (2)SHL AX,CL
2.下列程序段求数组ARRAY的累加和。请将程序填写完整。 ARY DW 45H,68H,…………,0ABC1H,9600H;共10项 COUNT DW 10 (1)__________ MOV CX,COUNT XOR AX,AX
AGAIN:ADD AX,[SI] ADD SI,2
(2)____________
答:
(1)LEA SI,AKY (2)LOOP AGAIN
四、按要求编程(10分)
测试AL寄存器的D5和D0位,若同时为0,程序转向ZERO,执行AX减去BX;否则将AL清0,同时清CF和OF标志。写出程序段。 解:
TEST AL,00100001B JZ ZERO
SUB AX,AX
JMP STOP
ZERO:SUB AX,BX STOP:
五、执行下列指令语句,把执行结果填在空格中(10分)
已知(DS)=2500H (SI)=00A0H (250A0H)=01H (250A1H)=96H 执行ROL WORD PTR