当前位置:首页 > 微机原理习题答案1234章
(3)XOR AL,0F0H
BX,06H
(5)
MOV
AX,BX AX,06H
(4) TEST
JZ ZERO AND
MOV
AL,00H
XOR AX,06H JZ OVER
MOV
AL,0FFH
JMP OVER
ZERO: MOV AL,0FFH
OVER:
OVER:
(6)AND AL,5FH 或者:
CMP
JL CMP JG
AL,61H
OVER (无需变换或不是字母) AL,7AH
OVER (不是字母)
AND AL,5FH 或 SUB AL,20H OVER:
(7)OR AL,20H 或者:
CMP
JL CMP JG
AL,41H
OVER (不是字母) AL,5AH
OVER (无需变换或不是字母)
OR AL,20H 或 ADD AL,20H OVER:
(8)XOR AX,0FFFFH (9)XOR DX,007FH (10)XCHG CH,CL 11. 写出完成下述功能的程序段:
- 12 -
或者 NOT AX
(1)传送40H到AL寄存器; (2)将AL的内容乘以2; (3)传送16H到AH寄存器; (4)AL的内容加上AH的内容。 计算最后结果(AL)=? 解:(1)MOV AL,40H (2)SHL AL,1 (3)MOV AH,16H (4)ADD AL,AH AL=96H
12. 写出完成下述功能的程序段:
(1)从缓冲区BUF的0004偏移地址处传送一个字到AX寄存器; (2)将AX寄存器的内容右移2位;
(3)将AX内容与BUF的0006偏移地址处的一个字相乘; (4)相乘结果存入BUF的0020H偏移地址处(低位在前)。 解: (1) LEA SI, BUF
MOV
AX, [SI+4] AX,1 AX,1
WORD PTR 6[SI] 20H[SI],AX 22H[SI],DX
(2) SHR
SHR
(3) MUL (4) MOV
MOV
13. 设(BX)=11001011B,变量VAR的内容为00110010B,求下列指令单独执行后BX的内
容:
(1)XOR BX,VAR; (3)OR BX,VAR;
(2)AND BX,VAR; (4)XOR BX,11110000B; (6)TEST BX,1
(5)AND BX,00001111B; 解:(1)00F9H (2)0002H (3)00FBH
- 13 -
(4)003BH (5)000BH (6)00CBH
14. 设(DX)=10111011B,(CL)=3,(CF)=1,求下列指令单独执行后DX的内容:
(1)SHR DX,1; (2)SAR DX,CL; (3)SHL DX,CL; (4)SHL DX,1; (5)ROR DX,CL; (6)ROL DL,CL; (7)SAL DH,1; (8)RCL DX,CL; (9)RCR DL,1 解:DX= 0000 0000 1011 1011B CF=1 CL=3 (1)SHR
DX,1
DX逻辑右移1
0000 0000 0101 1101B =
005DH
(2)SAR DX,CL (3)SHL DX,CL (4)SHL DX,1 (5)ROR (6)ROL
DX算术右移3 DX逻辑左移3 DX逻辑左移1
0000 0000 0001 0111B = 0000 0101 1101 1000B = 0000 0001 0111 0110B =
0017H 05D8H 0176H
6017H 00DDH
DX,CL DL,CL
DX循环右移3 DL循环左移3
0110 0000 0001 0111B = 0000 0000 1101 1101B =
(7)SAL DH,1 (8)RCL DX,CL (9)RCR
DH算术左移1 0000 0000 1011 1011B = 00BBH
05DCH 00DDH
DX带进位循环左移3 0000 0101 1101 1100B = 0000 0000 1101 1101B =
DL,1 DL带进位循环右移1
15. 选择题(各小题只有一个正确答案)
(1)执行下列三条指令后:
MOV SP,1000H PUSH AX CALL BX
a. (SP)=1000H; c. (SP)=1004H;
b. (SP)=0FFEH; d. (SP)=0FFCH;
(2)要检查寄存器AL中的内容是否与AH相同,应使用的指令为:
a. AND AL, AH
b. OR AL, AH
c. XOR AL, AH d. SBB AL, AH
(3)指令JMP NEAR PTR L1与CALL L1(L1为标号)的区别在于:
a. 寻址方式不同; c. 目的地址不同;
b. 是否保存IP的内容; d. 对标志位的影响不同。
- 14 -
解:(1)D (2)C (3)B
PUSHU AX则AX入栈,SP=0FFEH;CALL BX则IP入栈,SP=0FFCH 异或,若相同,则AL=0,ZF=1。
16. 寄存器DX:AX组成32位数,DX为高位,编写程序段实现:
(1)DX:AX右移3位,并将移出的低3位保存在CL中; (2)DX:AX左移3位,并将移出的高3位保存在CL中; 解:(1)移出的3位应该按时序移入CL中。
XOR CL,CL MOV BL,3
L1: SHR DX,1
RCR AX,1 RCL CL,1 DEC BL JNZ L1
(2)移出的3位应该按时序移入CL中。
XOR CL,CL MOV BL,3
L1: SHL AX,1
RCR DX,1 RCR CL,1 DEC BL JNZ L1
17. 编写程序段实现将BL中的每一位重复4次,构成32位的双字DX:AX,例如当BL
=01011101B时,则得到的(DX)=0F0FH,(AX)=0FF0FH。
解:算术右移时,移入的值就是最高位本身,这样可以使位内容重复,利用这一点可以实现题目的要求。
XOR XOR MOV
DX,DX AX,AX CX,4 BL,1
L1: SHR
- 15 -
共分享92篇相关文档