I.执行单元,功能是执行指令 解:F、H、I、A、G、B、C、E、D 87.按下列要求写出相应的指令。
(1) 写出三条使AX内容为0的指令; (2) 使BL寄存器中的高四位和低四位互换; (3) 屏蔽CX寄存器的b8和b5位;
解:(1) MOV AX, 0 XOR AX, AX AND AX, 0
(2) MOV CL, 4 ROL BL, CL (3) AND CX, 0FEDFH
88.按下列要求写出相应指令。
(1)使DL寄存器中的高四位和低四位互换 (2)使DL寄存器中的每一位按位求反
(3)测试DL中的b3位是否位1,而不改变DL中的内容 (4)使AL、DL寄存器中的八位带符号数相乘
解:(1)使DL寄存器中的高四位和低四位互换
MOV CL, 4 ROL/ROR DL, CL
(2)使DL寄存器中的每一位按位求反 XOR DL, 0FFH
(3)测试DL中的b3位是否位1,而不改变DL中的内容 TEST DL, 08H
(4)使AL、DL寄存器中的八位带符号数相乘 IMUL DL
89.设有关寄存器和存储单元内容为:
(DS)=4000H,(BX)=1000H,(SI)=0050H,(42500H)=11H,
(42501H)=22H,(42100H)=33H,(42101H)=44H,(41050H)=55H,(41051H)=66H 试说明下列各条指令执行之后,AX寄存器的内容,并指出源操作数的寻址方式 (1)MOV AX,3700H (2)MOV AX,BX
(3)MOV AX,[2500H] (4)MOV AX,1100H[BX] (5)MOV AX,[BX][SI]
解:(1)(AX)=3700H,立即寻址(2)(AX)=1000H,寄存器寻址 (3)(AX)=2211H,直接寻址(4)(AX)=4433H,寄存器相对寻址 (5)(AX)=6655H,基址变址寻址 90.设有关寄存器和存储单元内容为:
(DS)=2000H,(BX)=0300H,(SI)=0002H,(20302H)=56H,
(20303H)=78H,(21200H)=22H,(21201H)=33H,(21400H)=44H,(21401H)=55H 试说明下列各条指令执行之后,AX寄存器的内容,并指出源操作数的寻址方式 (1)MOV AX,1500H (2)MOV AX,BX (3)MOV AX,[1200H] (4)MOV AX,1100H[BX] (5)MOV AX,[BX][SI]
解:(1)(AX)=1500H,立即寻址(2)(AX)=0300H,寄存器寻址 (3)(AX)=3322H,直接寻址(4)(AX)=5544H,寄存器相对寻址 (5)(AX)=7856H,基址变址寻址 91.指出下列各条指令源操作数的寻址方式。
(1)MOV AX,BX (2)MOV AL,44H (3) MOV AX,[SI][BX] (4)MOV DI,[BX] (5)MOV AX,33H[BX]
解: (1)寄存器寻址 (2)立即(数)寻址
(3)基址-变址寻址 (4)寄存器间接寻址(5)寄存器相对寻址 92.指出下列指令的错误。
(1)MOV DS,0200H (2)MOV AH,BX (3)MOV BP,AL (4)MOV AX,[SI][DI] (5)OUT 4310H,AL (6)MOV BYTE PTR[BX],1000 (7)PUSH BH (8)MOV [BX],[SI] (9)MOV CS,AX (10)MUL 39H (11)MOV AH,CX (12)MOV 33H,AL (13)MOV AX,[SI][DI] (14)MOV [BX],[SI] 解:(1)不能直接向DS中送立即数 (2)寄存器类型不匹配
(3)寄存器类型不匹配 (4)两变址寄存器不能同时使用 (5)直接寻址的输出指令中,端口号只能在0~FFH范围内 (6)数1000超出一个字节范围 (7)PUSH指令对字操作 (8)两内存单元之间不能进行数据传送
(9)CS不能做目的寄存器 (10)MUL指令不能为立即数
(11)寄存器类型不匹配 (12)MOV指令不允许目标操作数为立即数 (13)两变址寄存器不能同时使用 (14)两内存单元之间不能进行数据传送
93. (1)MOV DS,12H (2)MOV AH,400
(3)MOV BP,AL (4)MOV AX,[SI][DI]
(5)OUT 257H,AL (6)MOV BYTE PTR[BX],1000 (7)MOV [BX],[SI] (8)PUSH BH
(9)LEA AX,OFFSET DATA (10)IN AL,BX 解:(1)不能直接向DS中送立即数 (2)400超过了一个字节的范围 (3)寄存器类型不匹配
(4)两变址寄存器不能同时使用
(5)直接寻址的输出指令中,端口号只能在0~0FFH范围内 或间接寻址的输出指令中,应使用DX寄存器 (6)1000超过了一个字节的范围
(7)源和目的操作数不能同时为存储器操作数 (8)PUSH是字操作指令 (9)取偏移地址指令重复使用
(10)在I/O指令间接寻址方式中,应使用DX寄存器 94.计算下列伪指令中各变量所占的字节数。
A1 DW 20
A2 DW 8 DUP(?),10,20 A3 DD 10 DUP(?) A4 DB 3 DUP(?,4 DUP(0)) A5 DB ‘Happy_new_year!!’
解:分别占2,20,40,15,16个字节
95.在8086、8088中,标志寄存器包含那些标志位?含义分别是什么?
解:CF:进位标志位,为1表示最高位向前有进位或借位,否则为0
PF:奇偶标志位,运算结果低8位中1的个数位偶数时为1,奇数为0 AF:辅助进位标志位,为1表示第三位向第四位有进位或借位,否则为0 ZF:零标志位,运算结果为零时为1,否则为0 SF:符号标志位,运算结果为负时为1,正数为0
OF:溢出标志位,带符号数运算时,超出范围为1,否则为0 备注:以上标志位每个1分 96.执行下列指令后,AX寄存器中的内容是多少?
TABLE DW 10,20,30,40,50 ENTRY DW 3
MOV BX, OFFSET TABLE ADD BX, ENTRY
MOV AX, [BX]
解:(AX)=1E00H
97.修改下列指令中的错误,改动原则为仅改动源操作数,且改动后每条指令源操作数的寻址方式唯一,并指出修改后源操作数的寻址方式。
(1)MOV BX,17H (2)OUT 25H,AH (3)ADD AX,[SI][DI] (4)MOV BX,[AX] (5)LEA AX,OFFSET DATA
解:(1) MOV BX,1117H 立即数寻址方式 (2) OUT 25H, AL 寄存器寻址方式 (3) ADD AX, [SI][BX] 基址变址寻址方式 (4) MOV BX, [DI] 寄存器间接寻址方式 (5) LEA AX, DATA 直接寻址方式
备注:此题答案并不唯一,改动只要正确即可,正确得一分。
98.试编制程序将数据串(-10,0,23,12,-8,9)中最大数和最小数找出来,存入MAX和MIN中。 解:DATA SEGMENT
NUM DB -10,0,23,12,-8,9 MAX DB ? MIN DB ?
DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV AL,NUM MOV MAX,AL MOV MIN,AL CLD
MOV SI,OFFSET NUM MOV CX,6
AGAIN:MOV AL,[SI] CMP AL,MAX JNG NEXT1 MOV MAX,AL NEXT1:CMP AL,MIN JNL NEXT2 MOV MIN,AL NEXT2:INC SI LOOP AGAIN MOV AH,4CH INT 21H CODE ENDS END START
99.试编制程序将ABCDEFG七个字母依次显示在屏幕上。 解:程序如下: DATA SEGMENT
DATA1 DB ‘ABCDEFG’ DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX
MOV BX,OFFSET DATA1 MOV CX,7 AGAIN:MOV AL,[BX] XCHG AL,DL MOV AH,02H INT 21H
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库微机原理试题(last)(3)在线全文阅读。
相关推荐: