微机原理及应用复习习题及答案2013 下载本文

安徽工程大学计算机与信息学院

B: DW ‘12’ MYDATA ENDS MYCODE SEGMENT

ASSUME DS:MYDATA,CS:MYCODE MOV DS,MYDATA MOV AH,A MOV AL,B MOV CX,A

MOV IP,B

4. 改正下面程序片段中的错误或指出错误原因。 DATA SEGMENT

A DB 12、24、34

B DW ‘12’,‘ABCD’

DATA ENDS CODE SEGMENT

ASSUME DS:DATA,CS:CODE

MOV DS,DATA

MOV DX,OFFSET A

MOV AL,[DX+2] MOV BL,CX 5. 指出下面程序片段中的错误。 A1:DB ? A2 DW 10 K1 EQU 1024

?? MOV DS,1200H

MOV AX,80 MOV K1,AX MOV AL,A2 MOV BX,A1

安徽工程大学计算机与信息学院

MOV A1,K1

6. 假设某程序段中的数据定义如下:

DA1 DW ?,2DUP(1) DA2 DB 32H,25H DA3 DB ? CUNT EQU $-DA1 问:(1) 画出内存分配图

(2) 变量DA1、DA2、DA3各占用几个字节?CUNT的值是多少?它表示什么意义?

7. 假设某程序段中的数据定义如下:

A1 DW 3 DUP( 2 DUP(1,2)) A2 DB ‘5678H’ A3 DD ? L EQU $-A1

问:A1、A2、A3在数据段中各占用几个字节?L的值是多少?它表示什么意义?

8. 对下面两个数据段,请分析偏移地址为10H和11H的两个字节中的数据是一样的吗?为什么?

DTSEG SEGMENT ORG

10H

| | | |

DTSEG SEGMENT ORG

10H

DATA1 DB 72H

DB 04H

DATA1 DW 7204H DTSEG ENDS

DTSEG ENDS |

9. 若STR是字符串的首地址,指出下列程序的功能,并将语句加上注解。

LEA

BX,STR ;_________

MOV CX,20 ;_________

LP: CMP [BX],‘*’

JNZ NEXT ;_________ MOV [BX],‘$’ ;_________

BX ;_________ LP ;_________

NEXT: INC

LOOP HLT

程序的功能:

安徽工程大学计算机与信息学院

10. 填入适当指令或指令的一部分,完成指定功能。

设有100个字节数据(无符号数),存放在数据段中EA=2000H的存储区内。以下程序片断应能从该数据区中找出最大的一个数并存入同一数据段EA=21OOH的单元中,请完成该程序。 MAX: MOV BX, M0V AL,[BX] M0V CX,

LOOP1: INC BX

CMP AL,[BX] MOV AL,[BX]

LOOP2: DEC CX

JNZ M0V ,AL

11. 指出下列程序的功能,并将有分号(;)的语句加上简要注解

BUF DB 100 DUP(?)

MOV BX,OFFSET BUF ; MOV CL,64H

LP: MOV BYTE PTR[BX],0 ;

INC BX ; DEC CL ; JNZ LP ;

程序的功能: 12. 分析填空

MOV BL,09H ;执行后 BL=_________ MOV AL,05H ;执行后 AL=_________ ADD AL,BL ;执行后 AL=_________ DAA ;执行后 AL=_________

BL=_________

13. 分析填空

MOV AX,00H ;执行后 AX=_________

安徽工程大学计算机与信息学院

PUSH AX POP BX

;执行后 AX=_________

;执行后 BX=_________

MOV AX,3F5FH ;执行后 AL=_________

MOV CX,4 ROR AL,CL AND AL,0FH

;执行后 AL=_________

;执行后 AL=_________

14. 分析填空

假设(BL)=0E3H,变量VALUE中存放的内容79H,确定下列各条指令单独执行后的结果。 (1)XOR BL,VALUE BL= (2)OR BL,VALUE BL= (3)XOR BL,0FFH BL= (4)AND BL, 0 BL= (5)SHL BL,1 BL= 15. 阅读程序回答问题

DATA SEGMENT

BLOCK DB 51,30,43,107,89,90,200,197,70,64 COUNT EQU $-BLOCK RESULT DB 0

DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX, * MOV DS,AX MOV SI, **

MOV CX,COUNT CON:MOV AL,[SI]

TEST AL,01H JZ NEXT INC RESULT NEXT:INC SI