河南工大 微机原理考试答案(整理)

  • 格式:doc
  • 大小:22.50 KB
  • 文档页数:3

第二章
总线分类和各自传送信息类型:数据总线(DB)-输数据信息、地址总线(AB)-传输存储器地址和I/O地址、控制总线(CB)-传输控制信息和状态信息
包含两大构件及作用:1、执行单元EU 2、总线接口单元BIU。

执行单元主要功能是执行指令,分析指令,暂存中间运算结果并保留结果的特征.总线接口单元BIU负责CPU与存储器,I/O接口之间的信息传送.
3.
4.什么是总线周期,至少包含4时钟周期:CPU与内存或接口间都是通过总线进行通信,将一个字节写入内存单元或从内存单元读一个字到CPU,这种通过总线进行一次读写的过程称为一个总线周期。

5.对堆栈进行操作时数据存取遵循LIFO(后进先出)规则。

请求中断为可屏蔽中断,受中断允许标志寄存器IF的控制。

7.
外部数据总线只有8位.
复位后,CS:IP=FFFFH:0000H
10.11.一般存取数据时,默认的段寄存器是DS
12.
13.什么是物理地址,什么是逻辑地址,即它们的关
系:8086有20条地址线,可寻址的最大物理内存容量
为1MB(2^20),其中任何一个存储单元有一个二十位的
地址,称为内存单元的物理地址.段基地址和段内偏移
地址称为逻辑地址.物理地址=段基址*16+段内偏移即
段基地址左移4位,然后与偏移地址相加可得到20位
的物理地址.
第三章
指令操作数分为哪几种:立即操作数、寄存器操作
数、存储器操作数。

2.寻址方式:立即寻址、直接寻址、寄存器寻址、寄
存器间接寻址、寄存器向对寻址、基址-变址寻址、基
址-变址-相对寻址、隐含寻址。

1.半导体存储器的类型与特点:1.随机存取存储器
RAM 主要特点是可以随机进行读写操作,但掉电后信
息会丢失。

2.只读存储器ROM 只读存储器包括掩膜
ROM PROM EPROM EEPROM等几种类型主要特点是掉电
后不会丢失所存储的内容,可随机进行读操作,但不
能写入或只能有条件编程写入。

1.cpu与外设之间数据的传输方式:无条件传送方
式、查询工作方式、中断控制方式、直接存储器存取
(DMA)方式
2.采用查询中断方式时,是如何传递数据:
查询方式:首先查询外设的状态,判断数据是否准备
好;若没有,则继续查询;否则就进行一次数据读
取;数据读入后,cpu向外设发出响应信号,表示数
据已被接收,外设收到响应信号后,即开始下一个数
据准备工作;cpu判断是否已读取完全部数据,若没
有,则重新进行第一步,否则就结束传送。

中断方式:cpu不主动介入外设数据传输工作,而是
由外部设备在需要进行数据传送时向cpu发出中断请
求,cpu在接到请求后若条件允许,则暂停正在进行
的工作而转去对该外设服务,并在服务结束后回到原
来被中断的地方继续原来的工作。

3.中断向量表的构成,什么是中断向量中断向量是
中断服务程序的首地址。

中断向量表位于内存的最低
1K字节,共256个表项存放256个中断向量。

每个中
断向量占4个字节,其中低位字存放中断服务程序入
口地址偏移量,高位字存放中断服务程序入口地址的
段地址按中端类型码大小,对应的中断向量在中断向
量表中有规则地顺序存放。

4.cpu处理外部中断的步骤:1、中断请求2、中断源
识别(中断判优)3、中断响应4、中断处理5、中断
返回
5.cpu相应内部中断的过程:获得中断类型码后
(1)将类型码乘4,计算出中断向量的地址(2)硬
件现场保护。

(3)清楚IF和TF标志,屏蔽新的
INTR中断和单步中断(4)保存断点,即把断点处的
IP和CS值压入堆栈,先压入CS值,再压入IP值。

(5)根据第一步计算出来的地址从中断向量表中取出
中断服务程序的入口地址(段和偏移),分别送入CS
和IP中。

(6)转入中断服务程序执行
6.中断服务程序的一般流程:进入中断服务程序后,
首先要保护在中断服务程序中要使用的寄存器内容,
然后进行相应的中断处理,在中断返回前恢复保护的
寄存器内容,最后执行中断返回指令IRET。

IRET的执
行将使cpu按次序恢复断点处的IP CS和标志寄存
器,从而使程序返回到断点处继续执行。

(第二种答
案:1、保护软件现场2、开中断3、执行中断处理程
序4、关中断5、恢复现场6、执行中断返回指令
IRET。


3-12 把内存中首地址为MEM1的200个字节送到手地
址为MEM2的区域中。

MOV SI,OFFSET MEM1
MOV DI,OFFSET MEM2
MOV CX,200
NEXT: MOV AL,[SI]
MOV [DI],AL
INC SI
DEC CX
JNZ NEXT
HLT
3-43 在内存的数据段中存放了100个8位带符号数,其首地址为TABLE,是统计其中正元素负元素和零元素的个数,并分别将个数存入PLUS MINUS和ZERO三个单元中。

START: XOR AL,AL
MOV PLUS,AL
MOV MINUS,AL
MOV ZERO,AL
LEA SI,TABLE
MOV CL,100CLD
CHECK: LODSB
OR AL,AL
JS X1
JZ X2
INC PLUS
JMP NEST
X1: INC MINUS
JMP NEXT
X2: INC ZERO
NEXT: DEC CL
JNZ CHECK
HLT
4-16 编写程序,将数据区中以BUFFER为首地址的
100个字节单元清零。

DATA SEGMENT
BUFFER DB 100 DUP()
COUNT DW 100
DATA ENDS
;
STACK SEGMENT
DW 32 DUP()
STACK ENDS
;
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START: MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
MOV CX,COUNT
LEA BX,BUFFER
ADD CX,BX
AGAIN:MOV BYTE PTR[BX],0
INC BX
CMP BX,CX
JB AGAIN
MOV AH,4CH
INT 21H
CODE ENDS
END START
试编写程序,统计buffer为起始地址的连续200个单
元中0的个数
LEA SI,BUFFER ;取BUFFER的偏移地址
MOV ;数据长度送CX
XOR BX,BX ;存放统计数寄存器清0
AGAIN:MOV AL,[SI] ;取一个数
CMP AL,0 ;与0比较
JNE GOON ;不为0则准备取下一个数
INC BX ;为0则统计数加1
GOON: INC SI ;修改地址指针
LOOP AGAIN; 若为比较完则继续比较
HLT
试编写求两个无符号双子长数之和的程序. 两数分别在MEM1和MEM2单元中,和放在SUM单元.
DSEG SEGMENT
MEM1 DW 1122H,3344H
MEM2 DW 5566H,7788H
SUM DW 2 DUP()
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START: MOV AX,DSEG
MOV DS,AX
LEA BX,MEM1
LEA SI,MEM2
LEA DI,SUM
MOV CL,2
CLC
AGAIN: MOV AX,[BX]
ADC AX,[SI]MOV [DI],AX
ADD BX,2
ADD SI,2
ADD DI,2
LOOP AGAIN
HLT
CSEG ENDS
END START
编写程序段,将STRING1中的最后20个字符移到STRING2中(顺序不变)。

首先确定STRING1中字符串的长度,因为字符串的定义要求以…$‟符号结尾,可通过检测…$‟符确定出字符串的长度,设串长度为COUNT,则程序如下:LEA SI,STRING1
LEA DI,STRING2
ADD SI,COUNT-20
MOV CX,20
CLD
REP MOVSB。