文档库

最新最全的文档下载
当前位置:文档库 > 微机原理与汇编语言复习题及参考答案

微机原理与汇编语言复习题及参考答案

中南大学网络教育课程考试复习题及参考答案

微型机原理与汇编语言

一、单项选择题:

1.设AL=0A8H,CX=2,CF=1,执行RCL AL,CL指令后,AL中的值为 [ ]

A.51H

B.A3H

C.47H

D.0C5H

2.下述指令的执行结果是 [ ]

MOV AL,0C2H

AND AL,0F0H

A.AL=40H

B.AL=20H

C.AL=0C0H

D.AL=0E0H

3.完成对CL寄存器的内容乘以4的正确操作是 [ ]

A.ROL CL,1

B.MUL 4

C.SHL CL,1

D.MOV CL,2

ROL CL,1 SHL CL,1 SHL CL,CL

4.无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指 [ ]

A.ADD BH,01H

B.OR BH,01H

C.XOR BH,01H

D.TEST BH,01H

5.假设(AL)= 37H,(BL)= 95H,执行指令IMUL BL后(AX)= [ ]

A.0E903H

B.2003H

C.0DBBH

D.2008H

6.下面的数据传送指令中,错误的操作是 [ ]

A.MOV SS:[BX+DI],1000H

B.MOV DX,1000H

C.MOV WORD PTR[BX],1000H

D.MOV DS,2000H

7.CPU 要访问的某一存储单元的实际地址称 [ ]

A.段地址

B.偏移地址

C.物理地址

D.逻辑地址

8.某存储单元的物理地址是 12345H,可以作为它的段地址有 [ ]

A.2345H

B.12345H

C.12340H

D.1234H

9.计算机能直接识别的的语言 [ ]

A.汇编语言

B.机器语言

C.高级语言

D.低级语言

10.下列指令中操作数在代码段中的是 [ ]

A.MOV AL,25H B.ADD AH,BL C.INC DS:[25] D.CMP AL,BL

11.直接、间接、立即三种寻址方式指令的执行速度,由决至慢的排序为 [ ]

A.直接、立即、间接

B.直接、间接、立即

C.立即、直接、间接

D.不一定

12.若栈顶的物理地址是2010011,当执行完指令CALL AX后,栈顶的物理地址是 [ ]

A.2010211

B.2010111

C.200FFH

D.200FEH

13.当执行完下列指令序列后,标志位 CF和OF的值是 [ ]

MOV AX,OC126H

MOV BX,5AB7H

SUB AX,BX

A.0,0

B.0,1

C.1,0

D.1,1

14.JMP BX的目标地址偏移量是 [ ]

A.SI 的内容

B.SI 所指向的内存字单元之内容

C.IP+SI 的内容

D.IP+[SI]

15.指令 MOV AX,10[BX]的源操作数的寻址方式是 [ ]

A.基址寻址

B.寄存器寻址

C.变址寻址

D.寄存器相对寻址

16.指出下列哪个数据在汇编语言中是非法的? [ ]

A.19BH+25D

B.25+AL

C.108-102Q

D.101B*OABH

17.用来存放即将执行的指令的偏移地址的寄存器是 [ ]

A.SP

B.IP

C.BP

D.CS

18.源变址寄存器是 [ ]

A.SI

B.DI

C.SP

D.BX

19.设SP=1200H,执行POP AX后,SP中的内容为 [ ]

A.SP=1112H

B.SP=11OEH

C.SP=1111H

D.SP=11OFH

20.数字6704不可能是 [ ]

A.六进制数

B.十进制数

C.十二进制数

D.十六进制数

21.下面四个寄存器中,不能用于间接寻址的寄存器是 [ ]

A.BX

B.AX

C.BP

D.DI

22.若(BX)=OCA8H,则执行指令

MOV CL,8

ROR BX,CL后,(BX)= [ ]

A.OCA8H

B.8ACOH

C.OA80CH

D.OA8COH

23.下面数据传送指令中,正确的是 [ ]

A.MOV DS,ES B.MOV AL,WORD PTR [BX+DI]

C.MOV AL,BYTE PTR [SI+DI] D.MOV CX,[SI]

24.下列哪一种寻址方式最快? [ ]

A.立即寻址

B.直接寻址

C.寄存器寻址

D.寄存器间接寻址

25.寄存器间接寻址中,操作数在 [ ]

A.通用寄存器

B.堆栈

C.主存单元

D.段寄存器

26.在顺序结构的流程图中,不包含有 [ ]

A.起始框

B.终止框

C.判断框

D.处理框

27.以8086/8088为CPU的微机内存最大容量为 [ ]

A.4MB

B.1MB

C.640KB

D.64KB

28.与lA.5H不等的数据是 [ ]

A.26.3125D

B.11010.0101B

C.32.5Q

D.10110.0100B

29.8位二进制补码表示的整数数据范围是 [ ]

A.-128~127

B.-127~127

C.-128~128

D.-127~128

30.下列四个寄存器中,不允许用传送指令赋值的寄存器是 [ ]

A.CS

B.DS

C.ES

D.SS

31.指令MOV 100[SI][BP],AX的目的操作数的隐含段为 [ ]

A.数据段

B.堆栈段

C.代码段

D.附加段

32.运算型指令的寻址和转移型指令的寻址,其不同点在于 [ ]

A.前者取操作数,后者决定程序的转移地址

B.后者取操作数,前者决定程序的转移地址

C.两者都是取操作数

D.两者都是决定程序的转移地址

33.设AL=0A8H,CX=2,CF=1,执行RCL AL,CL指令后,AL= [ ]

A.51H

B.A3H

C.47H

D.0C5H

34.目的变址寄存器是 [ ]

A.SI

B.DI

C.SP

D.BX

35.下列常用寻址方式中,哪种属于立即寻址? [ ]

A.MOV AX,ES:[2000H]

B.MOV [BX],AX

C.MOV AX,2000H

D.MOV AX,[BX+3AH]

36.设SP=1110H,执行PUSH AX后,SP中的内容为 [ ]

A.SP=1112H

B.SP=110EH

C.SP=I111H

D.SP=110FH

37.下列指令中错误的指令为 [ ]

A.MOV AX,CS

B.MOV DS,1500H

C.MOV SI,BX

D.MOV [2000H],BL

38.语句DA1 DB 2 DUP(3,5),7 汇编后,与该语句功能等同的语句是 [ ]

A.DA1 DB 3,5,7

B.DA1 DB 2,3,5,7

C.DA1 DB 3,5,3,5,7

D.DA1 DB 3,5,7,3,5,7

39.下面四个寄存器中,用来作为I/O端口间接寻址的寄存器是 [ ]

A.BX B.DX C.BP D.DI

40.下列哪一种寻址方式最快? [ ]

A.立即寻址

B.直接寻址

C.寄存器寻址

D.寄存器间接寻址

41.在串处理指令REPNZ CMPSB表示在 [ ]

A.当(CX)不等于0且ZF等于1的情况下,重复执行串搜索

B.当(CX)不等于0且ZF等于0的情况下,重复执行串搜索

C.当(CX)不等于0且ZF等于1的情况下,重复执行串比较

D.当(CX)不等于0且ZF等于0的情况下,重复执行串比较

42.若(DX)=0A74CH,(CL)=5,则指令SAR DX,CL执行后,(DX)= [ ]

A.053AH

B.653AH

C.0FD3AH

D.740AH

43.完成将有符号数BX的内容乘以2的正确指令是 [ ]

A.SHR BX,1

B.SAR BX,1

C.SAL BX,1

D.RCR BX,1

44.指令LOOPNZ的循环执行条件是 [ ]

A.CX ≠0且ZF=0

B.CX ≠0或ZF=0

C.CX ≠0且ZF=1

D.CX ≠0或ZF=1

45.下列寄存器中不能作为间址寄存器的是 [ ]

A.SI

B.DI

C.CX

D.BX

46.JMP WORD PTR[BX]转移的目标地址是 [ ]

A.BX 中的内容

B.SP+BX 之和

C.IP+[BX]之和

D.BX指示的内存单元之内容

二、填空题:

1.计算机中的CPU由__________和__________组成。

2.(51

3.85)10 = ( __________ )16 ; (105.3)8 = ( __________ )10 。

3.假定机器的字长为8位,且最高位为符号位,则(-127)10的原码用8位二进数表示为__________,其补

码用8位二进数可表示为__________。

4.I/O端口有两种编址方式,分别是 __________ 和 __________。

5. 8086/8088的中断系统能够处理 __________ 个不同的中断源,并为每一个中断安排一个编号,称为

中断类型。每种中断类型对应的中断服务程序的入口地址称为 __________。

6.循环结构的程序主要由 __________、循环体、 __________ 和循环控制部分组成。

7.若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOV AX,(SI+COUNT)中,源操作数的有效地址EA为

__________,其物理地址为__________。

8.当标志位__________=1时表示无符号数运算产生溢出,而当标志位__________=1是表示带符号数运算

产生溢出。

9.将十进制数513.85转换成二进制数、八进制数、十六进制数和BCD码分别可表示为__________、

__________、__________、__________。

10.十进制数52的原码、反码、补码(采用8位二进制,最高位为符号位)分别可表示为_________、

__________、__________。

11.已知某个数的补码为9DH,则其真值为__________。

12.以下宏定义的功能是将一位十六进制数转换为ASCII码,请在空白处填入恰当内容,使程序完整。

HEXTOA __________

AND AL,0FH

CMP AL, __________

JNA HEXTOA1

ADD AL,7H

HEXTOA1: ADD AL, __________

ENDM

13.地址2000H: 0480H,其物理地址是__________,段地址是__________,偏移量是__________。

14.225D= __________B= __________H。

15.已知[X]补=11010101,则X= __________D。

16.执行部件EU的主要功能是:____________________和____________________。

17.8086 CPU在取指令时,会选取段寄存器__________的值作为段基值,再加上由__________提供的偏移

地址形成20位的物理地址。

18.8086最多可处理__________种中断,对每一个中断都设置一个__________。

19.8086 CPU有两种外部中断请求线,它们分别是__________和__________。

20.CPU与外设之间的数据传送方式有__________、__________、__________和DMA方式传送。

21.冯·诺依曼型的计算机制结构由__________、__________、__________、__________和__________五

大部分组成。

22.101011.101B = __________D =__________O = __________H。

23.数字9的ASCII码为__________。

24.I/O端口有_________和_________两种编址方式,8086的最大I/O寻址空间为_________。

25.若一个程序段开始执行之前,(CS)=97F0H,(IP)=1B40H,该程序段启动执行指令的实际地址是________。

26.6AB.24H = __________B = __________O。

27.数字“0”和字母“K”的对应的ASCII码分别为__________和__________。

28.十进制数-26的原码、反码、补码(采用8位二进制,最高位为符号位)分别为__________、__________、__________;已知一个数的补码为B2H,其真值为__________。

29.汇编语句中,语句标号具备的三种属性分别是__________、__________、__________;变量具备的三

种属性分别是__________、__________、__________。

30.8086CPU的数据总线为_________位,地址总线为_________位,最大的存储空间是_________。

31. 8086CPU的标志寄存器共有9个有效标志位,其中有6个状态标志位,分别是_________、__________、

_________、__________、_________、__________。

32.已知X=-1011011B,则X的反码为_________,X的补码为_________。

33.8086CPU在取指令时,会选取段寄存器__________的值作为段基值,再加上由__________提供的偏移地

址形成20位的物理地址。

三、判断题:

1.奇偶标志位PF,当运算结果的低8 位中有偶数个1时,被置为0。 [ ]

2.CS, DS, ES和SS段都可以存放指令代码。 [ ]

3.MOV SI,[SI] [ ]

4.MOV [DI],[SI] [ ]

5.两数相等时转移可用JZ指令。 [ ]

6.OUT [BX],AL [ ]

7.当IF=0时,CPU 不能响应NMI中断。 [ ]

8.把若干个模块连接起来成为可执行文件的系统程序是汇编程序。 [ ]

9.使汇编程序执行某种操作的命令是宏指令。 [ ]

10.串操作指令中,目的操作数的段地址一定在DS寄存器中。 [ ]

11.在汇编语句AGAIN: INC SI中的AGAIN称为标号。 [ ]

12.MOV BH,1000[SI],该指令中源操作数采用的寻址方式是寄存器间接寻址。 [ ]

13.OR AL,AL 是逻辑或操作指令。 [ ]

14.DOS 系统功能调用中,显示单个字符的系统调用号是 01H。 [ ]

15.使计算机执行某种操作的命令是伪指令。 [ ]

四、改错题:

1.下述程序执行后,应将LIST数组中的最大值存入MAX单元,数组元素为无符号字数据,数据个数在CNT

单元中。现已知程序有错,请改正,使之完成预定功能。

1)DSEG SEGMENT

2)LIST DW 1,200,30,400,0,7,4000

3)CNT DB 7

4)MAX DW?

5)DSEG ENDS

6)CSEG SEGMENT

7)ASSUME DS:DSEGDS:CODE

8) FMAX: MOV DX,DSEG

9)MOV DS,AX

10)LEA SI,LIST

11)MOV CX,CNT

12)CLD

13)LODSW

14)DEC CX

15)CMP AL,[SI]

16)JLE SMALL

17)LODS W

18) SMALL: INC SI

19)INC SI

20)DEC CX

21)LOOP AGAIN

22)MOV MAX,SI

23)MOV AL,4CH

24)INT 21H

25)CSEG END

26)END START

2.下面的程序是将内存单元一字节数据乘以10放回单元的程序,找出错误并改正。

DATA SEGMENT

DA DW 34

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV SI,OFFSET DA

MOV AL,[SI]

MUL 10

MOV [SI],AX

MOV AH,4CH

INT 21H

CODE ENDS

END START

五、简答题:

1.80386/80486有几种工作模式?各有什么特点?

2.假定一个名为MAINPRO的程序要调用子程序SUBPRO,试问:

(1)MAINPRO中的什么指令申明汇编程序SUBPRO是在外部定义的?

(2)SUBPRO怎么知道MAINPRO要调用它?

3.现有(DS)=2000H,(BX)=O100H,(SI)=0002H,(20100H)=12H,(2010H)=34H,(20102H)=56H,(20103H)

=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H,试说明下列指令执行后,AX寄存器中的内容。

(1)MOV AX,[1200H] (2)MOV AX,[BX]

(3)MOV AX,1100H[BX] (4)MOV AX,[BX+SI]

(5)MOV AX,[1100H+BX+SI]

4.汇编语言源程序的语句类型有哪几种?各自的作用和使用规则是什么?

5.一个汇编源程序应该由哪些逻辑段组成?各段如何定义?各段的作用和使用注意事项是什么?

6.什么是微型计算机的系统总线?定性说明微处理器三大总线的作用。

六、程序分析题:

1.试分析下列程序段,如果AX和BX的内容分别给出如下5种情况,问程序分别转向何处?

(1) AX = 1478H, BX = 80DCH

(2) AX = 0B568H, BX = 54B5H

(3) AX = 42C8H, BX = 608DH

(4) AX = 0D023H, BX = 9FD0H

(5) AX = 94B7H, BX = 0B568H

ADD AX,BX

JNO L1

JNC L2

SUB AX,BX

JNC L3

JNO L4

JMP L5

2.已知数据段中定义

DAT1DB 12H,34H,56H,78H

MOVCX,0

MOVAX,WORDPTRDAT1

MOVCL,DAT1+3

当程序段执行完后AX=________,CX=________。

3.执行完程序后,回答指定的问题。

BLOCK DB 20H,1FH,08H,81H,OFFH…

RESULT DB?

START: LEA SI,BLOCK

MOV CH,O

MOV CL,[SI]

DEC CX

INC SI

MOV AL,[SI]

LOP1: CMP AL,[SI+1]

JLE NEXT

MOV AL,[SI+1]

NEXT: INC SI

LOOP LOP1

MOV RESULT,AL

HLT

问:(1)该程序的功能是();

(2)该程序的循环次数是()。

4.分析下列程序,回答问题:

(1)该程序完成什么功能?

(2)程序中的INC SI可否用指令ADD SI,1代替,为什么?

(3)程序中的指令LEA SI,DATAI可用指令()代替。