微机原理与接口技术中的cld指令是什么意思

2040人阅读
汇编(10)
微机原理及应用习题库与答案
习题与练习题
1.&计算机分那几类?各有什么特点?
答:传统上分为三类:大型主机、小型机、微型机。大型主机一般为高性能的并行处理系统,&存储容量大,事物处理能力强,可为众多用户提供服务。小型机具有一定的数据处理能力,提供一定用户规模的信息服务,作为部门的信息服务中心。微型机一般指在办公室或家庭的桌面或可移动的计算系统,体积小、价格低、具有工业化标准体系结构,兼容性好。
2.&简述微处理器、微计算机及微计算机系统三个术语的内涵。
答:微处理器是微计算机系统的核心硬件部件,对系统的性能起决定性的影响。微计算机包括微处理器、存储器、O接口电路及系统总线。微计算机系统是在微计算机的基础上配上相应的外部设备和各种软件,形成一个完整的、独立的信息处理系统。
3.&80X86微处理器有几代?各代的名称是什么?
答:从体系结构上可分为代:&?&:位机。&-&286:位机。
(R)&:位机。
第章&微处理器结构及微计算机的组成
1.&8086是多少位的微处理器?为什么?
答:是位的微处理器,其内部数据通路为位,对外的数据总线也是位。
2.&EU与BIU各自的功能是什么?如何协同工作?
答:是执行部件,主要的功能是执行指令。是总线接口部件,与片外存储器及O接口电路传输数据。经过进行片外操作数的访问,为提供将要执行的指令。与可分别独立工作,当不需提供服务时,可进行填充指令队列的操作。
3.&与其前一代微处理器相比,内部操作有什么改进?
答:为位机,在执行指令过程中取指令与执行执令都是串行的。由于内部有和两个功能部件,可重叠操作,提高了处理器的性能。
4.&微处理器内部有那些寄存器,它们的主要作用是什么?
答:执行部件有个位寄存器,、、、、、、、。、、、一般作为通用数据寄存器。为堆栈指针存器,、、在间接寻址时作为地址寄存器或变址寄存器。总线接口部件设有段寄存器、、、和指令指针寄存器。段寄存器存放段地址,与偏移地址共同形成存储器的物理地址。的内容为下一条将要执行指令的偏移地址,与共同形成下一条指令的物理地址。
5.&8086对存储器的管理为什么采用分段的办法?
答:是一个位的结构,采用分段管理办法可形成超过位的存储器物理地址,扩大对存储器的寻址范围&,位地址。若不用分段方法,位地址只能寻址空间。
6.在8086中,逻辑地址、偏移地址、物理地址分别指的是什么?具体说明。
答:逻辑地址是在程序中对存储器地址的一种表示方法,由段地址和段内偏移地址两部分组成,如:。偏移地址是指段内某个存储单元相对该段首地址的差值,是一个位的二进制代码。物理地址是芯片引线送出的位地址码,用来指出一个特定的存储单元。
7.给定一个存放数据的内存单元的偏移地址是,(),求出该内存单元的物理地址。
答:物理地址:。
8.为什么采用地址/数据引线复用技术?
答:考虑到芯片成本,采用条引线的封装结构。条引线引出的所有信号是不够用的,采用地址数据线复用引线方法可以解决这一矛盾,从逻辑角度,地址与数据信号不会同时出现,二者可以分时复用同一组引线。
9.&8086与的主要区别是什么?
答:有条数据信号引线,只有条;片内指令预取缓冲器深度为字节,只有字节。
10.&怎样确定8086的最大或最小工作模式?最大、最小模式产生控制信号的方法有何不同
答:引线MX#的逻辑状态决定的工作模式,MX#引线接高电平,被设定为最小模式,MX#引线接低电平,被设定为最大模式。
最小模式下的控制信号由相关引线直接提供;最大模式下控制信号由专用芯片译码后提供,的输入为的三条状态信号引线提供。
11.&8086被复位以后,有关寄存器的状态是什么?微处理器从何处开始执行程序?
答:标志寄存器、、、、和指令队列置,置全。处理器从存储单元取指令并开始执行。
12.&8086基本总线周期是如何组成的?各状态中完成什么基本操作?
答:基本总线周期由个时钟周期组成,按时间顺序定义为、、、。在期间发出访问目的地的地址信号和地址锁存选通信号;期间发出读写命令信号、及其它相关信号;期间完成数据的访问;结束该总线周期。
13.&结合8086最小模式下总线操作时序图,说明ALE、M/IO#、DT/R#、RD#、READY信号的功能。
答:为外部地址锁存器的选通脉冲,在期间输出;M/IO#确定总线操作的对象是存储器还是O接口电路,在输出;DT/R#为数据总线缓冲器的方向控制信号,在输出;为读命令信号;在输出;READY信号为存储器或O接口“准备好”信号,在期间给出,否则要在与间插入等待状态。
14.&8086中断分哪两类?8086可处理多少种中断?
答:中断可分为硬件中断和软件中断两类。可处理种类型的中断。
15.&8086可屏蔽中断请求输入线是什么?“可屏蔽”的涵义是什么?
答:可屏蔽中断请求输入线为;“可屏蔽”是指该中断请求可经软件清除标志寄存器中位而被禁止。
16.&8086的中断向量表如何组成?作用是什么?
答:把内存段中区域作为中断向量表的专用存储区。该区域存放种中断的处理程序的入口地址,每个入口地址占用个存储单元,分别存放入口的段地址与偏移地址。
17.8086如何响应一个可屏蔽中断请求?简述响应过程。
答:当收到的高电平信号时,在当前指令执行完且的条件下,在两个总线周期中分别发出有效信号;在第二个期间,收到中断源发来的一字节中断类型码;完成保护现场的操作,、内容进入堆栈,请除、;将类型码乘后得到中断向量表的入口地址,从此地址开始读取字节的中断处理程序的入口地址,从此地址开始执行程序,完成了中断请求的响应过程。
18.&什么是总线请求?在最小工作模式下,有关总线请求的信号引脚是什么?
答:系统中若存在多个可控制总线的主模块时,其中之一若要使用总线进行数据传输时,需向系统请求总线的控制权,这就是一个总线请求的过程。在最小工作模式下有关总线请求的信号引脚是与。
19.&简述在最小工作模式下,8086如何响应一个总线请求?
答:外部总线主控模块经引线向发出总线请求信号;在每个时钟周期的上升沿采样引线;若发现则在当前总线周期结束时结束发出总线请求的响应信号;使地址、数据及控制总线进入高阻状态,让出总线控制权,完成响应过程。
20.在基于8086的微计算机系统中,存储器是如何组织的?是如何与处理器总线连接的?
BHE#信号起什么作用?
答:为位处理器,可访问字节的存储器空间;字节的存储器分为两个字节的存储体,命名为偶字节体和奇字节体;偶体的数据线连接,“体选”信号接地址线;奇体的数据线连接,“体选”信号接信号;信号有效时允许访问奇体中的高字节存储单元,实现的低字节访问、高字节访问及字访问。
21.“80386是一个32位微处理器”,这句话的涵义主要指的是什么?
答:指的数据总线为位,片内寄存器和主要功能部件均为位,片内数据通路为位。
22.80X86系列微处理器采取与先前的微处理器兼容的技术路线,有什么好处?有什么不足?
答:好处是先前开发的软件可以在新处理器组成的系统中运行,保护了软件投资。缺点是处理器的结构发展受到兼容的约束,为了保持兼容性增加了硅资源的开销,增加了结构的复杂性。
23.80386内部结构由哪几部分组成?简述各部分的作用。
答:内部结构由执行部件、存储器管理部件和总线接口部件三部分组成。包括指令预取部件、指令译码部件、控制部件、运算部件及保护检测部件,主要功能是执行指令。存储器管理部件包括分段部件、分页部件,实现对存储器的分段分页式的管理,将逻辑地址转换成物理地址。总线接口部件作用是进行片外访问:对存储器及O接口的访问、预取指令;另外的作用是进行总线及中断请求的控制
24.80386有几种存储器管理模式?都是什么?
答:有三种存储器管理模式,分别是实地址方式、保护方式和虚拟方式
25.在不同的存储器管理模式下,80386的段寄存器的作用是什么?
答:在实地址方式下,段寄存器与相同,存放段基地址。在保护方式下,每个段寄存器还有一个对应的位段描述符寄存器,段寄存器作为选择器存放选择符。在虚拟方式下,段寄存器的作用与相同。
26.试说明虚拟存储器的涵义,它与物理存储器有什么区别?80386虚拟地址空间有多大?
答:虚拟存储器是程序员面对的一个巨大的、可寻址的存储空间,这个空间是内存与外存联合形成的,在操作系统的管理下,程序可象访问内存一样去访问外存而获得所需数据。物理存储器是指机器实际拥有的内存储器,不包括外存。的虚拟地址空间为大。
27.试说明描述符的分类及各描述符的作用。
答:描述符分为三类:存储器段描述符、系统段描述符、门描述符。存储器段描述符由字节组成,它用来说明一个段中保存信息的情况。位段基地址和位段界限值定位了该段在存储空间中的位置,其它有关位决定访问权限及段的长度单位。系统段描述符与存储器段描述符大多数字节段相同,有关访问权及属性字节段有些不同。门描述符用来改变程序的特权级别、切换任务的执行以及指出中断服务程序的入口。
28.描述符表的作用是什么?有几类描述符表?
答:描述符表顺序存放一系列描述符,描述符表定义了在系统中被使用的全部存储器段。有类描述符表,即全局描述符表、局部描述符表及中断描述符表。
29.&80386的分段部件是如何将逻辑地址变为线性地址的?
答:分段部件根据段选择符从全局描述符表或局部描述符表中取出对应的段描述符。把段描述符位段基地址与逻辑地址中的位偏移量相加就形成了线性地址。
30.&80386中如何把线性地址变为物理地址?
答:分段部件形成的位线性地址中高位作为寻址页目录表的偏移量,与控制寄存器中页目录表基地址共同形成一个位的地址指向页表中的一个页项,即为一个页面描述符。该页面项中高位作为页面基地址,线性地址的低位为偏移量,相加后形成指向某一存储单元的位物理地址。若禁止分页功能,线性地址就是物理地址。
31.&80386对中断如何分类?
答:把中断分为外部中断和内部中断两大类,外部中断经和引线输入请求信号。内部中断也叫内部异常中断,分为陷阱中断、内部故障异常中断、异常终止中断。
32.&80386在保护方式下中断描述符表与8086的中断向量表有什么不同?
答:工作在实地址方式,向量表是在存储器的段中最低字节内存中。在保护方式下要通过中断描述符表中的描述符访问虚拟空间的中断向量,中断描述符表的位置不是固定的,要由寄存器实现在虚拟空间的定位。
33.&简述80386在保护方式下的中断处理过程。
答:响应中断后,接收由中断源提供的类型码并将其乘,与寄存器中基地址相加,指出中断描述符的位置,读出中断描述符,依其中的段选择符及条件决定从两个描述符表或中的一个得到段描述符,形成中断服务程序入口所在存储器单元的线性地址。
习题与练习题
第章&指令系统及寻址方式
1.&&根据下列要求编写一个汇编语言程序:
(1)&代码段的段名为
(2)&数据段的段名为
(3)&堆栈段的段名为
(4)&变量所包含的数据为
(5)&将变量装入寄存器,和
(6)&程序运行的入口地址为
DAT_SG& SEGEMNT
HIGH_DAT DB &95
DAT_SG& ENDS
STK_SG& SEGMENT
&DW 64&DUP(?)
STK_SG& ENDS
COD_SG& SEGMENT
MAIN PROC FAR
ASSUME CS:&COD_SG,&DS:&DAT_SG,&SS:&STK_SG
START: MOV AX,&DAT-SG
MOV DS,&AX
MOV AH,&HIGH_DAT
MOV BH,&AH
MOV DL,&AH
MOV AH,&4CH
MAIN &ENDP
COD_SG&ENDS
&END& START
2.&&指出下列程序中的错误:
STAKSG SEGMENT
DB 100&DUP(?)
STA_SG ENDS
DTSEG SEGMENT
DATA1 DB ?
CDSEG SEGMENT
MAIN PROC FAR
START: MOV DS,DATSEG
MOV AL,34H
ADD AL,4FH
MOV DATA,AL
START ENDP
CDSEG ENDS
STAKSG SEGMENT
DB 100&DUP(?)
STAKSG ENDS
DTSEG SEGMENT
DATA1 DB ?
DTSEG ENDS
CDSEG& SEGMENT
MAIN PROC FAR
ASSUME&CS:&CDSEG,&DS:&DTSEG,&SS:&STAKSG
START: MOV AX,&DTSEG
MOV DS,&AX
MOV AL,&34H
ADD AL,&4FH
MOV DATA1,&AL
MOV AH,&4CH
CDSEG ENDS
3.&&将下列文件类型填入空格:
(1)&.obj&&(2)&.exe&&(3)&.crf&&(4)&.asm&&(5)&.lst&&(6)&.map
& 编辑程序输出的文件有;
&&& 汇编程序输出的文件有;
& 连接程序输出的文件有。
编辑程序输出文件:&(4)
汇编程序输出文件
连接程序输出文件
4.&&下列标号为什么是非法的
(1)&GET.DATA &&(2)&1_NUM &&(3)&TEST-DATA (4)&RET (5)&NEW&ITEM
非法标号&&(1)因为‘’只允许是标号的第一个字符
(2)第一个字符不能为数字&
(3)不允许出现‘’
(4)不能是保留字如助记符&&
(5)不能有空格
5.&&下面的数据项定义了多少个字节?
DATA_1 DB 6&DUP(4&DUP(0FFH))
&&&&&&&24字节
6.&&对于下面两个数据段,偏移地址为和的两个字节中的数据是一样的吗?为什么?
DTSEG SEGMENT &&| DTSEG SEGMENT
ORG 10H &&| ORG 10H
DATA1 DB 72H &&&&&&| DATA1 DW 7204H
DB 04H &&&&&&| DTSEG ENDS
DTSEG ENDS &&&&&&|
不一样分别是和存储字时低位存在低字节高位存在高字节
7.&&下面的数据项设置了多少个字节
(1)&ASC_DATA DB ‘1234’ (2)&HEX_DATA &DB 1234H
&&&&&&&&(1)&设置了个字节&&&&设置了个字节
8.&&&执行下列指令后寄存器中的内容是什么
TABLE DW 10,20,30,40,50
ENTRY DW 3
&&&&&&&&&&.
&&&&&&&&&&.
&&&&&&&&&&.
MOV BX,OFFSET&TABLE
ADD BX,ENTRY
MOV AX,[BX]
&&&&&&&&&(AX)=40
9.&指出下列指令的错误
(1)&MOV AH,BX (2)&MOV [SI],[BX] (3)&MOV AX,[SI][DI]
(4)&MOV AX,[BX][BP] (5)&MOV [BX],ES:AX (6)&MOV BYTE&PTR[BX],1000
(7)&MOV AX,OFFSET&[SI] (8)&MOV CS,AX (9)&MOV DS,BP
&&&&&(1)&源、目的字长不一致
&&&&(2)&源、目的不能同时为存贮器寻址方式
&&&&(3)&基址变址方式不能有&和的组合
&&&&(4)&基址变址方式不能有&和的组合
&&&&(5)&在寻址方式中,不能作为基址寄存器使用而且源、目的不能同时为存贮器寻址方式
&&&&(6)&1000超出一个字节的表数范围
&&&&(7)&OFFSET只用于简单变量,应去掉
&&&&(8)&CS不能作为目的寄存器
&&&&(9)&段地址不能直接送入数据段寄存器
10. &&&&DATA SEGMENT
TABLE_ADDR DW 1234H
&&&&&&&&&&.
&&&&&&&&&&.
MOV BX,&TABLE_ADDR
LEA BX,&TABLE_ADDR
&请写出上述两条指令执行后寄存器中的内容。
MOV BX,TABLE_ADDR ;&执行后
LEA BX,TABLE_ADDR ;&执行后
11.&设有关存储器地址及其内容如右图
所示请用两条指令把装入寄存器。
&1B00:2000H
&1B00:2002H
&2B00:8000H
LES&&&BX,&[2000H]
MOV&&AX,&ES:&[BX]
12.&变量和定义如下
&&&&DATAX DW &&0148H
&&&&&&&&&&&&DW &&2316H
&&&&&DATAY DW &&0237H
&&&&&&&&&&&&DW &&4052H
按下述要求写出指令序列
(1)&DATAX和中的两个字数据相加和存放在和中。
(2)&DATAX和中的两个双字数据相加和存放在开始的字单元中。
(3)&DATAX和两个字数据相乘(用)。
(4)&DATAX和两个双字数据相乘(用)。
(5)&DATAX除以(用)。
(6)&DATAX双字除以字(用)。
(1) MOV AX,&DATAX
ADD AX,&DATAY
MOV BX,&DATAX+2
ADD BX,&DATAY+2
MOV DATAY,&AX
MOV DATAY+2,&BX
(2) MOV AX,&DATAX
ADD DATAY,&AX
MOV AX,&DATAX+2
ADC DATAY+2,&AX
(3) MOV AX,&DATAX
MOV DATAY,AX
MOV DATAY+2,DX
MOV AX,WORD&PTR&DATAX
MOV BX,WORD&PTR&DATAY
MOV RESULT,AX
MOV RESULT+2,DX
MOV AX,WORD&PTR&DATAX
MOV AX,WORD&PTR&DATAY+2
ADD RESULT+2,AX
ADC RESULT+4,DX
MOV AX,WORD&PTR&DATAX+2
MOV BX,WORD&PTR&DATAY
ADD RESULT+2,AX
ADC RESULT+4,DX
MOV AX,WORD&PTR&DATAX+2
MOV BX,WORD&PTR&DATAY+2
ADD RESULT+4,AX
ADC RESULT+6,DX
&(5) MOV AX,&DATAX
MOV BL,&23
MOV DATAY,&AX ;存放商
MOV DATAY+2,&AX ;存放余数
(6) MOV AX,&DATAX
MOV DX,&DATAX+2
DIV DATAY&
MOV DATAY,&AX
MOV DATAY+2,&DX
13.&试分析下面的程序段完成什么操作?
&&&&将中的双字左移位(乘)
14.&&用其他指令完成和下列指令一样的功能
(1)&REP&MOVSB (2)&REP&LODSB (3)&REP&STOSB (4)&REP&SCASB
(1)&LOOP1:
MOV AL,BYTE&PTR&[SI]
MOV ES:BYTE&PTR&[DI],&AL
INC SI 或 DEC SI
INC DI 或 DEC DI
LOOP LOOP1
(2)&LOOP1:
MOV AL,&BYTE&PTR&[SI]
INC SI 或 DEC SI
LOOP LOOP1
(3)&LOOP1:
MOV ES:BYTE&PTR&[DI],&AL
INC DI 或 DEC DI
LOOP LOOP1
(4)&LOOP1:
CMP AL,ES:BYTE&PTR&[DI]
INC DI 或 DEC DI
LOOP LOOP1
15.&编写程序段比较两个字节的字符串和如果字符串与不同则执行否则顺序执行程序。
LEA SI,&OLDS
LEA DI,&NEWS
REPZ CMPSB
JNZ NEW_LESS
16.&&假定和中的内容为带符号数和中的内容为无符号数请用比较指令和条件转移指令实现以下判断
(1)&若的值超过的值则转去执行
(2)&若的值大于的值则转去执行
(3)&CX中的值为吗若是则转去执行
(4)&BX的值与的值相减会产生溢出吗若溢出则转
(5)&若的值小于的值则转去执行
(6)&若的值低于的值则转去执行
(1)&CMP DX,&CX
&&&JA EXCEED
(2)&CMP BX,&AX
&&&JG EXCEED
(3)&CMP CX,&0
&&&JE ZERO
(4)&SUB BX,&AX
&&&JO OVERFLOW
(5)&CMP BX,&AX
&&&JL EQ_SMA
(6)&CMP DX,&CX
&&&JB EQ_SMA
17.&&假如在程序的括号中分别填入指令
(1)&LOOP&&L20 (2)&LOOPNE&&L20 (3)&LOOPE&&L20
试说明在三种情况下当程序执行完后、、、四个寄存器的内容分别是什么
CODESG SEGMENT
ASSUME CS:CODESG,&DS:CODESG.&SS:CODESG
BEGIN: MOV AX,01
L20: INC AX
(&&&&&&&&&&&&&)
CODESG ENDS
&()(AX)=&5&&&&(BX)(CX)(DX)=&0
&&&&&()(AX)=&2&&&&(BX)(CX)(DX)=&1
&&&&&()(AX)=&3&&&&(BX)(CX)(DX)=&0
18.&&变量和均为字节的非压缩数码,请写出计算与之差的指令序列。
MOV AL,&N1+1
SUB AL,&N2+1
MOV DL,&AL
MOV AL,&N1
SBB AL,&N2
MOV DH,&AL
19.&&有两个位的数串和定义如下
ASC1 DB ‘578’
ASC2 DB ‘694’
ASC3 DB ‘0000’
请编写程序计算←。
MOV AL,&ASC1[BX]
ADC AL,&ASC2[BX]
OR ASC3[BX+1],&AL
OR ASC3[BX],&CL
20.&&假设请写出下列各条指令单独执行完后有关寄存器及存储单元的内容若影响条件码请给出条件码、、、的值。
(1)&SBB AX,BX (2)&CMP AX,WORD&PTR[SI+0FA0H]
(3)&MUL BYTE&PTR[BX] (4)&AAM
(5)&DIV BH (6)&SAR AX,CL
(7)&XOR AX,0FFE7H (8)&REP STOSB
(9)&JMP WORD&PYR[BX] (10)&XCHG AX,ES:[BX+SI]
(1)&(AX)=0F05FH,&(SF)=1,&(ZF)=0,&(OF)=0,&(CF)=1
(2)&(SF)=1,&(ZF)=0,&(OF)=1,&(CF)=1
(3)&(AX)=0240H,&(OF)=1,&(CF)=1
(4)&(AX)=0906H,&(SF)=0,&(ZF)=0
(5)&(AX)=20ACH
(6)&(AX)=0103H,&(CF)=0
(7)&(AX)=0DF87H,&(CF)=0,&(OF)=0,&(SF)=1,&(ZF)=0
(8)&(23000H)~(23004H)=60H,&不影响标志位
(9)&(IP)=0A006H,&不影响标志位
(10)&(AX)=00B0H,&(2H,&不影响标志位
习题与练习题
第章&汇编语言程序设计基础
1.&&试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。
ABC: MOV AH,1
CMP AL,’A’
CMP AL,’Z’
SUB AL,20H
STOP:&&&RET
2.&&编写程序,比较两个字符串和所含字符是否完全相同,若相同则显示“”,若不同则显示“”。
datarea segment
string1 db ‘asfioa’
string2 db ‘xcviyoaf’
mess1 db ‘MATCH’,’$’
mess2 db ‘NO&MATCH’,’$’
datarea& ends
prognam& segment
main& proc &far
assume&cs:prognam,ds:datarea
mov ax,datarea
mov cx,&string2-string1
mov bx,&mess1-string2
jnz dispno
lea dx,addr
lea si,string1
lea di,string2
repe cmpsb
jne dispno
lea dx,mess1
lea dx,&mess2
prognam ends
3.&&试编写程序,要求从键盘输入个进制数,并根据对个数的比较显示如下信息:
&&&()如果个数都不相等则显示;
&&&()如果个数中有个数相等则显示;
&&&()如果个数都相等则显示。
data& segment
array dw 3&dup(?)
code& segment
main& proc&far
assume&cs:code,ds:data
mov ax,data
lea si,array
mov dl,&‘&‘
and al,0fh
mov [si],dx
loop begin
lea si,array
mov ax,[si]
mov bx,[si+2]
cmp [si+4],ax
cmp [si+4],bx
add dl,30h
main& endp
4.&已知整数变量和,试编写完成下述操作的程序:
&&&()若两个数中有一个是奇数,则将该奇数存入中,偶数存入中;
&&&()若两个数均为奇数,则两数分别加,并存回原变量;
&&&()若两个数均为偶数,则两变量不变。
dseg segment
cseg segment
main proc &&far
assume cs:cseg,ds:dseg
start: push ds
mov ax,dseg
begin: mov ax,a
test ax,0001
test bx,0001
class: test bx,0001
5.&&把10之间的个数,存入首地址为的字数组中,i表示学号为i+1的学生成绩。另一个数组是个学生的名次表,其中I的内容是学号为i+1的学生的名次。试编写程序,根据中的学生成绩,将排列的名次填入数组中(提示:一个学生的名次等于成绩高于这个学生的人数加)。
dseg segment
grade dw 30&dup(?)
rank dw 30&dup(?)
cseg segment
main proc far
assume cs:cseg,&ds:dseg,&es:dseg
start: push ds
mov ax,dseg
begin: mov di,0
loop1: push cx
mov ax,grade[di]
loop2: cmp grade[si],ax
go_on: add si,2
loop loop2
mov rank[di],dx
loop loop1
6.&&分析下列程序的功能,写出堆栈最满时各单元的地址及内容。
SSEG SEGMENT& ‘STACK’ AT 1000H ;&堆栈的段地址为
DW 128&DUP(?)
&TOS LABEL WORD
;&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-
DSEG SEGMENT
DW 32&DUP(?)
;&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-
CSEG SEGMENT
MAIN PROC FAR
ASSUME CS:CSEG,&DS:DSEG,SS:SSEG
START: MOV AX,SSEG
MOV AX,DSEG
MOV AX,4321H
RETN: MOV AH,4CH
;&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-
HTOA PROC NEAR
MOV BX,[BP+2]
AND BX,0FH
MOV [BP+2],BX
B1: POP AX
B2: ADD AL,30H
PRT: MOV DL,AL
;& ;&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-&-
7.&&写出分配给下列中断类型号在中断向量表中的物理地址。
&&&(1)&&INT&&12H (2)&&INT&&8
(1)&00048h&&&&&
(2)&00020h
8.&&试编写程序,它轮流测试两个设备的状态寄存器,只要一个状态寄存器的第位为,则与其相应的设备就输入一个字符;如果其中任一状态寄存器的第位为,则整个输入过程结束。两个状态寄存器的端口地址分别是和,与其相应的数据输入寄存器的端口则为和,输入字符分别存入首地址为BUFF1和BUFF2的存储区中。
mov &&si,&0
mov &&di,&0
test12: in &&al,&0024h
test &&al,&08
jnz &&exit
in &&al,0036h&
test &&al,&08
jnz &&exit
dev1: in &&al,&0024h&
test &&al,&01
in &&al,&0026h
mov &&buffer[si],&al
dev2: in &&al,&0036h&
test &&al,&01
jz &&test12
in &&al,&0038h&
mov &&buff2[di],al
jmp &&test12
9.&&给定(SP)=0100,(SS)=0300,(FLAGS),存储单元的内容为(),(),在段地址为及偏移地址为A0的单元中有一条中断指令INT&8,试问执行INT&8指令后,SP,SS,IP,FLAGS的内容是什么?栈顶的三个字是什么?
(SP)&=&00FA
(SS)&=&0300
(IP)&=&0040
(FLAGS)&=&0040
10.& 编写一个程序,接收从键盘输入的10个十进制数字,输入回车符则停止输入,然后将这些数字加密后(用XLAT指令变换)存入内存缓冲区BUFFER。加密表为;
&&&输入数字:&&&&0,,,,,,,,,
&&&密码数字:&&&&7,,,,,,,,,
scode db 7,5,9,1,3,6,8,0,2,4
buffer db 10&dup(?)
lea bx,scode
input: mov ah,01
cmp al,0ah
and al,0fh
mov buffer[si],al
loop input
习题与练习题
第章&微计算机中处理器与设备间数据传输控制方法
1.&试说明一般中断系统的组成和功能。
答:处理器内部应有中断请求信号的检测电路,输出中断响应信号,保存断点的逻辑,转向中断处理程序的逻辑,中断返回逻辑。系统中要有一中断控制器,管理多个中断源,提供处理机所需的中断处理信息。系统中请求中断处理的O接口电路要有提供中断请求信号及接收中断响应信号的逻辑。
2.&什么是中断类型码、中断向量、中断向量表?在基于的微机系统中,中断类型码和中断向量之间有什么关系?
答:处理机可处理的每种中断的编号为中断类型码。中断向量是指中断处理程序的入口地址,由处理机自动寻址。中断向量表是存放所有类型中断处理程序入口地址的一个默认的内存区域。在系统中,中断类型码乘得到向量表的入口,从此处读出字节内容即为中断向量。
3.&什么是硬件中断和软件中断?在机中两者的处理过程有什么不同?
答:硬件中断是通过中断请求线输入电信号来请求处理机进行中断服务;软件中断是处理机内部识别并进行处理的中断过程。硬件中断一般是由中断控制器提供中断类型码,处理机自动转向中断处理程序;软件中断完全由处理机内部形成中断处理程序的入口地址并转向中断处理程序,不需外部提供信息。
4.&试叙述基于的微机系统处理硬件中断的过程。
答:以请求为例。当收到的高电平信号时,在当前指令执行完且的条件下,在两个总线周期中分别发出有效信号;在第二个期间,收到中断源发来的一字节中断类型码;完成保护现场的操作,、内容进入堆栈,清除、;将类型码乘后得到中断向量入口地址,从此地址开始读取字节的中断处理程序的入口地址,从此地址开始执行程序,完成了中断请求的响应过程。
5.&在机中如何使用“用户中断”入口请求中断和进行编程?
答:机中分配给用户使用的中断是,经扩展插槽引出,故把用户的中断请求线连接到上。在应用程序中,利用号系统调用将中断服务程序的入口地址写入对应类型中断对应的中断向量表中去。在应用程序中把主片屏蔽位清,把从片屏蔽位清,使主片的、从片的可以输入中断请求。中断服务程序结束前向主片发中断结束命令。应用程序结束之前对主片的和从片的进行屏蔽,关闭用户中断请求。
6.&8259A中断控制器的功能是什么?
答:中断控制器可以接受个中断请求输入并将它们寄存。对个请求输入进行优先级判断,裁决出最高优先级进行处理,它可以支持多种优先级处理方式。可以对中断请求输入进行屏蔽,阻止对其进行处理。支持多种中断结束方式。与微处理器连接方便,可提供中断请求信号及发送中断类型码。可以进行级连以便形成多于级输入的中断控制系统。
7.&8259A初始化编程过程完成那些功能?这些功能由那些设定?
答:初始化编程用来确定的工作方式。确定工作的环境:处理器类型、中断控制器是单片还是多片、请求信号的电特性。用来指定个中断请求的类型码。在多片系统中确定主片与从片的连接关系。用来确定中断处理的控制方法:中断结束方式、嵌套方式、数据线缓冲等。
8.&8259A在初始化编程时设置为非中断自动结束方式,中断服务程序编写时应注意什么?
答:在中断服务程序中,在返回主程序之前按排一条一般中断结束命令指令,将中最高优先级位置,结束该级中断处理以便为较低级别中断请求服务。
9.&8259A的初始化命令字和操作命令字有什么区别?它们分别对应于编程结构中那些内部寄存器?
答:的工作方式通过微处理器向其写入初始化命令字来确定。初始化命令字分别装入内部寄存器。在工作过程中,微处理器通过向其写入操作命令字来控制它的工作过程。操作命令字分别装入内部寄存器中。占用两个端口号,不同的命令字对应不同的端口,再加上命令字本身的特征位及加载的顺序就可以正确地把各种命令字写入对应的寄存器中。
10.的中断屏蔽寄存器与中断允许标志有什么区别?
答:是微处理器内部标志寄存器的一位,若,就不响应外部可屏蔽中断请求引线上的请求信号。有个中断请求输入线,中的某位为,就把对应这位的中断请求禁止掉,无法被处理,也无法向处理器产生请求。
11.&若系统采用单片中断控制器控制中断,中断类型码给定为,中断源的请求线与的相连,试问:对应该中断源的中断向量表入口地址是什么?若中断服务程序入口地址为,则对应该中断源的中断向量表内容是什么,如何定位?
答:中断向量表入口地址为:段的地址。对应中断服务程序入口,在向量表中定位情况:、、、。
12.&试按照如下要求对设定初始化命令字:系统中只有一片,中断请求信号使用电平触发方式,全嵌套中断优先级,数据总线无缓冲,采用中断自动结束方式。中断类型码为,的端口地址为和。
答:送端口,送端口,送端口
13.&比较中断与两种传输方式的特点。
答:中断方式下,外设需与主机传输数据时要请求主给予中断服务,中断当前主程序的执行,自动转向对应的中断处理程序,控制数据的传输,过程始终是在处理器所执行的指令控制之下。
直接存储器访问方式下,系统中有一个控制器,它是一个可驱动总线的主控部件。当外设与主存储器之间需要传输数据时,外设向控制器发出请求,控制器向中央处理器发出总线请求,取得总线控制权以后,控制器按照总线时序控制外设与存储器间的数据传输而不是通过指令来控制数据传输,传输速度大大高于中断方式。
14.&DMA控制器应具有那些功能?
答:控制器应有请求输入线,接收O设备的请求信号;控制器应有向主机发出总线请求的信号线和接收主机响应的信号线;控制器在取得总线控制权以后应能发出内存地址、O读写命令及存储器读写命令控制O与存储器间的数据传输过程。
15.&8237A只有位数据线,为什么能完成位数据的传送?
答:O与存储器间在进行传送过程中,数据是通过系统的数据总线传送的,不经过的数据总线,系统数据总线是具有位数据的传输能力的。
16.&8237A的地址线为什么是双向的?
答:的地址线是双向的,当被主机编程或读状态处于从属状态,为输入地址信号,以便主机对其内部寄存器进行寻址访问。当取得总线控制权进行传送时,输出低位地址信号供存储器寻址对应单元用,必需是双向的。
17.&说明单字节传送数据的全过程。
答:取得总线控制权以后进行单字节的传送,传送完一个字节以后修改字节计数器和地址寄存器,然后就将总线控制权放弃。若O的请求信号继续有效,再次请求总线使用权进行下一字节的传送。
18.&8237A单字节传送与数据块传送有什么不同?
答:单字节传送方式下,每传送完一个字节数据就释放总线,传送下一字节时再请求总线的控制权。块传送方式下必须把整个数据块传送完才释放总线。
19.&8237A什么时候作为主模块工作,什么时候作为从模块工作?在这两种工作模式下,各控制信号处于什么状态,试作说明。
答:取得总线控制权后,开始进行传送过程,此时作为主模块工作。在被处理器编程或读取工作状态时,处于从模块工作状态。
8237A处于从模块时,若0、说明它正被编程或读取状态,与为输入,为输入。处于主模块时,输出地址信号低位经输出,高位经输出。还要输出、、、、、等有效信号供传送过程使用。
20.&说明初始化编程的步骤。
答:写屏蔽字,阻止某通道的请求。写命令字号地址,确定信号有效电平、优先级方式、通道工作允许等。写模式字号地址,确定某通道传送方式、传送类型、地址寄存器变化方式等。置先后触发器。设置地址寄存器、字节数寄存器的初值。清除某通道屏蔽位,允许响应其请求。
21.&8237A选择存储器到存储器的传送模式必须具备那些条件
答:必须使用内部的暂存器作为数据传送的缓冲器。通道的地址寄存器存放存储器的源地址、通道的地址寄存器存放存储器的目的地地址、字节计数器存放传送的字节数,建立通道的软件请求来启动这一传输过程。
21.&利用的通道,由一个输入设备输入一个的数据块至内存,内存的首地址为,采用增量、块传送方式,传送完不自动初始化,输入设备的和都是高电平有效。请编写初始化程序,的首地址用标号表示。
答:设存储器页面寄存器内容已被置为。初始化程序如下:
MOV&&AL,&;屏蔽通道
MOV&&DX,&;
OUT&&&DX,&;
MOV&&AL,&&&&&&&&&&&&&;写通道命令字:、
MOV&&DX,&;高电平有效,正常
DUT&&DX,&&;时序、固定优先级、允许工作等。
MOV&&AL,&&;写通道模式字:块传
MOV&&DX,;输、写传输、地址增、
OUT&&DX,&;禁止自动预置等。
MOV&&DX,;置先后触发器
OUT&&DX,;
MOV&&AL,;设通道基地址为
MOV&&DX,;
OUT&&&DX,;
MOV&&AL,&;
OUT&&DX,&;
MOV&&AL,&;设通道基字节数为
MOV&&DX,&;
OUT&&&DX,&;
MOV&&AL,&&&7FH&&&&&&&&&&&&&&&&&&&&&&;
OUT&&&DX,&;
MOV&&AL,;清除通道屏蔽。
MOV&&DX,&&DMA+0AH&&&&&&&&&&&&&&&&&;
OUT&&DX,&;
MOV&&AL,&;通道发请求
MOV&&DX,;
OUT&&&DX,;
习题与练习题
第章&常用可编程外围接口芯片
<span style="color:#.&设<span style="color:#53三个计数器的端口地址为<span style="color:#1H、<span style="color:#2H、<span style="color:#3H,控制寄存器端口地址<span style="color:#0H。试编写程序片段,读出计数器<span style="color:#的内容,并把读出的数据装入寄存器AX。
&&&OUT&&<span style="color:#0H,
&&&IN&&&AL,
&&&MOV&&BL,
IN&&&AL,,
&&&&MOV&&BH,AL
<span style="color:#.&设<span style="color:#53三个计数器的端口地址为<span style="color:#1H、<span style="color:#2H、<span style="color:#3H,控制寄存器端口地址<span style="color:#0H。输入时钟为<span style="color:#MHz,让<span style="color:#号通道周期性的发出脉冲,其脉冲周期为<span style="color:#ms,试编写初化程序段。&&
要输出脉冲周期为,输出脉冲的频率是,当输入时钟频率为时,计数器初&#20540;是
使用计数器,先读低位,后读高位,设为方式,二进制计数,控制字是。设控制口的地址是,计数器的地址是。程序段如下:
&&&&&&&MOV&&DX,20<span style="color:#H
&&&&&&&MOV&&AL,<span style="color:#<span style="color:#H
&&&&&&&OUT&&DX,,AL
&&&&&&&MOV&&DX,20<span style="color:#H
&&&&&&&MOV&AX,
&&&&&&MOV&&AL,
&&&&&&OUT&&DX,&&&&&
<span style="color:#.&设<span style="color:#53计数器的时钟输入频率为<span style="color:#.91MHz,为产生<span style="color:#KHz的方波输出信号,应向计数器装入的计数初&#20540;为多少?
应向计数器装入的初&#20540;是。
4.&设8253的计数器0,工作在方式,计数初&#20540;为;计数器1,工作在方式,计数初&#20540;为;计数器2,工作在方式,计数初&#20540;为。如果三个计数器的都接高电平,三个计数器的都接时钟信号,试画出、、的输出波形。
计数器0工作在方式1,即可编程的单脉冲方式。这种方式下,计数的启动必须由外部门控脉冲GATE控制。因为GATE接了高电平,当方式控制字写入后OUT0变高,计数器无法启动,所以OUT0输出高电平。
计数器1工作在方式2,即分频器的方式。输出波形的频率f=&=&=666.7HZ,其周期为1.5ms,输出负脉冲的宽度等于的周期为us。
计数器2工作在方式3,即方波发生器的方式。输出频率f=&=&2000Hz的对称方波。
三个OUT的输出波形如下:
5.&&8255A的3个端口在使用上有什么不同?
<span style="color:#55A的端口,作为数据的输入、输出端口使用时都具有锁存功能。
B端口和端口当作为数据的输出端口使用时具有锁存功能,而作为输入端口使用时不带有锁存功能。
6.&当数据从的端口读到时,的控制信号、、、A1、AO分别是什么电平?&
当数据从8255A的C&端口读入CPU时,8255A的片选信号应为低电平,才能选中芯片。A1,A0为,即A1接高电平,A0接低电平,才能选中端口。应为低电平(负脉冲),数据读入,为高电平。
7.&如果串行传输速率是2400波特,数据位的时钟周期是多少秒?
数据位的时钟周期是&&=&4.17×-4&秒
8.&在远距离数据传输时,为什么要使用调制解调器?
在远距离传输时,通常使用电话线进行传输,电话线的频带比较窄,一般只有几,因此传送音频的电话线不适于传输数字信号,高频分量会衰减的很厉害,从而使信号严重失真,以致产生错码。使用调制解调器,在发送端把将要传送的数字信号调制转换成适合在电话线上传输的音频模拟信号;在接收端通过解调,把模拟信号还原成数字信号。
9.&全双工和半双工通信的区别是什么?在二线制电路上能否进行全双工通信?为什么?
全双工和半双工通信,双方都既是发送器又是接收器。两者的区别在于全双工可以同时发送和接收。半双工不能同时双向传输,只能分时进行。在二线制电路上是不能进行全双工通信的,只能单端发送或接收。因为一根信号线,一根地线,同一时刻只能单向传输。
10.&同步传输方式和异步传输方式的特点各是什么?
同步传输方式中发送方和接收方的时钟是统一的、字符与字符间的传输是同步无间隔的。异步传输方式并不要求发送方和接收方的时钟完全一样,字符与字符间的传输是异步的。
11.&在异步传输时,如果发送方的波特率是600,接收方的波特率是1200,能否进行正常通信?为什么?
不能进行正常通信,因为发送方和接收方的波特率不同,而接收端的采样频率是按传输波特率来设置。
12.&8251A在编程时,应遵循什么规则?
8251在初始化编程时,首先使芯片复位,第一次向控制端口奇地址写入的是方式字;如果输入的是同步方式,接着向奇地址端口写入的是同步字符,若有个同步字符,则分次写入;以后不管是同步方式还是异步方式,只要不是复位命令,由向奇地址端口写入的是命令控制字,向偶地址端口写入的是数据。
13.&试对一个8251A进行初始化编程,要求工作在同步方式,7位数据位,奇校验,1个停止位。
对原题目的补充改动,要求工作在内同步方式,个同步字符。
方式字是:
程序段如下:
OUT&&DX,;向的控制口送个
OUT&&DX,;向的控制口送复位
OUT&&DX,;向送方式字
MOV&&AL,;为同步字符
OUT&&DX,;输出个同步字符
OUT&&DX,;向送控制字
14.&一个异步串行发送器,发送具有位数据位的字符,在系统中使用一位作偶校验,个停止位。若每秒钟发送个字符,它的波特率和位周期是多少?
每个字符需要的发送位数是位(数据位位,校验位位,停止位位,起始位位)。每秒发送个字符共位。因此波特率为波特,位周期≈833us。
第章&微机的基本接口技术
1.&简述行列式键盘矩阵的读入方法。
将行线接输出口,列线接输入口,采用行扫描法,先将某一行输出为低电平,其它行输出为高电平,用输入口来查询列线上的电平,逐次读入列&#20540;,如果行线上的&#20540;为时,列线上的&#20540;也为,则表明有键按下。否则,接着读入下一列,直到找到该行有按下的键为止。如该行没有找到有键按下,就按此方法逐行找下去,直到扫描完全部的行和列。
2.&简述用反转法实现键的识别的基本方法。
&&&&将题目中的键改为闭合键。
用反转法识别闭合键,需要用可编程的并行接口。行线和列线分别接在和个并行口上,首先让行线上的口工作在输出方式,列线上的口工作在输入方式,通过编程使口都输出低电平,然后读取口的列线&#20540;,如果某一列线上的&#20540;为,则判定改列有某一键按下。为了确定是哪一行要对和进行反转,即对口重新进行初始化工作在输入方式,列线上的口工作在输出方式,并将刚读取的列线&#20540;从列线所接的口输出,再读取行线所接的口,取得行线上的输入&#20540;,在闭合键所在的行线上的&#20540;必定为。这样,当一个键被按下时,必定可读得一对唯一的行&#20540;和列&#20540;。根据这一对行&#20540;和列&#20540;就可判断是哪一行哪一列的键被按下。
3.&LED数码管显示器共阴极和共阳极的接法主要区别是什么?
LED数码管显示器共阴极的接法是发光二极管的阴极接地,当数码管的笔划发光二极管的阳极为高电平时,该笔划被点亮。共阳极的接法是发光二极管的阳极接高电平,当数码管的笔划发光二极管的阴极为低电平时,该笔划被点亮。总之,主要区别在于数码管的接法和驱动笔划的数据电平的不同。
4.&试绘图说明LED数码管显示器的动态显示原理。
&&&&使用书上的图
在图中数码管是共阴极的,总共可带动8位这样的LED数码管。动态驱动显示接口与静态驱动显示接口的一个明显特点是:动态驱动法将多位LED同名段的选择线都并联在一起,即8位中的所有同名段a接在一起,所有b段都接在一起……,这样只要一个8位的锁存器来控制段码a,b,c,d,e,f,g就够了。另外用一个锁存器来控制点亮的位。因此需要2个8位的I/O端口。
由于所有位的位选择码是用一个I/O端口控制,所有段的段选择码也是用一个I/O端口控制,因此在每个瞬间,8位LED只可能显示相同的字符。要想每位显示不同的字符,必须要采用扫描的显示方式。即在每一瞬间只能使某一位显示相应的字符,在此瞬间,由位选择控制的I/O端口在要显示的位上送入选通电平(共阴极接法送入低电平,共阳极接法送入高电平),以保证让该位显示字符;再由段选择控制的I/O端口输出相应字符的段选择码。如此循环下去,使每一位都显示该位应显示的字符,并保持延时一段时间,然后再选中下一位,利用发光显示器的余辉及人&#30524;的视觉暂留特点,给人一种显示器同时被点亮的效果。段选择码,位选择码在每送入一次后一般需要延时1~5ms时间。
5.&A/D和D/A转换在微机应用中分别起什么作用?
在微机应用中转换器完成输入模拟量到数字量的转换,供微机采集数据。转换器完成微机输出数字量到模拟量的转换,实现微机控制。
6.&D/A转换器和微机接口中的关键问题是什么?对不同的D/A芯片应采用何种方法连接?
D/A转换器和微机接口时主要注意两点:第一要了解所选用的转换器本身是否带有数据锁存器,如果芯片内部带有锁存器可以直接和CPU的数据总线相连接;如果芯片内部不带有锁存器,在接口电路中需要通过数据锁存器来连接CPU的数据总线和转换器的数据线。第二是要注意转换器的位数和所要连接的微机数据总线的位数是否一致。以便决定在需要加数据锁存器时,加几级锁存器,如果的数据总线是位,使用的是大于位的转换器,通常采用两级缓冲结构和数据总线相连。
7.&什么叫D/A转换器的分辨率?
D/A转换器的分辨率指它所能分辨的最小输出电压与最大输出电压的比&#20540;。通常用转换器输入数字量的位数来表示。
8.&若一个D/A转换器的满量程(对应于数字量)为V。若是输出信号不希望从增长到最大,而是有一个下限,增长到上限。分别确定上下限所对应的数。
&&&因为满量程为,则每一步的电压变化量为=&0.039V/步
&&于是,下限是&&&&&&&&&=51.3步&&&&取,即。
上限是 &=&205.1步&&&&取,即。
9.&DAC与位总线的微机接口相连接时,如果采用带两级缓冲器的芯片,为什么有时要用三条输出指令才能完成位或位的数据转换?
因为在使用内部不带数据寄存器的时,常常需要在前面增加数据缓冲器,用来锁存通过数据总线发出的数字。如果总线为位,而超过位(例如位或位)时,必须分次才能把控制数字送入数据缓冲器,例如先送数据的低位,然后送剩下的高位,因此需要执行条输出指令。另外,为了避免在得到局部输入时,其输出端输出并不是最后结果的模拟量,通常采用级数据缓存结构,相应地也需要再增加执行一次输出指令,使在第一级缓冲器中锁存的数据经第二级缓冲器后能一次加到输入端。第三条输出指令仅仅是使第二级缓冲器得到一个选通信号。
10.&已知某的输入为位二进制数,满刻度输出电压,试求最小分辨率电压LSB和分辨率。
12位的分辨率
最小分辨率电压LSB
11.&已知某的最小分辨电压LSB=5mV,满刻度输出电压,试求该电路输入二进制数字量的位数应是多少?
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
12.&A/D转换器和微机接口中的关键问题有哪些?
&A/D转换器和微机接口时的关键问题主要有个。①&A/D转换器输出和CPU的接口方式,主要有2种连接方式:
一种是A/D芯片输出端直接和系统总线相连;另一种是A/D芯片输出端通过接口电路和总线相连。②&A/D转换器的分辨率和微机数据总线的位数匹配:当10位以上的A/D转换器和8位数据总线连接时,由于数据要按字节分时读出,因此从8位数据线上需分2次来读取转换的数据。设计接口时,数据寄存器要增加读写控制逻辑。③&A/D转换的时间和CPU的时间配合问题:要注意A/D转换的启动方式,通常启动信号分为电平控制启动和脉冲启动两种。其中又有不同的极性要求。还要注意转换后信号的处理。④A/D的控制和状态信号。因为A/D转换器的控制和状态信号的类型与特征对接口有很大影响,在设计时必须要注意分析控制和状态信号的使用条件。⑤&输入模拟电压的连接,特别是多路模拟电压的切换控制。&⑥&接地问题,为了减轻数字信号脉冲对模拟信号的干扰,数字地和模拟地要正确连接。
13.&A/D转换器为什么要进行采样?采样频率应根据什么选定?
因为被转换的模拟信号在时间上是连续的,瞬时&#20540;有无限多个,转换过程需要一定的时间,不可能把每一个瞬时&#20540;都一一转换成模拟量。因此对连续变化的模拟量要按一定的规律和周期取出其中的某一瞬时&#20540;,这个过程就是将模拟量离散化,称之为采样,采样以后用若干个离散的瞬时&#20540;来表示原来的模拟量。&&
通常为了使输出信号经过还原后能更好地反映输入模拟信号的变化,根据采样定理,采样频率一般要高于或至少等于输入信号中最高频率分量的2倍,就可以使被采样的信号能够代表原始的输入信号。在输入信号频率不是太高的实际应用中,一般取采样频率为最高频率的4~8倍。
14.&若输入模拟电压信号的最高频率位,取样频率的下限是多少?完成一次转换时间的上限是多少?
取样频率的下限为Z×Z&&&&&完成一次转换的最长时间是
15.&双积分式电路中的计数器是十进制的,最大计数容量10,时钟脉冲频率为,完成一次转换最长需要多少时间?
由于双积分式的工作模式是固定时间正向积分、固定斜率反向积分。正向积分与反向积分的切换是由正向积分开始时计数器从计数到计满后产生的溢出信号控制,较高的反极性的基准电压进入积分器反向积分(因为反向斜率&#20540;大于正向斜率&#20540;,一般反向积分时间要小于正向积分时间),计数器再次从开始计数,直至反向积分至时停止计数,此时的计数&#20540;就是对应的输入量的变换数字量。因此完成一次转换的最长时间不大于倍正向积分时间即计数器从到计满时间的倍。
在该题为。
16.&设被测温度的变化范围为300℃~1000℃,如要求测量误差不超过±1℃,应选用分辨率为多少位的A/D转换器?
取最大的温度变化范围O,最小的温度分辨为O,这样只要不少于等份就可以。因此可选位转换器,若它的满量程是O,最小的温度分辨为
习题与练习题
第章&微计算机总线
1.&采用一种总线标准进行微型计算机的硬件结构设计具有什么优点?
答:为适应用户不断变化的要求,微机系统设计必须采用模块化设计,不同的模块组合形成一定的功能。模块之间的连接关系采用标准的总线结构可使不同功能的模块便于互连,兼容性好、生命周期长。模块采用标准化总线结构设计可使模块的生产供应规模化、多元化、价&#26684;低、有利于用户。
2.&一个总线的技术规范应包括哪些部分?
答:总线技术规范应包括:机械结构规范:模块尺寸、总线插头插座形式与结点数以及模块与插头插座的机械定位。功能规范:总线信号名称、功能以及相互作用的协议。电气规范:总线中每个信号工作时的有效电平、动态转换时间、负载能力以及电气性能的额定&#20540;与最大&#20540;。
3.&总线的定义是什么?简述总线的发展过程。
答:总线就是两个以上模块或子系统间传送信息的公共通道,通过它模块间可进行数据、地址码及命令的传输。
最早的标准化总线是总线,年代初XT个人计算机采用位总线,之后又在T机上推出位总线。随着外设接口对总线性能要求的不断提高,出现了总线及总线。总线目前已被个人计算机广泛采用,成为新的工业标准。
4.&微型计算机系统总线由哪三部分组成?它们各自的功能是什么?
答:由地址总线、数据总线和控制总线三部分组成。地址总线用于指出数据的来源或去向;数据总线提供了模块间数据传输的路径;控制总线用来传送各种控制信号以便控制数据、地址总线的操作及使用。
5.&扩充总线的作用是什么?它与系统总线的关系是什么?
答:扩充总线是将许多O接口连接在一起,集中起来经桥接电路与系统总线相连,减轻系统总线的负载,提高系统性能。系统总线与扩充总线的之间有专门的连接电路,它们各自工作在不同的频宽下,可适应不同工作速度的模块的需要。
6.&为什么要引入局部总线?它的特点是什么?
答:早期的扩充总线总线工作频率低,不能满足象图形、视频、网络接口等高数据传输率O设备的要求。在处理器的系统总线与传统扩充总线之间插入一个总线层次,它的频率高于传统扩充总线,专门连接高速O设备,满足它们对传输速率的要求。这一层次的总线就是局部总线。局部总线与系统总线经桥接器相连,局部总线与传统扩充总线也经桥接器相连,三个层次的总线相互隔开,各自工作在不同的频宽上,适应不同模块的需要。
7.&总线定时协议分哪几种?各有什么特点?
答:总线有三种定时方法。同步定时,信息传输由公共时钟控制,总线信号中包括一个时钟信号,各模块上所有的操作都在时钟开始时启动。异步定时,信息的传输的操作均由源或目的的特定信号跳变所确定,总线上每一个操作的发生均取决于前一个操作的发生,总线操作过程不用公共时钟来同步。半同步定时,总线上各操作之间的时间间隔可以变化,但这个变化只允许为公共时钟周期的整数倍,信号的出现,采样和结束以公共时钟为基础。
8.&总线上数据传输分哪几种类型?各有什么特点?
答:分单周期方式和突发方式两种。在单周期方式中,每个总线周期只传送一个数据。在突发方式下,占用一次总线要进行多个数据的传输,源模块发出首地址去访问目的模块的数据,以后的数据是在首地址的基础上按一定的规则去寻址目地模块。
9.&总线的指标有哪几项,它工作时一般由哪几个过程组成?
答:总线的指标有总线宽度,一次总线操作可以传输的数据位数;总线工作频率,总线上基本定时时钟的频率,它代表总线操作的最高频率;单个数据传输所用时钟周期数。总线上信息传输过程可分解为:请求总线;总线裁决;寻址;数据传送;错误检查。
10.&为什么要进行总线仲裁?
答:总线结构的特点是,一个传送信息的公共通路总线为多个模块共同使用。但在某一时刻,只能允许一个主模块使用总线进行数据传输。当有多个主模块要占用总线进行数据传输时,要有一个总线的请求及转交的过程,首先按一定规则进行总线使用权的仲裁,把总线的使用权交给优先级最高的请求者。
11.&为什么集中式总线仲裁方式优于菊花链式?
答:菊花链式为串行总线仲裁逻辑,离处理器较远的主模块因前级主模块的占用而在较长时间内得不到响应,优先权的级别与逻辑上级连位置有关,因此灵活性差,缺少公平性。
集中式为并行总线仲裁逻辑,请求与响应信号都是独立与仲裁逻辑相连,优先级的处理可采用多种方式,不至因为某个请求设备的故障而造成整个仲裁逻辑的瘫痪,灵活性好。
12.&ISA总线信号分为多少组,它的主要功能是什么?
答:分为总线基本信号、总线访问信号及总线控制信号。总线基本信号主要用来提供基本定时时钟、系统复位、电源和地信号。总线访问信号主要用来提供对总线目标模块访问的地址、数据、访问应答控制信号。总线控制信号的主要功能是提供中断、处理时的请求及响应信号以及扩展模块主控状态的确定信号。
13.&ISA&16位总线是在ISA&8位总线基础上扩充了哪些信号而形成的?
答:ISA&16位总线在ISA&8位总线基础上把数据线由位扩充到位,把地址线由位扩充到位;还扩充了中断请求信号、请求与响应信号;还增加了位数据访问的控制信号等。
14.PCI总线访问时,怎样的信号组合启动一个总线的访问周期,又怎样结束一个访问周期?
答:总线上的主设备取得总线控制权以后,在期间发出有效信号、要访问的从设备的地址信号及操作类型的命令字,从而启动了一个总线访问周期。结束一个访问周期是通过使信号变为无效且保持主设备准备就绪信号为有效,完成最后的数据传送后结束这个总线操作。此外用信号从设备可以主动仃止数据访问周期。
第章&先进微处理器介绍
1.&提高微处理器性能的途径有哪些?
答:提高芯片内部时钟的工作频率;增加芯片数据总线的宽度,提高微处理器与片外传送数据或指令代码的速率,同时片内的数据路径也必然加宽,内部的数据处理速度会加快。采用能够并行执行指令的微体系结构及其它相关技术。
2.&提高微处理器内部执行的并行性有哪些措施?
答:采用超级流水线技术。把指令执行的过程分成很多级,各级所对应的操作可并行进行,即多条指令在同一时刻完成不同级的操作,实现了指令的并行执行。流水线级分的越多,可并行执行的指令条数也越多。采用超标量技术。在芯片内部设置多重功能相同或接近的功能部件,同一时刻可向多个功能部件分派指令去流水执行,实现了指令执行的并行化。
3.&奔腾微处理器采用什么技术来提高指令执行的效率?
答:第一代奔腾微处理器采用了超标量结构来提高指令执行的效率。它内部设有两条流水线,一个时钟周期内可发射两条整数指令给两条流水线去执行,另外还有一个浮点部件可执行浮点指令。这种多重功能部件的结构就是一种超标量的结构。
4.高能奔腾微处理器与第一代奔腾微处理器相比,采取了哪几种主要的技术措施来进一步提高性能?
答:采用了的设计概念。高能奔腾把指令转换成多个较小且易执行的指令,这些转换后的指令是三操作数&#26684;式,内部设置大量物理寄存器,这是结构的特点,可以提高指令执行的效率。采用超级流水线与超标量技术,处理器具有较高的吞吐率,处理器工作频率尽可能提高,增加了指令执行的并行度,性能有明显的改善。采用动态执行技术,处理器对指令的执行进行调度,打破原有指令顺序,对以后指令执行的顺序进行预测,形成最佳执行顺序来达到最高的指令执行并行度,避免因分支或数据相关等因素对指令执行的并行性所产生的影响。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:72688次
积分:1314
积分:1314
排名:千里之外
原创:49篇
转载:84篇
(7)(1)(1)(26)(50)(2)(3)(10)(7)(10)(10)(6)}

我要回帖

更多关于 微机原理 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信