注:本答案仅供参考,如有错误敬请指正
来源:【电大文库】http://www.diandawenku.com/
电大文库【微计算机技术】形考作业一:
第1章 绪论
1. 计算机分那几类?各有什么特点?
答:传统上分为三类:大型主机、小型机、微型机。大型主机一般为高性能的并行处理系统, 存储容量大,事物处理能力强,可为众多用户提供服务。小型机具有一定的数据处理能力,提供一定用户规模的信息服务,作为部门的信息服务中心。微型机一般指在办公室或家庭的桌面或可移动的计算系统,体积小、价格低、具有工业化标准体系结构,兼容性好。
2. 简述微处理器、微计算机及微计算机系统三个术语的内涵。
答:微处理器是微计算机系统的核心硬件部件,对系统的性能起决定性的影响。微计算机包括微处理器、存储器、I/O接口电路及系统总线。微计算机系统是在微计算机的基础上配上相应的外部设备和各种软件,形成一个完整的、独立的信息处理系统。
3. 80X86微处理器有几代?各代的名称是什么?
答:从体系结构上可分为3代: 8080/8085:8位机。 8086/8088/80286:16位机。
80386/80486:32位机。
第2章 微处理器结构及微计算机的组成
1. 8086是多少位的微处理器?为什么?
答:8086是16位的微处理器,其内部数据通路为16位,对外的数据总线也是16位。
2. EU与BIU各自的功能是什么?如何协同工作?
答:EU是执行部件,主要的功能是执行指令。BIU是总线接口部件,与片外存储器及I/O接口电路传输数据。EU经过BIU进行片外操作数的访问,BIU为EU提供将要执行的指令。EU与BIU可分别独立工作,当EU不需BIU提供服务时,BIU可进行填充指令队列的操作。
3. 8086/8088与其前一代微处理器8085相比,内部操作有什么改进?
答:8085为8位机,在执行指令过程中,取指令与执行执令都是串行的。8086/8088由于内部有EU和BIU两个功能部件,可重叠操作,提高了处理器的性能。
4. 8086/8088微处理器内部有那些寄存器,它们的主要作用是什么?
答:执行部件有8个16位寄存器,AX、BX、CX、DX、SP、BP、DI、SI。AX、BX、CX、DX一般作为通用数据寄存器。SP为堆栈指针存器,BP、DI、SI在间接寻址时作为地址寄存器或变址寄存器。总线接口部件设有段寄存器CS、DS、SS、ES和指令指针寄存器IP。段寄存器存放段地址,与偏移地址共同形成存储器的物理地址。IP的内容为下一条将要执行指令的偏移地址,与CS共同形成下一条指令的物理地址。
5.8086对存储器的管理为什么采用分段的办法?
答:8086是一个16位的结构,采用分段管理办法可形成超过16位的存储器物理地址,扩大对存储器的寻址范围 (1MB,20位地址)。若不用分段方法,16位地址只能寻址64KB空间。
6.给定一个存放数据的内存单元的偏移地址是20C0H,(DS)=0C00EH,求出该内存单元的物理地址。
7.8086/8088为什么采用地址/数据引线复用技术?
答:考虑到芯片成本,8086/8088采用40条引线的封装结构。40条引线引出8086/8088的所有信号是不够用的,采用地址/数据线复用引线方法可以解决这一矛盾,从逻辑角度,地址与数据信号不会同时出现,二者可以分时复用同一组引线。
8.8086与8088的主要区别是什么?
答:8086有16条数据信号引线,8088只有8条;8086片内指令预取缓冲器深度为6字节,8088只有4字节。
9.怎样确定8086的最大或最小工作模式?最大、最小模式产生控制信号的方法有何不同
答:引线MN/MX#的逻辑状态决定8086的工作模式,MN/MX#引线接高电平,8086被设定为最小模式,MN/MX#引线接低电平,8086被设定为最大模式。
最小模式下的控制信号由相关引线直接提供;最大模式下控制信号由8288专用芯片译码后提供,8288的输入为8086的S2#~S0#三条状态信号引线提供。
10.8086被复位以后,有关寄存器的状态是什么?微处理器从何处开始执行程序?
答:标志寄存器、IP、DS、SS、ES和指令队列置0,CS置全1。处理器从FFFFOH存储单元取指令并开始执行。
11.8086基本总线周期是如何组成的?各状态中完成什么基本操作?
答:基本总线周期由4个时钟(CLK)周期组成,按时间顺序定义为T1、T2、T3、T4。在T1期间8086发出访问目的地的地址信号和地址锁存选通信号ALE;T2期间发出读写命令信号RD#、WR#及其它相关信号;T3期间完成数据的访问;T4结束该总线周期。
12.结合8086最小模式下总线操作时序图,说明ALE、M/IO#、DT/R#、RD#、READY信号的功能。
答:ALE为外部地址锁存器的选通脉冲,在T1期间输出;M/IO#确定总线操作的对象是存储器还是I/O接口电路,在T1输出;DT/R#为数据总线缓冲器的方向控制信号,在T1输出;RD#为读命令信号;在T2输出;READY信号为存储器或I/O接口"准备好"信号,在T3期间给出,否则8086要在T3与T4间插入Tw等待状态。
13.8086中断分哪两类?8086可处理多少种中断?
答:8086中断可分为硬件中断和软件中断两类。8086可处理256种类型的中断。
14.8086可屏蔽中断请求输入线是什么?"可屏蔽"的涵义是什么?
答:可屏蔽中断请求输入线为INTR;"可屏蔽"是指该中断请求可经软件清除标志寄存器中IF位而被禁止。
15.8086的中断向量表如何组成?作用是什么?
答:把内存0段中0~3FFH区域作为中断向量表的专用存储区。该区域存放256种中断的处理程序的入口地址,每个入口地址占用4个存储单元,分别存放入口的段地址与偏移地址。
16.8086如何响应一个可屏蔽中断请求?简述响应过程。
答:当8086收到INTR的高电平信号时,在当前指令执行完且IF=1的条件下,8086在两个总线周期中分别发出INTA#有效信号;在第二个INTA#期间,8086收到中断源发来的一字节中断类型码;8086完成保护现场的操作,CS、IP内容进入堆栈,请除IF、TF;8086将类型码乘4后得到中断向量表的入口地址,从此地址开始读取4字节的中断处理程序的入口地址,8086从此地址开始执行程序,完成了INTR中断请求的响应过程。
17.什么是总线请求?8086在最小工作模式下,有关总线请求的信号引脚是什么?
答:系统中若存在多个可控制总线的主模块时,其中之一若要使用总线进行数据传输时,需向系统请求总线的控制权,这就是一个总线请求的过程。8086在最小工作模式下有关总线请求的信号引脚是HOLD与HLDA。
18."8086执行了一个总线周期"是指8086做了哪些可能的操作?基本总线周期如何组成?
在一个典型的读存储器总线周期中,地址信号、ALE信号、RD#信号、数据信号分在
何时产生?
答:(1)"8086执行了一个总线周期"是指:
(8086可能从片外的存储器取指令,
(8086可能对片外的存储器或I/O接口进行了一次读/写数据的操作。
(2)基本总线周期由T1至T4四个时钟周期组成。
(3)在一个典型的读存储器总线周期中,
地址信号:在T1周期内产生
ALE信号:在T1周期内产生
RD#信号:在T2周期内产生
数据信号:一般在T3周期内产生,若存储器在T3内来不及提供数据,8086
会在总线周期中插入等待状态Tw,存储器将在某Tw中给出数据。
电大文库【微计算机技术】形考作业二:
第3章 8086指令系统及寻址方式(第二部分)
1. 根据下列要求编写一个汇编语言程序::
(1)代码段的段名为COD_SG
(2)数据段的段名为DAT_SG
(3)堆栈段的段名为STK_SG
(4)变量HIGH_DAT所包含的数据为95
(5)将变量HIGH_DAT装入寄存器AH,BH和DL
(6)程序运行的入口地址为START
答案:
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
INT 21H
MAIN ENDP
COD_SG ENDS
END START
2. 指出下列程序中的错误:
STAKSG SEGMENT
DB 100 DUP(?)
STA_SG ENDS
DTSEG SEGMENT
DATA1 DB ?
DTSEG END
CDSEG SEGMENT
MAIN PROC FAR
START: MOV DS,DATSEG
MOV AL,34H
ADD AL,4FH
MOV DATA,AL
START ENDP
CDSEG ENDS
END
答案:
改正后:
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
INT 21H
MAIN ENDP
CDSEG ENDS
END START
3. 将下列文件类型填入空格:
(1) .obj (2) .exe (3) .crf (4) .asm (5) .lst (6) .map
编辑程序输出的文件有______________________________________;
汇编程序输出的文件有______________________________________;
连接程序输出的文件有______________________________________。
答案:
编辑程序输出文件: (4)
汇编程序输出文件: (1), (3), (5)
连接程序输出文件: (2), (6)
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. 对于下面两个数据段,偏移地址为10H和11H的两个字节中的数据是一样的吗?为什么?
①DTSEG SEGMENT
ORG 10H
DATA1 DB 72H
DB 04H
DTSEG ENDS
② DTSEG SEGMENT
ORG 10H
DATA1 DW 7204H
DTSEG ENDS
答案: 不一样. 分别是72H, 04H和04H, 72H. 存储字时低8位存在低字节,高8位存在高字节.
7. 下面的数据项设置了多少个字节?
(1) ASC_DATA DB '1234'
(2) HEX_DATA DB 1234H
答案:
(1) 设置了4个字节
(2) 设置了2个字节
8. 执行下列指令后, AX寄存器中的内容是什么?
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) 基址变址方式不能有 SI和DI的组合
(4) 基址变址方式不能有 BX和BP的组合
(5) 在8086寻址方式中,AX不能作为基址寄存器使用,而且源、目的不能同时为存贮器寻址方式
(6) 1000超出一个字节的表数范围
(7) OFFSET只用于简单变量,应去掉
(8) CS不能作为目的寄存器
(9) 段地址不能直接送入数据段寄存器
10. 请写出下述两条指令执行后, BX寄存器中的内容。
DATA SEGMENT
TABLE_ADDR DW 1234H
DATA ENDS
.
.
.
MOV BX, TABLE_ADDR
LEA BX, TABLE_ADDR
答案:
MOV BX,TABLE_ADDR ; 执行后(BX)=1234H
LEA BX,TABLE_ADDR ; 执行后(BX)=OFFSET TABLE_ADDR
11. 设(DS)=1B00H, (ES)=2B00H, 有关存储器地址及其内容如
右图所示,请用两条指令把X装入AX寄存器。 1B00:2000H 8000H
1B00:2002H 2B00H
.
.
2B00:8000H X
答案:
LES BX, [2000H]
MOV AX, ES: [BX]
12. 假如在程序的括号中分别填入指令:
(1) LOOP L20 (2) LOOPNE L20 (3) LOOPE L20
试说明在三种情况下, 当程序执行完后, AX、BX、CX、DX四个寄存器的内容分别是什么?
TITLE EXLOOP.COM
CODESG SEGMENT
ASSUME CS:CODESG, DS:CODESG. SS:CODESG
ORG 100H
BEGIN: MOV AX,01
MOV BX,02
MOV DX,03
MOV CX,04
L20: INC AX
ADD BX,AX
SHR DX,1
( )
RET
CODESG ENDS
END BEGIN
答案:
(1)(AX)= 5 (BX)= 16 (CX)= 0 (DX)= 0
(2)(AX)= 2 (BX)= 4 (CX)= 3 (DX)= 1
(3)(AX)= 3 (BX)= 7 (CX)= 2 (DX)= 0
13. 假设(CS)=3000H, (DS)=4000H, (ES)=2000H, (SS)=5000H, (AX)=2060H, (BX)=3000H, (CX)=5, (DX)=0, (SI)=2060H, (DI)=3000H, (43000H)=0A006H, (23000H)=0B116H, (33000H)=0F802H, (25060)=00B0H,.(SP)=0FFFEH, (CF)=1, (DF)=1, 请写出下列各条指令单独执行完后, 有关寄存器及存储单元的内容, 若影响条件码请给出条件码SF、ZF、OF、CF的值。
(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, (25060)=2060H, 不影响标志位
第4章 汇编语言程序设计基础(第二部分)
1. 试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。
答案:
ABC: MOV AH,1
INT 21H
CMPAL,'A'
JB STOP
CMP AL,'Z'
JA STOP
SUB AL,20H
MOV DL,AL
MOV AH,2
INT 21H
JMP ABC
STOP: RET
2. 编写程序,比较两个字符串STRING1和STRING2所含字符是否完全相同,若相同则显示"MATCH",若不同则显示"NO MATCH"。
答案:
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
START:PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DATAREA
MOV DS,AX
MOV ES,AX
BEGIN: MOV CX, STRING2-STRING1
MOV BX, MESS1-STRING2
CMP BX,CX
JNZ DISPNO
LEA DX,ADDR
LEA SI,STRING1
LEA DI,STRING2
REPE CMPSB
JNE DISPNO
MOV AH,9
LEA DX,MESS1
RET
DISPNO:MOVAH, 9
LEA DX, MESS2
INT 21H
RET
MAIN ENDP
PROGNAM ENDS
END START
3. 试编写程序,要求从键盘输入3个16进制数,并根据对3个数的比较显示如下信息:
(1)如果3个数都不相等则显示0;
(2)如果3个数中有2个数相等则显示2;
(3)如果3个数都相等则显示3。
答案:
DATA SEGMENT
ARRAY DW 3 DUP(?)
DATA ENDS
CODE SEGMENT
MAIN PROC FAR
ASSUME CS:CODE,DS:DATA
START:PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV CX,3
LEA SI,ARRAY
BEGIN: PUSH CX
MOV CL,4
MOV DI,4
MOV DL, ' '
MOV AH,02
INT 21H
MOV DX,0
INPUT: MOV AH,01
INT 21H
AND AL,0FH
SHL DX,CL
OR DL,AL
DEC DI
JNE INPUT
MOV [SI],DX
ADD SI,2
POP CX
LOOP BEGIN
COMP: LEA SI,ARRAY
MOV DL,0
MOV AX,[SI]
MOV BX,[SI+2]
CMP AX,BX
JNE NEXT1
ADD DL,2
NEXT1:CMP [SI+4],AX
JNE NEXT2
ADD DX,2
NEXT2: CMP [SI+4],BX
JNE NUM
ADD DL,2
NUM: CMP DX,3
JL DISP
MOV DL,3
DISP: MOV AH,2
ADD DL,30H
INT 21H
RET
MAIN ENDP
CODE ENDS
END START
4. 分析下列程序的功能,写出堆栈最满时各单元的地址及内容。
SSEG SEGMENT 'STACK' AT 1000H ; 堆栈的段地址为1000H
DW 128 DUP(?)
TOS LABEL WORD
SSEG ENDS
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
DSEG SEGMENT
DW 32 DUP(?)
DSEG ENDS
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CSEG SEGMENT
MAIN PROC FAR
ASSUME CS:CSEG, DS:DSEG,SS:SSEG
START: MOV AX,SSEG
MOV SS,AX
MOV AX,DSEG
MOV DS,AX
MOV AX,4321H
CALL HTOA
RETN: MOV AH,4CH
INT 21H
MAIN ENDP
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HTOA PROC NEAR
CMP AX,15
JLE B1
PUSH AX
PUSH BP
MOV BP,SP
MOV BX,[BP+2]
AND BX,0FH
MOV [BP+2],BX
POP BP
MOV CL,4
SHR AX,CL
CALL HTOA
B1: POP AX
B2: ADD AL,30H
JL PRT
ADD AL,07
PRT: MOV DL,AL
MOV AH,2
INT 21H
RET
HTOA ENDP
CSEG ENDS
; ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
END START
答案:
1000:0F2HB11000:0F4H31000:0F6HB11000:0F8H21000:0FAHB11000:0FCH11000:0FEHRETN1000:100H
5. 写出分配给下列中断类型号在中断向量表中的物理地址。
(1) INT 12H (2) INT 8
答案:
(1) 00048h
(2) 00020h
6. 试编写程序,它轮流测试两个设备的状态寄存器,只要一个状态寄存器的第0位为1,则与其相应的设备就输入一个字符;如果其中任一状态寄存器的第3位为1,则整个输入过程结束。两个状态寄存器的端口地址分别是0024和0036,与其相应的数据输入寄存器的端口则为0026和0038,输入字符分别存入首地址为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
jz dev2
in al, 0026h
mov buffer[si], al
inc si
dev2: in al, 0036h
test al, 01
jz test12
in al, 0038h
mov buff2[di],al
inc di
jmp test12
exit: ret
第5章 微计算机中处理器与I/O设备间数据传输控制方法
1.试说明一般中断系统的组成和功能。
答:处理器内部应有中断请求信号的检测电路,输出中断响应信号,保存断点的逻辑,转向中断处理程序的逻辑,中断返回逻辑。系统中要有一中断控制器,管理多个中断源,提供处理机所需的中断处理信息。系统中请求中断处理的I/O接口电路要有提供中断请求信号及接收中断响应信号的逻辑。
2.什么是中断类型码、中断向量、中断向量表?在基于8086/8088的微机系统中,中断类型码和中断向量之间有什么关系?
答:处理机可处理的每种中断的编号为中断类型码。中断向量是指中断处理程序的入口地址,由处理机自动寻址。中断向量表是存放所有类型中断处理程序入口地址的一个默认的内存区域。在8086系统中,中断类型码乘4得到向量表的入口,从此处读出4字节内容即为中断向量。
3.什么是硬件中断和软件中断?在PC机中两者的处理过程有什么不同?
答:硬件中断是通过中断请求线输入电信号来请求处理机进行中断服务;软件中断是处理机内部识别并进行处理的中断过程。硬件中断一般是由中断控制器提供中断类型码,处理机自动转向中断处理程序;软件中断完全由处理机内部形成中断处理程序的入口地址并转向中断处理程序,不需外部提供信息。
4.试叙述基于8086/8088的微机系统处理硬件中断的过程。
答:以INTR请求为例。当8086收到INTR的高电平信号时,在当前指令执行完且IF=1的条件下,8086在两个总线周期中分别发出INTA#有效信号;在第二个INTA#期间,8086收到中断源发来的一字节中断类型码;8086完成保护现场的操作,CS、IP内容进入堆栈,清除IF、TF;8086将类型码乘4后得到中断向量入口地址,从此地址开始读取4字节的中断处理程序的入口地址,8086从此地址开始执行程序,完成了INTR中断请求的响应过程。
5.在PC机中如何使用"用户中断"入口请求中断和进行编程?
答:PC机中分配给用户使用的中断是IRQ9,经扩展插槽B4引出,故把用户的中断请求线连接到B4上。在应用程序中,利用25H号系统调用将中断服务程序的入口地址写入对应0AH类型中断对应的中断向量表中去。在应用程序中把主片8259A D2屏蔽位清0,把从片8259A D1屏蔽位清0,使主片的IR2、从片的IR1可以输入中断请求。中断服务程序结束前向主片8259A发中断结束命令。应用程序结束之前对主片的IR2和从片的IR1进行屏蔽,关闭用户中断请求。
6.8259A中断控制器的功能是什么?
答:8259A中断控制器可以接受8个中断请求输入并将它们寄存。对8个请求输入进行优先级判断,裁决出最高优先级进行处理,它可以支持多种优先级处理方式。8259A可以对中断请求输入进行屏蔽,阻止对其进行处理。8259A支持多种中断结束方式。8259A与微处理器连接方便,可提供中断请求信号及发送中断类型码。8259A可以进行级连以便形成多于8级输入的中断控制系统。
7.8259A初始化编程过程完成那些功能?这些功能由那些ICW设定?
答:初始化编程用来确定8259A的工作方式。ICW1确定8259A工作的环境:处理器类型、中断控制器是单片还是多片、请求信号的电特性。ICW2用来指定8个中断请求的类型码。ICW3在多片系统中确定主片与从片的连接关系。ICW4用来确定中断处理的控制方法:中断结束方式、嵌套方式、数据线缓冲等。
8.8259A在初始化编程时设置为非中断自动结束方式,中断服务程序编写时应注意什么?
答:在中断服务程序中,在返回主程序之前按排一条一般中断结束命令指令,8259A将ISR中最高优先级位置0,结束该级中断处理以便为较低级别中断请求服务。
9.8259A的初始化命令字和操作命令字有什么区别?它们分别对应于编程结构中那些内部寄存器?
答:8259A的工作方式通过微处理器向其写入初始化命令字来确定。初始化命令字分别装入ICW1~ICW4内部寄存器。8259A在工作过程中,微处理器通过向其写入操作命令字来控制它的工作过程。操作命令字分别装入OCW1~OCW3内部寄存器中。8259A占用两个端口号,不同的命令字对应不同的端口,再加上命令字本身的特征位及加载的顺序就可以正确地把各种命令字写入对应的寄存器中。
10.若8086系统采用单片8259A中断控制器控制中断,中断类型码给定为20H,中断源的请求线与8259A的IR4相连,试问:对应该中断源的中断向量表入口地址是什么?若中断服务程序入口地址为4FE24H,则对应该中断源的中断向量表内容是什么,如何定位?
答:中断向量表入口地址为:0段的0090H地址。对应4FE24H中断服务程序入口,在向量表中定位情况:(0090H)=24H、(0091H)=00H、(0092H)=E0H、(0093H)=4FH。
11.试按照如下要求对8259A设定初始化命令字:8086系统中只有一片8259A,中断请求信号使用电平触发方式,全嵌套中断优先级,数据总线无缓冲,采用中断自动结束方式。中断类型码为20H~27H,8259A的端口地址为B0H和B1H。
答:ICW1=1BH (送B0H端口),ICW2=20H (送B1H端口),ICW4=03H (送B1H端口)
12.比较中断与DMA两种传输方式的特点。
答:中断方式下,外设需与主机传输数据时要请求主给予中断服务,中断当前主程序的执行,自动转向对应的中断处理程序,控制数据的传输,过程始终是在处理器所执行的指令控制之下。
直接存储器访问(DMA)方式下,系统中有一个DMA控制器,它是一个可驱动总线的主控部件。当外设与主存储器之间需要传输数据时,外设向DMA控制器发出DMA请求,DMA控制器向中央处理器发出总线请求,取得总线控制权以后,DMA控制器按照总线时序控制外设与存储器间的数据传输而不是通过指令来控制数据传输,传输速度大大高于中断方式。
13.DMA控制器应具有那些功能?
答:DMA控制器应有DMA请求输入线,接收I/O设备的DMA请求信号;DMA控制器应有向主机发出总线请求的信号线和接收主机响应的信号线;DMA控制器在取得总线控制权以后应能发出内存地址、I/O读写命令及存储器读写命令控制I/O与存储器间的数据传输过程。
14.8237A只有8位数据线,为什么能完成16位数据的DMA传送?
答:I/O与存储器间在进行DMA传送过程中,数据是通过系统的数据总线传送的,不经过8237A的数据总线,系统数据总线是具有16位数据的传输能力的。
15.8237A的地址线为什么是双向的?
答:8237A的A0~A3地址线是双向的,当8237A被主机编程或读状态处于从属状态,A0~A3为输入地址信号,以便主机对其内部寄存器进行寻址访问。当8237A取得总线控制权进行DMA传送时,A0~A3输出低4位地址信号供存储器寻址对应单元用,A0~A3必需是双向的。
16.说明8237A单字节DMA传送数据的全过程。
答:8237A取得总线控制权以后进行单字节的DMA传送,传送完一个字节以后修改字节计数器和地址寄存器,然后就将总线控制权放弃。若I/O的DMA请求信号DREQ继续有效,8237A再次请求总线使用权进行下一字节的传送。
第6章 常用可编程外围接口芯片
1. 设8253三个计数器的端口地址为201H、202H、203H,控制寄存器端口地址200H。试编写程序片段,读出计数器2的内容,并把读出的数据装入寄存器AX。
答:
MOV AL,80H
OUT 200H,AL
IN AL,203H
MOV BL,AL
IN AL,203H,
MOV BH,AL
MOV AX,BX
2. 设8253三个计数器的端口地址为201H、202H、203H,控制寄存器端口地址200H。输入时钟为2MHz,让1号通道周期性的发出脉冲,其脉冲周期为1ms,试编写初化程序段。
答:
要输出脉冲周期为1ms,输出脉冲的频率是 ,当输入时钟频率为2MHz时,计数器初值是
使用计数器1,先读低8位,后读高8位,设为方式3,二进制计数,控制字是76H。设控制口的地址是200H,计数器0的地址是202H。程序段如下:
MOV DX,200H
MOV AL,76H
OUT DX,,AL
MOV DX,202H
MOV AX,2000
OUT DX,AL
MOV AL,AH
OUT DX,AL
3. 设8253计数器的时钟输入频率为1.91MHz,为产生25KHz的方波输出信号,应向计数器装入的计数初值为多少?
答:
= 76.4
应向计数器装入的初值是76。
4. 8255A的3个端口在使用上有什么不同?
答:
8255A的A端口,作为数据的输入、输出端口使用时都具有锁存功能。
B端口和C端口当作为数据的输出端口使用时具有锁存功能,而作为输入端口使用时不带有锁存功能。
5. 当数据从8255A的C端口读到CPU时,8255A的控制信号 、 、 、A1、AO分别是什么电平?
答:
当数据从8255A的C 端口读入CPU时,8255A的片选信号 应为低电平,才能选中芯片。A1,A0为10,即A1接高电平,A0接低电平,才能选中C端口。 应为低电平(负脉冲),数据读入CPU, 为高电平。
6. 如果串行传输速率是2400波特,数据位的时钟周期是多少秒?
答:
数据位的时钟周期是 = 4.17×10-4 秒
7. 在远距离数据传输时,为什么要使用调制解调器?
答:
在远距离传输时,通常使用电话线进行传输,电话线的频带比较窄,一般只有几KHz,因此传送音频的电话线不适于传输数字信号,高频分量会衰减的很厉害,从而使信号严重失真,以致产生错码。使用调制解调器,在发送端把将要传送的数字信号调制转换成适合在电话线上传输的音频模拟信号;在接收端通过解调,把模拟信号还原成数字信号。
8. 全双工和半双工通信的区别是什么?在二线制电路上能否进行全双工通信?为什么?
答:
全双工和半双工通信,双方都既是发送器又是接收器。两者的区别在于全双工可以同时发送和接收。半双工不能同时双向传输,只能分时进行。在二线制电路上是不能进行全双工通信的,只能单端发送或接收。因为一根信号线,一根地线,同一时刻只能单向传输。
9. 同步传输方式和异步传输方式的特点各是什么?
答:
同步传输方式中发送方和接收方的时钟是统一的、字符与字符间的传输是同步无间隔的。异步传输方式并不要求发送方和接收方的时钟完全一样,字符与字符间的传输是异步的。
第7章 微机的基本接口技术
1.简述用反转法实现键的识别的基本方法。
答:
将题目中的键改为闭合键。
用反转法识别闭合键,需要用可编程的并行接口。行线和列线分别接在PA和PB 2个并行口上,首先让行线上的PA口工作在输出方式,列线上的PB口工作在输入方式,通过编程使PA口都输出低电平,然后读取PB口的列线值,如果某一列线上的值为0,则判定改列有某一键按下。为了确定是哪一行要对PA和PB进行反转,即对PA口重新进行初始化工作在输入方式,列线上的PB口工作在输出方式,并将刚读取的列线值从列线所接的PB口输出,再读取行线所接的PA口,取得行线上的输入值,在闭合键所在的行线上的值必定为0。这样,当一个键被按下时,必定可读得一对唯一的行值和列值。根据这一对行值和列值就可判断是哪一行哪一列的键被按下。
3.试绘图说明LED数码管显示器的动态显示原理。
答:
使用书上的图7.8
在图中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端口输出相应字符的段选择码。如此循环下去,使每一位都显示该位应显示的字符,并保持延时一段时间,然后再选中下一位,利用发光显示器的余辉及人眼的视觉暂留特点,给人一种显示器同时被点亮的效果。段选择码,位选择码在每送入一次后一般需要延时1~5ms时间。
4.A/D和D/A转换在微机应用中分别起什么作用?
答:
在微机应用中A/D转换器完成输入模拟量到数字量的转换,供微机采集数据。D/A转换器完成微机输出数字量到模拟量的转换,实现微机控制。
5.D/A转换器和微机接口中的关键问题是什么?对不同的D/A芯片应采用何种方法连接?
答:
D/A转换器和微机接口时主要注意两点:第一要了解所选用的D/A转换器本身是否带有数据锁存器,如果芯片内部带有锁存器可以直接和CPU的数据总线相连接;如果芯片内部不带有锁存器,在接口电路中需要通过数据锁存器来连接CPU的数据总线和D/A转换器的数据线。第二是要注意D/A转换器的位数和所要连接的微机数据总线的位数是否一致。以便决定在需要加数据锁存器时,加几级锁存器,如果CPU的数据总线是8位,使用的是大于8位的D/A转换器,通常采用两级缓冲结构和CPU数据总线相连。
6.若一个D/A转换器的满量程(对应于数字量255)为10V。若是输出信号不希望从0增长到最大,而是有一个下限2.0V,增长到上限8.0V。分别确定上下限所对应的数。
答:
因为满量程为10V,则每一步的电压变化量为 = 0.039V/步
于是,下限是 =51.3步 取51,即33H。
上限是 = 205.1步 取205,即CDH。
7.DAC与8位总线的微机接口相连接时,如果采用带两级缓冲器的DAC芯片,为什么有时要用三条输出指令才能完成10位或12位的数据转换?
答:
因为在使用内部不带数据寄存器的DAC时,常常需要在DAC前面增加数据缓冲器,用来锁存CPU通过数据总线发出的数字。如果总线为8位,而DAC超过8位(例如10位或12位)时,CPU必须分2次才能把控制数字送入数据缓冲器,例如先送数据的低8位,然后送剩下的高位,因此需要执行2条输出指令。另外,为了避免DAC在得到局部输入时,其输出端输出并不是最后结果的模拟量,通常采用2级数据缓存结构,相应地CPU也需要再增加执行一次输出指令,使在第一级缓冲器中锁存的数据经第二级缓冲器后能一次加到DAC输入端。第三条输出指令仅仅是使第二级缓冲器得到一个选通信号。
8.已知某DAC的输入为12位二进制数,满刻度输出电压Vom=10V,试求最小分辨率电压VLSB和分辨率。
答: 12位D/A的分辨率
最小分辨率电压VLSB
9.已知某DAC的最小分辨电压VLSB=5mV,满刻度输出电压Vom=10V,试求该电路输入二进制数字量的位数n应是多少?
答:
10. A/D转换器和微机接口中的关键问题有哪些?
答:
A/D转换器和微机接口时的关键问题主要有6个。① 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转换器的控制和状态信号的类型与特征对接口有很大影响,在设计时必须要注意分析控制和状态信号的使用条件。⑤ 输入模拟电压的连接,特别是多路模拟电压的切换控制。 ⑥ 接地问题,为了减轻数字信号脉冲对模拟信号的干扰,数字地和模拟地要正确连接。
第8章 微计算机总线
1. 采用一种总线标准进行微型计算机的硬件结构设计具有什么优点?
答:为适应用户不断变化的要求,微机系统设计必须采用模块化设计,不同的模块组合形成一定的功能。模块之间的连接关系采用标准的总线结构可使不同功能的模块便于互连,兼容性好、生命周期长。模块采用标准化总线结构设计可使模块的生产供应规模化、多元化、价格低、有利于用户。
2. 一个总线的技术规范应包括哪些部分?
答:总线技术规范应包括:(1)机械结构规范:模块尺寸、总线插头插座形式与结点数以及模块与插头插座的机械定位。(2)功能规范:总线信号名称、功能以及相互作用的协议。(3)电气规范:总线中每个信号工作时的有效电平、动态转换时间、负载能力以及电气性能的额定值与最大值。
3. 总线的定义是什么?简述总线的发展过程。
答:总线就是两个以上模块(或子系统)间传送信息的公共通道,通过它模块间可进行数据、地址码及命令的传输。
最早的标准化总线是S-100总线(1975),80年代初IBM PC/XT个人计算机采用8位ISA总线,之后又在IBM PC/AT机上推出16位ISA总线。随着外设接口对总线性能要求的不断提高,出现了EISA总线及PCI总线。PCI总线目前已被个人计算机广泛采用,成为新的工业标准。
4. 微型计算机系统总线由哪三部分组成?它们各自的功能是什么?
答:由地址总线、数据总线和控制总线三部分组成。地址总线用于指出数据的来源或去向;数据总线提供了模块间数据传输的路径;控制总线用来传送各种控制信号以便控制数据、地址总线的操作及使用。
第9章 先进微处理器介绍
1.提高微处理器性能的途径有哪些?
答:(1)提高芯片内部时钟的工作频率;(2)增加芯片数据总线的宽度,提高微处理器与片外传送数据或指令代码的速率,同时片内的数据路径也必然加宽,内部的数据处理速度会加快。(3)采用能够并行执行指令的微体系结构及其它相关技术。
2.提高微处理器内部执行的并行性有哪些措施?
答:(1)采用超级流水线技术。把指令执行的过程分成很多级,各级所对应的操作可并行进行,即多条指令在同一时刻完成不同级的操作,实现了指令的并行执行。流水线级分的越多,可并行执行的指令条数也越多。(2)采用超标量技术。在芯片内部设置多重功能相同或接近的功能部件,同一时刻可向多个功能部件分派指令去流水执行,实现了指令执行的并行化。
3.奔腾微处理器采用什么技术来提高指令执行的效率?
答:第一代奔腾微处理器采用了超标量结构来提高指令执行的效率。它内部设有两条流水线,一个时钟周期内可发射两条整数指令给两条流水线去执行,另外还有一个浮点部件可执行浮点指令。这种多重功能部件的结构就是一种超标量的结构。
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。
相关文章:
《政府公共关系》形成性考核册作业04-30
《政府公共关系》形成性考核册作业最新04-30
《推销策略与艺术导读》形成性考核册作业04-30
《招投标与合同管理》形成性考核1-404-30
《推销策略与艺术》形成性考核册作业04-30