EDA期中考题答案OK

更新时间:2023-10-04 05:00:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

考试科目:微机原理与接口技术

题号 得分 得分

一、填空题:(共30分,每空各1分)

1. 微机的系统总线包括_ _数据 、 ___地址_____和 __控制______。

2. 当8086在复位状态时,以下各寄存器的内容是:(用十六进制数表示)

flag __0000H____;IP ___0000____;CS___0FFFFH____;DS__0000H___;

SS____0000H___;ES___0000H___;

3. Pentume寻址方式有___数据寻址方式___、__转移地址寻址方式_____两种。

4. 在以8086微处理器构成的微机系统中,8086程序把 _ 64K____字节的存储空间看成一个存储段,各段的功能由具体用途而定,分别为__代码段____、 ___数据段_____、___附加段_____和___堆栈段______。

5. 从内存地址0000H:0048H开始的连续4个单元中存放的内容为00H、38H,30H、50H,

则该地址对应的中断类型码为_______12H_________,该中断对应的中断服务程序的入口地址为___5030H:3800H______。

6. 一个微机系统所具有的物理地址空间是由_____地址线_____决定的,8086系统的物

理地址空间为_____1M_________字节。

7. 中断向量是 中断服务程序入口地址 ,

中断向量表是 存放中断服务程序入口地址的表格 。

8. 8086的9个标志位分为_ _状态标志和控制标志____两大类,二者的主要区别是___

状态标志是执行指令自动设置的,_控制标志人为用指令设置的_____。

9. Pentium微处理器的寄存器组主要包括基本寄存器、 系统寄存器__、 _ 浮点寄存器___, 共____34____个寄存器,其中,基本寄存器有__16_个,按用途可分为____通用寄

存器___、 指令指针寄存器 、__标志寄存器____和__段寄存器____。

Page 1 of 8

一 二 三 四 五 六 总分 二、简答题(共30分,每题3分)

1. 8086微处理器芯片内部结构分为哪两部分?分别由哪些部件组成?

BIU: 4个段寄存器:CS、DS、ES、SS,指令指针寄存器:IP,

地址加法器, 指令队列。

EU:通用寄存器:AX、BX、CX、DX、SI、DI、SP、BP,算术逻辑运算单元ALU 标志寄存器:FLAG

2. 什么是指令周期?什么是总线周期?什么是时钟周期?说明三者的关系。

指令周期:执行一条指令需要的时间。不同指令的指令周期是不等长的。

总线周期:完成一次对存储器或I/O接口所需要的时间。

每当CPU从存储器或输入输出端口存取一个字节或字就需要一个总线周期。一个指令周期由一个或者若干个总线周期组成。

时钟周期:CPU的CLK周期。时钟周期是CPU的时间基准,由计算机的主频决定。

总线周期至少由四个时钟周期组成。

3. 8086有AD0~AD15地址/数据复用引线,地址、数据信息是如何分别使用这些引线的? 在一个总线周期里:T1:传送地址, T2--T3:传送数据,T4:总线周期结束 在每个总线周期开始(T1)时,用作地址总线的16位(AD15~AD0),给出内存单元(或I/O端口)的地址;

其他时间为数据总线,用于数据传输。

4.在32位的Pentium微处理器中段寄存器的功能?为什么仍是16位的?

在32位的Pentium微处理器中段寄存器是16位的,作为段选择子使用的。用14位选择2 =16K个段,每个段的属性放在一个描述符里,共有2 =16K个描述符,分为: 213 =8K个全局描述符GDT, 213 =8K个局部描述符LDT.

用来描述一个段的段基地址、段限(段的范围、长度)和段的属性。段寄存器是程序员可见的,而段描述子寄存器对程序员是透明的。当一个段寄存器的值确定后,相应的描述子寄存器的内容就自动修正成正确的信息

5. 32位的微处理器,在保护方式下支持多任务方式,如何实现一个任务可运行多达16KB个段,每个段最大可为4G字节,故一个任务最大可达64MM字节的虚拟地址。 用段寄存器14位选择214个段,每个段的长度32位,232 =4GB, 因此 214个段*232段的长度=64MM字节=64TB

分别由分段机制形成线性地址和分页机制形成页地址两级形成

6.什么叫描述符?他们分为哪几种?各描述符的主要功能是什么?

描述符:描述一个段的属性,一个描述符由64位组成,32位段的长度,20位段的段限(段的范围、长度),其余是段的属性

Page 1 of 8

14

14

7、在32位微处理器中的逻辑地址、线性地址、物理地址的意义和区别?

逻辑地址:段寄存器:32位有效地址 线性地址:分段机制形成32位有效地址 物理地址:32位实地址

线性地址不分页就是物理地址

8、简述子程序与宏指令的区别。

子程序是CALL指令调用的,适应于程序较长,传递参数较少的场合 宏指令在调用时自动宏展开,适应于程序较短,传递参数较多的场合

9、在32位的微处理器中有那些段描述符寄存器和描述符表?他们的区别是什么?

全局描述符寄存器GDTR48位和全局描述符表8KB

局部描述符寄存器LDTR16位和局部描述符表8KB 中断描述符寄存器IDTR48位和中断描述符64位

10、在微机上调试完成汇编软件,通常应经过哪四个步骤?

1)用EDIT命令建立汇编语言源程序(ASM文件)

2)用 MASM 命令产生目标文件(OBJ文件) 3)用LINK命令产生执行文件(EXE文件) 4)程序的执行。

三、简述题(共12分)

1. 指出下列指令属于哪种寻址方式。(3分)

MOV AL, [1B57H] ;直接

MOV AX, BX ;寄存器 MOV AL, [BX] ;寄存器间接 MOV AL, [BX+1B57H] ;寄存器相对 MOV AL, [BX+DI] ;基址变址 MOV AL, [BX+DI+1B57H] ;基址变址相对

2. 试写出下列程序运行后AX=(72D0H ),CF标志=( 1 ),(3分)

MOV AX, 0B9DH ;*立即寻址,AX=0B9DH MOV SI, 2000H ;SI=2000H

MOV [SI], AX MOV CL, 4

;[2000H]=9DH,[2001H]=0BH ;0000101110011101

ROL WORD PTR[SI], CL ;1011,1001,1101,0000=B9D0H,CF=0 SHL BYTE PTR[SI+1], 1 ;*变址寻址01110010=72=[SI+1],CF=1 MOV AX, [SI] ;*变址寻址

Page 1 of 8

3.已知:初值(AX)=0119H。执行下列程序段后,(AX)=(3520H),(CF)=(0)。(3分)

MOV CH,AH ADD AL,AH DAA XCHG AL,AH ADC AL,34H XCHG AH,AL

;AH=01H,AL=19H,CH=01H ; AL=1AH

;AL=20H,AF=1 ;AL=01H,AH=20H ;AL=35H

;AH=35H,AL=20H

DAA ;AL=35H,

HLT

4. 已知一段程序如下,画出该程序段的内存分配示意图,说明该数据段的存储器分配

情况。(3分)

DATA SEGMENT AT 100H ;数据段的段基值为100H A1 DW 10,20

A2 EQU 100 A3 DB ‘1234’

ORG 2 ;指定语句所在内存单元在段内的偏移地址。 A4 DW 1234H

DATA ENDS

该程序段的内存分配示意图、该数据段的存储器分配情况如下:

0A 00 14 00 64 31 32 33 34

四、图表题(10分,每题5分)

1. 8086在组成系统时,有最大和最小两种方式。下图给出了系统最小方式的部分逻辑框图,请把有关信号线连好,用箭头表明信息流动方向,并标明8282和8286

输出的信号名称和流动方向。

不定义 0A 00 34 12 64 31 32 33 34 Page 1 of 8

MN/MX ALE BHE A19~A16 STB 8282*3 OE AD15~AD0 DT/R T OE

8286*2 DEN

2. 8086访问存储器时利用BHE信号及A0信号决定访问数据起始地址及格式,请填下表空白部分。

M/IO RD WR BHE 1 1 1 1 0 0 0 0 1 1 1 1 0 1 0 0 1 A0 0 0 1 1 0 操作 偶地址开始读一个字 偶地址开始读一个字节 从奇地址开始读一个字节 奇地址开始读一个字 第一个总线周期:低八位送AD15~AD8 第二个总线周期:高八位数字送到AD7~AD0 五、已知两个带符号的16位数分别放于OPER1和OPER2单元,将这两个数相加后,对

和取绝对值存放于RESULT单元中。试编写完成该功能的程序。按汇编源程序格式书写。(9分)

data segment

oper1

oper2 result data ends

Page 1 of 8

dw data1 dw data2 dw ?

使用的数据线 AD15~AD0 AD7~AD0 AD15~AD8 AD15~AD8 AD7~AD0 code segment

assume cs:code,ds:data

start: mov

ax,data

mov ds,ax mov ax,oper1 add jns neg

store: code ends

end start

六、已知在ARRAY数组中有80个无符号字节数据,编写一个完整的8086汇编语言程序,将ARRAY数组中的最大值放入MAX单元中。(9分)

data segment

array db a1,a2,a3,…..a80 max db ?

data ends code segment

assume cs:code,ds:data

start: mov ax,data mov ds,ax

mov si,offset array mov cx,79

mov al,[si]

ax,oper2 store ax

mov result, ax

blok1: cmp al,[si+1]

ja blok2 ;(al)放大数,是,转blok2,(al)和下一个数比较;

;否,交换大数放(al),(al)和下一个数比较。

xchg al,[si+1]

blok2: inc

si

loop blok1 mov max,al

quit: mov ax,4c00h

int 21h

code ends

end start

Page 1 of 8

本文来源:https://www.bwwdw.com/article/nobd.html

Top