微机原理与接口技术 顾晖 习题参考答案(3)

2018-12-12 22:46

0 1 1 (5) F596 - - - - - (6) 0A69 0 0 0 0 1

11.设AX和BX是符号数,CX和DX是无符号数,若转移目标指令的标号是NEXT,请分别为下列各项确定CMP和条件转移指令。 5分

1)CX值超过DX转移 2)AX值未超过BX转移 3)DX为0转移 4)CX值等于小于DX转移 答:

(1) CMP CX,DX JA NEXT

(2)CMP AX,BX JNA NEXT (3)CMP DX,0 JZ NEXT

(4)CMP CX,DX JBE NEXT

12.阅读分析下列指令序列 ADD AX,BX JNO L1 JNC L2 SUB AX,BX JNC L3 JNO L4 JMP L5

若AX和BX的初值分别为以下5种情况,则执行该指令序列后,程序将分别转向何处(L1-L5中的哪一个)?

1)AX=14C6H, BX=80DCH 2)AX=0B568H,BX=54B7H 3)AX=42C8H, BX=608DH 4)AX=0D023H,BX=9FD0H

11

5)AX=9FD0H, BX=0D023H 答:

(1) 程序转向L1。 (2) 程序转向L1。 (3) 程序转向L2。 (4) 程序转向L5。 (5) 程序转向L5。 13.答:

因为普通运算指令执行的是二进制数的运算,而BCD码是十进制数,所以,需要对运算结果进行十进制调整。

在做BCD码的加、减和乘法运算时,十进制调整指令放在运算指令之后;而作BCD码的除法运算时,在运算指令之前用十进制调整指令对被除数进行调整。 14.答: MOV Cl,3 10

SHR bx,cl 15.答:(略) 16.答: 17.答:

DATA SEGMENT COUNT=100H ORG 1000H

D_DATA DB COUNT DUP(?) ORG 2170H

S_DATA DB COUNT/5 DUP(1,2,3,4,5) DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:DATA START:

MOV AX,DATA MOV DS,AX MOV ES,AX LEA SI,S_DATA LEA DI,D_DATA MOV CX,COUNT REP MOVSB MOV AL,1 MOV CX,COUNT LEA DI,D_DATA AGAIN:

CMP BYTE PTR [DI],AL JNZ NEXT

MOV BYTE PTR [DI],' ' NEXT:

12

INC DI LOOP AGAIN

EXIT: MOV AH,4CH INT 21H CODE ENDS END START 11

18. 答: 19. 答: CODE SEGMENT ASSUME CS:CODE START:

MOV AX,5678H MOV DX,1234H NOT AX NOT DX ADD AX,1 ADC DX,0 EXIT:

MOV AH,4CH INT 21H CODE ENDS END START

;本程序未考虑溢出的情况。 DATA SEGMENT A1 DW 5050H

A2 DW ? ;存A1的反码 A3 DW ? ;存A1的补码 DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:

MOV AX,DATA MOV DS,AX MOV AX,A1 NOT AX MOV A2,AX INC AX MOV A3,AX EXIT:

MOV AH,4CH INT 21H CODE ENDS END START

13

12

20. 答: 21. 答:

DATA SEGMENT ;AT 5000H ORG 3481H DAT DB 12H DB ?,?,? DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:

MOV AX,DATA MOV DS,AX MOV AL,DAT NEG AL

MOV DAT+1,AL MOV AL,DAT

XOR AL,00001111B MOV DAT+2,AL MOV AL,DAT

OR AL,11110000B MOV DAT+3,AL EXIT:

MOV AH,4CH INT 21H CODE ENDS END START COUNT=1000 DATA SEGMENT ORG 1000H

DAT DB 10 DUP (12H,-5,-3,0,-128,56H,98H,4,128,200) ORG 2000H MINDAT DB ? DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:

MOV AX,DATA MOV DS,AX LEA SI,DAT MOV CX,COUNT DEC CX

MOV AL,[SI] NEXT: INC SI

14

CMP AL,[SI] JLE ISMIN MOV AL,[SI] ISMIN: LOOP NEXT MOV MINDAT,AL EXIT:

MOV AH,4CH INT 21H CODE ENDS END START 13

22. 答: DATA SEGMENT

STRING1 DB 'hELLO!' COUNT1=$-STRING1 STRING2 DB 'hEL1O!' COUNT2=$-STRING2 IM DB 'MATCH$' NM DB 'NOT MATCH$' DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:

MOV AX,DATA MOV DS,AX

LEA SI,STRING1 LEA DI,STRING2 MOV CX,COUNT1 MOV BX,COUNT2 CMP CX,BX

JNZ DISPNOTMATCH NEXT:

MOV AL,[SI] MOV AH,[DI] CMP AL,AH

JNZ DISPNOTMATCH INC SI INC DI LOOP NEXT ISMATCH:

MOV DX,OFFSET IM MOV AH,9 INT 21H

15


微机原理与接口技术 顾晖 习题参考答案(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:园林预算定额说明及计算规则

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: