admin 管理员组

文章数量: 1086019


2024年2月20日发(作者:structural sound)

北京邮电大学高等函授教育、远程教育

计算机科学与技术专业

《微机原理与接口技术》综合练习题

一.

填空

1. ______和______又称为中央处理器(CPU)。

2. 计算机由______、______、______、______和______五大部分组成。

3. 根据传送的信息类型,系统总线可以分为三类:______、______和______。

4. 8086CPU由______和______组成。

5. 半导体存储器按存取方式不同,分为______和______。

6. ______指可以随机地、个别地对任意一个存储单元进行读写的存储器。

7. ______指在正常工作情况下只能读出信息,而不能写入信息的存储器。

8. PC机存储单元的物理地址分为两个部分:______和______。

9. 有效地址中可有三个地址分量,分别为______、______和______。

10. 当(SS)=2000H,(SP)=0100H时,向堆桟中压入了3个字数据后,(SS)=______,(SP)=______。

11. I/O接口的作用主要有_________、_________和_________。

12. I/O接口大致分为_________和_________两类.

13. I/O接口的组成需要两部分,即_________和_________。

14. I/O端口从逻辑上讲就是可被CPU访问的_________、_________、_________或_________。

15. I/O端口可以三种类型,即_________类型、_________类型和_________类型。

16. 总线连接逻辑的内容主要有_________、_________和_________.

17. 微机中端口的编址方式通常有_________和_________两种。

18. CPU与一个外设交换信息,通常有_________、_________和_________。

19. CPU和外设交换数据时,还需要一个协同策略,一般有_________、_________和_________三种方式。

20. 程序控制I/O是以_________为主动方。

21. 中断驱动I/O是以_________为主动方。

22. _________是外设直接和存储器交换数据。

23. 在DMA传送方式中由_________直接从CPU接管并控制系统总线进行高速高效率的数据传送。

24. 所谓_________是指CPU在正常运行程序中,由于内部/外部事件或由程序的预先安排引起CPU中止正在运行的程序而转到为内部/外部事件或为预先安排的事件服务的程序中去。

25. 在中断技术中,将引起中断的原因或发出中断申请的来源称为_________。

26. 中断系统的功能主要包括_________、_________和_________。

27. PC机中各种类型的中断共有_________个。

28. _________是由CPU的一个输入端NMI得到上跳边沿而引发的中断。

29. _________是由外设引发的硬件中断,由CPU的输入端_________接收。

30. 由中断指令INT n引发的中断称为_________。

31. 从外设发出中断请求信号到真正转入中断服务程序执行需要一段时间,这就是_________。

32. 8086CPU可访问存储器的单元数为_________。

1

33. 所谓_________,即小数点在数中的位置是固定不变的。

34. 8086的存储器采用段结构方式,一个段的最大长度为_________。

35. CPU根据CS的内容和_________的内容来计算指令的物理地址。

36. 当允许CPU响应外中断时,IF标志应置为_________。

37. 标志寄存器中的九个标志按功能可分为两种:_________和_________。

二. 选择

1.十进制数28.625的二进制数为_________。

A.00101000.1010 B.101000.101

C. 00011100.1010 D.11101.101

2.十进制数28.625的十六进制数为_________。

A.112.10 B.1C.A

C.1C.5 D.112.5

3.二进制数11101.010的十进制数为_________。

A.31.25 B.29.75

C. 29.5 D.29.25

4. 二进制数11101.010的十六进制数为_________。

A. 1D.4 B. 1D.2

C. 1D.1 D. 1D.01

5.十六进制数23.4的十进制数为_________。

A.35.5 B. 23.4

C. 35.75 D.35.25

6.十进制数123的八位二进制补码为_________。

A.01111011 B. 10000101

C. 11111011 D. 00000101

7.十进制数–113的八位二进制补码为_________。

A. 11110001 B. 00001111

C. 01110001 D. 10001111

8.八位二进制补码01011001的十进制数为_________。

A.–89 B.89

C. 39 D. –39

9. 八位二进制补码11011001的十进制数为_________。

A.–39 B.39

C. –89 D.89

10. BCD码10010001的十进制数为_________。

A.145 B. –11

C. 91 D. –111

11. 存储器ROM的特点是_________。

A.可随机读,不可随机写成 B. 可随机读写

C.可随机写,不可随机读 D. 不可读写

12. 按外设性能及通用程度,I/O接口分为_________类。

A.4 B.3 C.2

13. 8255A芯片工作方式2的要求是_________。

A.只许A组 B.只许B组 C.A组B组均可

2

14. PC机中,I/O端口是采用_________方法确定其地址的。

A.规定名字 B. 用户自行命名

C.统一编号 D.独立编号

15. PC机中,I/O接口芯片的端口地址共有_________个。

A.1024 B.256

C. 255 D.756

16. 8250芯片的引脚A0A1A2与DLAB配合,选择内部寄存器,其中DLAB是指_________的最高位。

A.中断标识寄存器 B.线路控制寄存器

C.MODEM控制寄存器 D.线路状态寄存器

17. 执行INT 12H指令,该中断处理程序的入口地址在_________单元。

A. 48H B. 49H C. 4AH D. 4BH

18. 在PC/XT机中,下列不属于输入/输出方式的是_________。

A. 程序控制I/O B. 中断控制I/O

C. DMA方式 D. 存储器访问方式

三. 现有符号定义如下:

A1 DB ?

A2 DB 10

K1 EQU 1024

根据上面的定义,指出下列指令的错误.

(1) MOV K1 , AX

(2) MOV A1 , AX

(3) MOV BX , A1

MOV [BX] , 1000H

(4) CMP A1 , A2

(5) K1 EQU 2048

四. 请指出下列指令的源操作数的寻址方式,并计算物理地址.

设 (DS)=2000H, (ES)=2100H, (SI)=00A0H

(SS)=1500H, (BX)=0100H, (BP)=0100H,

数据变量VAL的偏移地址为0050H.

1. MOV AX,[100H]

2. MOV AX,[BX]

3. MOV AX,ES:[BX]

4. MOV AX,[BP]

5. MOV AX,[BX+10H]

6. MOV AX,VAL[BX]

7. MOV AX,[BX][SI]

8. MOV AX,VAL[BX][SI]

五. 说明程序段的功能。

1. 现有一程序如下:

DATA SEGMENT

3

FEN DB 85,90,67,43,91,67,78,63,78,99

NMAX DB ?

DATA ENDS

STACK SEGMENT

DB 100 DUP(10)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK

MAIN PROC FAR

START: PUSH DS

MOV AX,0

PUSH AX

MOV AX,DATA

MOV DS,AX

MOV BX,OFFSET FEN

MOV CX,10

DEC CX

MOV AL,[BX]

LOP: INC BX

CMP AL,[BX]

JAE NEXT

MOV AL,[BX]

NEXT: LOOP LOP

MOV NMAX,AL

RET

MAIN ENDP

CODE ENDS

END START

请完成下列工作:

(1) 画出程序流程图

(2) 说明程序功能

2. 设STR为一字符串在存储单元的首地址,有程序如下:

LEA BX,STR

MOV CL,0

STRC:MOV AL,[BX]

CMP AL,0DH

JE DONE

INC CL

INC BX

JMP STRC

DONE:MOV NSTR,CL

4

说明程序段的功能。

3.

MOV AX,X

CMP AX,50

JG TOO—HIGH

SUB AX,Y

JO OVERFLOW

JNS NONNEG

NEG AX

NONNEG: MOV RESULT,AX

TOO—HIGH:

OVERFLOW:

说明程序段的功能。

4.

MOV AL,0B2H

AND AL,0F0H

MOV CL,4

ROR AL,CL

说明程序段的功能。

5.

MOV AL,BCD1

ADC AL,BCD2

DAA

MOV BCD3,AL

MOV AL,BCD1+1

ADC AL,BCD2+1

DAA

MOV BCD3+1,AL

说明程序段的功能。

6.

SAL AL,1

MOV BL,AL

SAL AL,1

SAL AL,1

ADD AL,BL

说明程序段的功能。

7.

5

STACK SEGMENT

DW 20H DUP(0)

STACK ENDS

说明程序段的功能。

8.

MOV DL,AL

NOT DL

TEST DL,00000100B

JE EXIT

说明程序段的功能。

9.

MOV CX,15H

MOV SI,1

MOV AL,20H;20H为空格的ASCII值

NEXT: INC SI

CMP AL,ASCSTR[SI]

LOOPNE NEXT

JNE NOT_FOUND

NOT_FOUND:

说明程序段的功能。

10.

MOV AL,FIRST

MUL AL

SUB AX,50

HLT

说明程序段的功能。

六. 编写程序

1.

2.

在两个无符号数中找出较大者,存入结果单元MAX中。

计算分段函数

x5 当x5y5 当x5

其中X值在内存NX单元,函数值将存于NY单元,设计汇编程序段。

3. 有符号函数

当x01

y0 当x01 当x0设给定的X值存放在SNUM单元,要求根据X的取值求Y值,并将Y的结果存入DNUM单元中。

4. 在ADDR单元中存放着16位数Y的地址,试编一程序将Y中1的个数存入COUNT单元中.

6

5. 编写程序,计算梯形的面积A,公式为

A(L1L2)H2请写出完整的程序。

6. 求出前20个斐波那契(Fibonacci)数,存入数据段FN开始的区域中。斐波那契数的定义为

fo=0

f1=1

fn+2=fn+fn+1

7. 已知一个字数组从内存TAB单元开始存放,长度为N,要求计数该数组中0的个数,结果存入COUNT单元,设计汇编程序段。

8. 在首地址为TABLE的数组中,存有100个字数据,试编写程序求出相等次数最多的数,并将次数存入COUNT单元中。

七.

设8250的数据位7位,停止位1位,采用偶校验。

试完成:1. 写出数据格式控制字

2.写出设置数据格式的初始化程序

八.

利用BIOS中断将串行接口初始化为9600波特,8位数据位,1位停止位,偶校验。

九.

设8254计数器2工作于方式3,并置计数初值为533H,请编程。

十.

已知8255A当A组工作于方式1且为输出,B组工作于方式0为输入,C口除用作控制信号的其余各位均为输出.地址线A9~A2=10000000B时,该芯片的CS端有效,试完成:

1. 写出工作方式选择控制字

2. 写出初始化程序

3. 写出下列信号与PCi的对应关系

① OBFA_________

② ACKA_________

③ INTR_________

十一.

若8086系统中采用单片8259A作为外部可屏蔽中断的优先级管理,正常全嵌套方式,边沿触发,非缓冲连接,非自动中断结束,端口地址为20H和21H。其中某中断源的中断类型码为0AH,其中断服务子程序的人口地址是:2000:3A40H。

(1)请为8259A设置正确的初始化命令字,并编写初始化程序。

(2)请问本题中的中断源应与IR的哪一个输入端相连,其中断矢量地址是多少,矢量区对应的4个单元的内容是什么?

十二.

在某应用中,8259A工作于正常全嵌套方式,要求在为中断源IR4服务时,设置特殊屏蔽方式,开放较低级的中断请求,请编写有关程序片段。已知8259A的端口地址为20H和21H。

十三.

当数据从8255A的端口C往数据总线上读出时,8255A的几个控制信号CS,A1,A0,RD和WR分别是什么?

十四.

8255A的方式控制字和置/复位控制字都是写入控制端口的,那么,它们是由什么来区分的?

十五.

对8255A设置工作方式,8255A的控制端口地址为00C6H。要求端口A工作在方式1输入,端口B工作在方式0输出,端口C的普通I/O线为输入。

十六.

设8255A的4个端口地址为00C0H,00C2H,00C4H和00C6H,要求用置/复位方式对PC6置1,对PC4清0。

7

十七.

编程将8254的计数器0设置为方式1,计数初值为3000H;计数器1设置为方式2,计数初值为2010H;计数器2设置为方式4,计数初值为50,8254的端口地址为3B0H~3B3H。

十八.

用门电路设计产生端口地址为2F0H的译码电路。

十九.

完成下列数制转换。式中B为二进制,D为十进制,Q为八进制,H为十六进制。

(1)1111 0110B= D= H

(2)1110 1010B= D= H

(3)1010 1010.1B= D= H

(4)1010 1010.11B= D= H

(5)245D= B= H

(6)356D= B= H

(7)512 .375D= B= H

(8)1111 1011.11B= D= H

(9)70ADH B= D

(10)ABCDH= B= D

二十.

给出下列数的补码的二进制表示(设机器字长8位):

(1)X=+32D (2)X=-38D

(3)X=-63D (4)X=-64D

(5)X=-0D (6)X=+42D

(7)X=-110 0100B (8)X=+100 0000B

(9)X=-111 1111B (10)X=+100 1100B

(11)X=-000 0000B (12)X=+010 1010B

二十一.

已知x,y,求[x-y]补=? 并求x-y=?

(1)X=-38D Y=-64D

(2)X=+42D Y=-64D

(3)X=-101 0111B Y=+101 0101B

(4)X=+101 1101B Y=+101 0101B

二十二.

若AH=7AH,AL=3CH,能否说AX=7A3CH,为什么?

二十三.

请将左边的词汇和右边的说明联系起来,括号内填入所选的A,B,C,D等。

(1)CPU ( )A总线接口部件,实行执行部件所需要的所有总线操作。

(2)存储器( )B指示下一条要执行指令的偏移地址。

(3)EU ( )C保存各逻辑段的起始地址的寄存器。PC机有4个段寄存器CS,DS,SS,ES。

(4)BIU ( )D取指令,分析并控制指令执行的部件。

(5)堆栈 ( )E惟一代表存储器空间中的每个字节单元的地址。

(6)IP ( )F保存当前栈顶地址的寄存器。

(7)SP ( )G存储程序、数据信息的记忆装置,PC机有RAM和ROM两种。

(8)段寄存器 ( )H以后进先出方式工作的存储空间

(9)物理地址 ( )I告诉CPU要执行的操作,在程序运行时执行。

(10)指令 ( )J执行部件,由算术逻辑单元(ALU)和寄存器等组成。

二十四.

你有几种方法可以实现下列要求,给出相应的指令或指令序列。

(1)清累加器AX

(2)清进位标志。

(3)将累加器内容(AX)乘以2(不考虑溢出)

(4)将累加器内容(AX)除以2(不考虑余数)

8

二十五.

指出下列指令的错误

(1)MOV CS,BX

(2)MOV CH,SI

(3)PUSH AL

(4)MOV DX,[BX][BP]

(5)SHL AX,CX

(6)MOV CL,100H

二十六.

写出下列程序段执行后;AX= H?

MOV AX,0ABCDH

MOV CL,4

AND AL,0FH

AND AL,30H

SHL AH,CL

AND AH,0F3H

二十七.

根据以下要求写出相应的汇编语言程序段;

(1)把AX寄存器和DX寄存器内容相减,结果存入DX寄存器中。

(2)用寄存器BP和DI的基址变址寻址方式,把存储器数据段中的一个字节与AL寄存器的内容相减,结果保存在存储器单元中。

二十八.

下列变量各占多少字节?

NUMBYTE DB 1,10DUP(?),‘$’

NUMWORD DW 11H,25H

NUMDWORD DD 20H,10 DUP(?),20H

NUMDUP DB 2DUP(5DUP(1,2,‘xyz’))

STING DB‘I AM A STUDENT’,‘$’

二十九. 该程序中数据段定义如下:

DSEG SEGMENT

STRG DB‘I AM A TEACHER!’,‘$’

MSPA DB 2DUP(?)

NUM DB 1,2,3,4,5,6,7,8

DISP DW 2

DSEG ENDS

(1)执行下列指令段后

LEA BX,NUM

ADD BX,DISP

MOV AX,WORD PTR[BX]

AX= H BX= H

(2)执行下列指令段后

XOR BX,BX

MOV AX,[DISP]

MOV SI,OFFSET NUM

ADD BX,WORD PTR[SI]

AX= H ,BX= H

三十.

在程序的括号中分别填入下述指定的指令后,给出程序的执行结果。

程序如下:

9

CSEG SEGMENT

ASSUME CS:CSEG

START:MOV AX,2

MOV BX,3

MOV CX,4

MOV DX,5

NEXT:ADD AX,AX

MUL BX

SHR DX,1

( )

MOV AH,4CH

INT 21H

CSEG ENDS

END START

(1)若括号中填入LOOP NEXT指令 执行后

AX= H

BX= H

CX= H

DX= H

(2)若括号中填入LOOPZ NEXT指令,执行后

AX= H

BX= H

CX= H

DX= H

(3)若括号中填入LOOPNZ NEXT指令,执行后

AX= H

BX= H

CX= H

DX= H

三十一.

阅读程序,给出该程序的功能

DSEG SEGMENT

ARFA DB 500DUP(?)

BRTA DB 100DUP(?)

DSEG ENDS;

CSEG SEGMENT

ASSUME CS:CSEG ,DS:DSEG

START PROC FAR

MOV AX,DSEG

MOV DS,AX

MOV CX,100

MOV BX,CX

ADD BX,BX

ADD BX,BX

XOR SI,SI

10

AND DI,0000H

LP1: MOV AL,ARFA[BX][SI]

MOV BRTA[SI],AL

INC SI

LOOP LP1

QQQ:MOV AH,4CH

INT 21H

START ENDP

CSEG ENDS

END START

(1)该程序完成何功能

(2)程序执行到QQQ处,SI= H,DI= H,

BX= H,CX= H,

三十二.

阅读程序

DSEG SEGMENT

DATA1 DW 01H, 2BBH,3CCCH,4DDDH,5EEEH

DISP1 DW 3

DSEG ENDS;

CSEG SEGMENT

ASSME CS;CSEG,DS:DSEG

BEGIN:

MOV AX,DSEG

MOV DS,AX

MOV CX,DATA1

MOV BX,OFFSET DATA1

ADD BX, DISP1

NEXT:DECBX

MOV AX,[BX+4]

LOOP NEXT

PPP: MOV AX,4C00H

INT 21H

CSEG ENDS

END BEGIN

该程序执行到PPP外:AX= H BX= H

CX= H

11


本文标签: 方式 中断 地址 单元 程序