微机原理与接口技术课后答案

上传人:tia****g98 文档编号:159227423 上传时间:2022-10-08 格式:DOC 页数:30 大小:269.51KB
收藏 版权申诉 举报 下载
微机原理与接口技术课后答案_第1页
第1页 / 共30页
微机原理与接口技术课后答案_第2页
第2页 / 共30页
微机原理与接口技术课后答案_第3页
第3页 / 共30页
资源描述:

《微机原理与接口技术课后答案》由会员分享,可在线阅读,更多相关《微机原理与接口技术课后答案(30页珍藏版)》请在装配图网上搜索。

1、微机原理与接口技术课后答案第一章作业习题课2.微处理器,微型计算机,微型计算机系统有什么联系与区别? 微处理器只是一个中央处理器(CPU),由算术逻辑部件(ALU),累加器和通用寄存器组,程序计数器,时序和控制逻辑部件,内部总线等组成。微处理器不能构成独立工作的系统,也不能独立执行程序,必须配上存储器,外部输入、输出接口构成一台微型计算机方能工作。 微型计算机由CPU,存储器,输入/输出接口电路和系统总线组成。它已具有计算功能,能独立执行程序,但若没有输入/输出设备,数据及程序不能输入,运算结果无法显示或输出,仍不能正常工作。 以微型计算机为主体,配上外部输入/输出设备及系统软件就构成了微型计

2、算机系统。没有配置软件的计算机称为裸机,仍然什么工作也不能做,必须配置系统软件和应用软件,这样才可以正常提供使用。3.微处理器有哪些主要部件组成?其功能是什么? 微处理器是中央处理器(CPU)。它是由算术逻辑部件(ALU),累加器和寄存器组,指令指针寄存器IP,段寄存器,时序和控制逻辑部件,内部总线等组成。微处理器主要部件作用: 算术逻辑部件主要完成算术运算及逻辑运算。 通用寄存器组用来存放参加运算的数据、中间结果或地址。 程序计数器指向要执行的下一条指令,顺序执行指令时,每取一个指令字节,程序计数器加1。 控制逻辑部件负责对整机的控制,包括从存储器中取指令,对指令进行译码和分析,确定指令的操

3、作及操作相应的控制信号和时序,送到微型计算机的其他部件,使CPU内部及外部协调工作。 内部总线用来传送CPU内部的数据及控制信号。第二章 作业习题课1.8086CPU由哪两部分组成?它们的主要功能是什么? 8086CPU由总线接口部件BIU和指令执行部件EU组成,BIU和EU的操作是并行的。 总线接口部件BIU的功能:地址形成、取指令、指令排队、读/写操作数和总线控制。所有与外部的操作由其完成。 指令执行部件EU的功能:指令译码,执行指令。2.8086CPU中有哪些寄存器?各有什么用途? 8086CPU的寄存器有通用寄存器组、指针和变址寄存器、段寄存器、指令指针寄存器及标志位寄存器PSW。 4

4、个16位通用寄存器,它们分别是AX,BX,CX,DX,用以存放16位数据或地址。也可分为8个8位寄存器来使用,低8位是AL、BL、CL、DL,高8位是AH、BH、CH、DH,只能存放8位数据,不能存放地址。 指针和变址寄存器存放的内容是某一段内地址偏移量,用来形成操作数地址,主要在堆栈操作和变址运算中使用。 段寄存器给出相应逻辑段的首地址,称为“段基址”。段基址与段内偏移地址结合形成20位物理地址。 指令指针寄存器用来存放将要执行的下一条指令在现行代码中的偏移地址。 16位标志寄存器PSW用来存放运算结果的特征,常用作后续条件转移指令的转移控制条件。4.要完成下述运算或控制,用什么标志位判断?

5、其值是什么?比较两数是否相等? 将两个数相减,当全零标志位ZF=1时,说明两个数相等,当ZF=0时,两数不等。两数运算后结果是正数还是负数? 用符号标志位SF来判断,SF=1,为负数;SF=0,为正数。两数相加后是否溢出? 用溢出标志位来判断,OF=1,产生溢出;OF=0,没有溢出。采用偶校验方式。判定是否要补“1”? 用奇偶校验标志位判断,有偶数个“1”时,PF=1,不需要补“1”;有奇数个“1”时,PF=0,需要补“1”。(5)两数相减后比较大小?l ZF=1时,说明两数是相等的;l ZF=0时:无符号数时,CF=0,被减数大;CF=1,被减数小。带符号数时,SF=OF=0或SF=OF=1

6、,被减数大;SF=1,OF=0或SF=0,OF1,被减数小。(6)中断信号能否允许?用中断标志位来判断,IF=1,允许CPU响应可屏蔽中断;IF=0,不响应。5.要完成下述运算或控制,用什么标志位判断?其值是什么?比较两数是否相等? 将两数相减,当全零标志位ZF=1时,说明两数相等,当ZF=0时,两数不等。两数运算后结果是正数还是负数? 用符号标志位SF来判断,SF=1,为负数;SF=0,为正数。两数相加后是否溢出? 用溢出标志位来判断,OF=1,产生溢出;OF=0,没有溢出。采用偶校验方式。判定是否要补“1”? 用奇偶校验标志位判断,有偶数个“1”时,PF=1,不需要补“1”;有奇数个“1”

7、时,PF=0,需要补“1”。(5)两数相减后比较大小?l ZF=1时,说明两数是相等的;l ZF=0时:无符号数时,CF=0,被减数大;CF=1,被减数小。带符号数时,SF=OF=0或SF=OF=1,被减数大;SF=1,OF=0或SF=0,OF1,被减数小。(6)中断信号能否允许? 用中断标志位来判断,IF=1,允许CPU响应可屏蔽中断;IF=0,不响应。6.8086系统中存储器采用什么结构?用什么信号来选中存储体? 8086存储器采用分体式结构:偶地址存储体和奇地址存储体,各为512k。 用A0和BHE来选择存储体。当A0=0时,访问偶地址存储体;当BHE=0时,访问奇地址存储体;当A0=0

8、,BHE=0时,访问两个存储体。9.实模式下,段寄存器装入如下数据,写出每段的起始和结束地址。 a)1000H 10000H1FFFFH b)1234H 12340H2233FH c)2300H 23000H32FFFH d)E000H E0000HEFFFFH e)AB00H AB000HBAFFFH10.在实模式下对下列CS:IP的组合,求出要执行的下一条指令的存储器地址。 a) CS:IP=1000H:2000H 12000H b) CS:IP=2000H:1000H 21000H c) CS:IP=1A00H:B000H 25000H d) CS:IP=3456H:AB09H 3F06

9、9H11.实模式下,求下列寄存器组合所寻址的存储单元地址: a) DS=1000H,DI=2000H 12000H b) SS=2300H,BP=3200H 26200H c) DS=A000H,BX=1000H A1000H d) SS=2900H,SP=3A00H 2CA00H 12. 若当前SS3500H,SP0800H,说明堆栈段在存储器中的物理地址,若此时入栈10个字节,SP内容是什么?若再出栈6个字节,SP为什么值? 堆栈段的物理地址范围:35000H44FFFH 当前栈顶的物理地址为:35000H+0800H=35800H 入栈10个字节以后:SP=0800H-000AH=07F

10、6H 出栈6个字节以后:SP=07F6H+0006H=07FCH 13. 某程序数据段中存放了两个字,1EE5H和2A8CH,已知DS7850H,数据存放的偏移地址为3121H及285AH。试画图说明它们在存储器中的存放情况。若要读取这个两个字,需要对存储器进行几次操作? 它们的物理地址分别是:78500H+3121H=7B621H,78500H+285AH=7AD5AH。 1EE5H的偏移地址是3121H,是奇地址,需要进行两次操作;2A8CH的偏移地址是285AH,是偶地址,需要一次操作。15. 说明8086系统中“最小模式”和“最大模式”两种工作方式的主要区别是什么? 最小模式为单机系统

11、,系统中所需要的控制信号由CPU提供,实现和存储器及I/O接口电路的连接。 最大模式可以构成多处理器/协处理器系统,即一个系统中存在两个以上微处理器,每个处理器执行自己的程序。系统中所需要的控制信号由总线控制器8288提供,8086CPU提供信号控制8288,以实现全局资源分配及总线控制权传递。在两种模式中,CPU的2431引脚意义不同。 最小模式中引脚MN/MX接5V,最大模式中该引脚接地。16. 8086系统中为什么要用地址锁存器?8282地址锁存器与CPU如何连接? CPU与存储器(或者I/O端口)进行数据交换时,CPU首先要送出地址信号,然后再发出控制信号及传送数据。由于8086引脚的

12、限制,地址和数据分时复用一组总线,所以要加入地址锁存器,先锁存地址,使在读/写总线周期内地址稳定。 8282是三态缓冲的8位数据交换锁存器,由选通信号STB与CPU的地址锁存允许信号ALE相连,当STB端选通信号出现,8位输入数据锁存到8个D触发器中。17.哪个标志位控制CPU的INTR引脚? 中断允许标志位IF控制INTR引脚的中断输入。18.什么叫总线周期?在CPU读/写总线周期中,数据在哪个机器状态出现在数据总线上? 总线周期:BIU完成一次访问存储器或I/O端口操作所需要的时间。 读总线周期,在T3或TW状态数据出现在数据总线上;写总线周期,在T2状态数据出现在数据总线上。20.808

13、6CPU重新启动后,从何处开始执行指令? 从内存的FFFF0H开始执行指令。21.8086CPU最小模式系统配置包括哪几部分? 包括时钟发生器、地址锁存器、数据收发器、存储器及I/O接口。 补充题1:已知段地址和偏移地址分别为2015H和0028H,此存储单元的物理地址是什么? 存储单元的物理地址:20150H+0028H=20178H 补充题2: 若CSA000H,求当前代码在存储器中的物理地址范围是什么?若数据段位于52000H到61FFFH的64K范围内,问DS=? 物理地址范围:A0000HAFFFFH,DS=5200H。微机原理与接口技术第三章作业习题课2. DS=1000H, BX

14、=0200H, SI=0002H (10200H10205H)依次存有10H,2AH,3CH,46H,59H,6BH(1)MOV AX, 0200H ; AX=0200(2)MOV AX, 200H 物理地址=1000H10H+0200H=10200H, AX=2A10H(3)MOV AX, BX ; AX=0200H(4)MOV AX , 3BX 物理地址=1000H10H +0200H+3H=10203H, AX=5946H(5)MOV AX , BX+SI 物理地址=1000H10H+0200H +2H=10202H , AX=463CH(6)MOV AX, 2BX+SI 物理地址=10

15、00H10H +200H+2H+2H=10204H , AX=6B59H3DS=1000H, ES=2000H, SS=3500H, SI=00A0H, DI=0024H, BX=0100H, BP=0200H, VAL=0030H (1)MOV AX,100H 直接寻址方式,10100H 物理地址DS10H+100H=10000H+0100H=10100H(2)MOV AX,VAL 直接寻址方式,10030H 物理地址DS10H+VAL=10000H+0030H=10030H (3)MOV AX,BX 寄存器间接寻址,10100H 物理地址DS10H+BX=10000H+0100H=1010

16、0H (4)MOV AX,ES:BX 寄存器间接寻址,20100H 物理地址ES10H+BX=20000H+0100H=20100H (5)MOV AX,SI 寄存器间接寻址,100A0H物理地址=DS10H+SI=10000H+00A0H=100A0H(6)MOV AX,BX+10H 寄存器相对寻址,10110H物理地址=DS10H+BX+10H=10000H+0100H+10H=10110H(7)MOV AX,BP 寄存器间接寻址,35200H物理地址=SS10H+BP=35000H+0200H=35200H(8)MOV AX,VALBPSI相对基址变址寻址,352D0H物理地址=SS10

17、H+BP+SI+VAL =35000H+0200H+00A0H+0030H=352D0H(9)MOV AX,VALBXDI相对基址变址寻址,10154H物理地址=DS10H+BX+DI+VAL =10000H+0100H+0024H+0030H=10154H(10)MOV AX,BPDI基址变址寻址,35224H物理地址=SS10H+BP+DI =35000H+0200H+0024H=35224H6(1)MOVDL,AX 错,寄存器寻址方式中,目的操作数与源操作数长度必须一致(2)MOV 8650H,AX 错,目的操作数不可以是立即数(3)MOVDS,0200H 错,MOV指令不允许将立即数传

18、入段寄存器(4)MOVBX,1200H 错, MOV指令的两个操作数不能同时为存储器(5)MOVIP,0FFH 错, IP不能作为MOV指令的目的操作数(6)MOVBX+SI+3,IP 错, IP不能作为MOV指令的源操作数(7)MOVAX,BXBP 错,BX与BP不可以同时出现在源操作数当中(8)MOVAL,ES:BP 对(9)MOVDL,SIDI 错,SI与DI是两个变址寄存器,不可以同时出现在源操作数中。(10)MOV AX,OFFSET 0A20H 错,OFFSET后面跟的应该是符号地址,再把符号地址的值作为操作数。(11)MOV AL,OFFSET TABLE 错,TABLE的偏移地

19、址是16位,目的与源长度不一致(12)XCHGAL,50H 错,交换指令可以在寄存器之间,寄存器和存储器之间进行,不可以是立即数。(13)INBL,05H 错, BL不能作为IN指令的目的操作数,只能用AL或AX(14)OUTAL,0FFEH 错,端口地址0FFEHFFH, 应用DX间接寻址, 同时源操作数和目标操作数的位置颠倒了,应改为OUT DX, AL。10. ARRAY DB NEWDB 7 DUP(?) SUM DW 0 AVERAGEDB 0 (1)MOVCX,07H MOVBX,00H NEXT: MOVAL,ARRAYBX ADDAL,5 DAA MOVNEWBX,AL INC

20、BX LOOPNEXTHLT(2) MOVCX,06H MOVBX,01HMOVAH,00H MOV AL,ARRAY L1: ADD AL,ARRAYBX DAA ADCAH,00H;将进位加到AH中 INCBX LOOP L1MOVSUM,AX(3)MOVDX,SUM; DX=0H(BCD码)MOVBL,07HMOVAX,DX; 取千位、百位数ANDAL,0F0HMOVCL,04HROLAL,CL; AX=00HAAD; ALAH10AL, AH00 DIVBL;十位商在AL中,余数在AH中MOVAVERAGE+1, AL;存平均成绩十位MOVAL,DL;取个位和数ANDAL,0FHAAD

21、; ALAH10AL, AH00 DIVBL;个位商在AL中,余数在AH中MOVAVERAGE,AL;存平均成绩个位MOVAVERAGE+2, AH; 存余数11.AX=2508H,BX=0F36H,CX=0004H,DX=1864H(1)ANDAH,CLAH=04H,CF=0;(0010 0101B与0000 0100B)(2)ORBL,30HBL=36H,CF=0;(0011 0110B或0011 0000B) (3)NOTAXAX=DAF7H,CF无影响;(0010 0101 0000 1000B取反后1101 1010 1111 0111B) (4)XORCX,0FFF0HCX=FFF

22、4H,CF=0;(0000 0000 0000 0100B和1111 1111 1111 0000B异或后1111 1111 1111 0100B) (5)TEST DH,0FHTEST操作并不修改结果,CF=0; (6)CMPCX,00HCMP操作并不修改结果,CF=0;(7)SHRDX,CLDX=0186H,CF=0;(8)SARAL,1AH=04H,CF=0;(9)SHLBH,CLBH=F0H,CF=0;(10)SALAX,1AX=4A10H,CF=0;( 0010 0101 0000 1000B 左移)(11)RCLBX,1若程序执行之前CF=0,BX=1E6CH,CF=0; 若程序执

23、行之前CF=1,BX=1E6DH,CF=0。(12)ROR DX,CLDX=4186H,CF=0。 12DATASEGMENT STRING DB The personal computer & TV DATA ENDSEDATA SEGMENTGET_CHARDB26DUP(?) NEW_STRDBThe computer EDATA ENDS (1)MOV SI,OFFSET STRING MOV DI,OFFSET GET_CHAR MOV CX, 001AH CLD REPMOVSB(2) MOVSI,OFFSET STRING MOVDI,OFFSET NEW_STR MOV CX,

24、001AH CLD REPZCMPSB;DS:SI-ES:DI JNECLR_AL MOVAL,1 JMP SET_BL CLR_AL:MOVAL,0 SET_BL:MOVBL,001AHSUBBL,CLHLT(3)MOVDI,OFFSETSTRING MOVCX,001AH MOVAL,& CLDL1: SCASB;AL-ES:DI JZ FINDNEXT:LOOPL1HLTFIND: MOV BL, MOV DI-1,BL; 用空格替换& JMPNEXT(4)MOV SI,OFFSET STRING;数据段,源串 MOV DI,OFFSET CAPS;附加段,大写字符 MOV BX,OFF

25、SET CHART;附加段,其它字符 MOV CX,001AH CLD L1: LODSB ;ALDS:SIMOVSI-1,00H; 取出字符后该单元清零 CMPAL,A JBOTHER CMPAL,ZJAOTHERSTOSB; 存大写字符JMPL2 OTHER: XCHGBX,DI; 存其它字符 STOSB XCHG BX,DI L2: LOOPL1 HLT 13.(1)JMPPROG_N 段内直接近转移,目的地址为1200H:0278H(或12278H) (2)JMPBX 段内寄存器间接转移,目的地址为1200H:0300H(或12300H) (3)JMPBX 物理地址DS10H+BX=2

26、000H10H+0300H=20300H (20300H)=4800HIP 段内存储器间接转移,目的地址为1200H:4800H(或16800H) (4)JMPFARPROG_F 段间立接转移,目的地址为3400H:0ABCH(或34ABCH) (5)JMPDWORDPTRBX 物理地址DS10H+BX=2000H10H+0300H=20300H (20300H)=4800HIP,(20302H)=00FFHCS 段间存储器间接转移,目的地址为00FFH:4800H(或057F0H)JMP改为CALL后,目的地址与JMP相同。(1)CALLPROG_N段内直接调用,3字节指令,0103H入栈(

27、2)CALLBX段内寄存器间接调用,2字节指令,0102H入栈(3)CALLBX段内存储器间接调用,2字节指令,a0102H入栈(4)CALLFARPROG_F段间直接调用,5字节指令,1200H和0105H分别入栈(5)CALLDWORDPTRBX段间间接调用,2字节指令,1200H和0102H分别入栈15.(1)LOOPNEXT (2)LOOPENEXT (3)LOOPNENEXTSTART:MOVAX,01HMOVBX,02HMOVDX,03HMOVCX,04HNEXT:INCAXADDBX,AXSHRDX,1() 程序运行前 DX=00000011B (1)AX=05H BX=10H

28、CX=00H DX=00H (2)AX=02H BX=04H CX=03H DX=01H (3)AX=03H BX=07H CX=02H DX=00H第四章作业习题课1.下列变量各占多少字节?A1DW23H, 5876HA2DB3 DUP(?), 0AH, 0DH, $A3DD5 DUP(1234H, 567890H)A4DB4 DUP(3 DUP(1, 2, ABC)解:A1变量占4个字节; A2变量占6个字节; A3变量占5840个字节; A4变量占43560个字节;3.有符号定义语句如下:BUFDB3, 4, 5, 123ABUFDB0LEQUABUF-BUF求L的值为多少?解:BUF共

29、定义了6个字节,则ABUF的地址为ABUF+6,因此L的值为6。19应考虑数组中可能出现多个0的情况 程序如下:EDATASEGMENT;定义数据段BUFFDBN, XXH, MEQU0EDATAENDS;STACKSEGMENTSTACK;定义堆栈段DW50H DUP(?)TOPLABELWORDSTACKENDS;CODESEGMENT;定义代码段 ASSUME CS:CODE, ES:EDATA, DS:EDATA, SS:STACKMAINPROC FARSTART:MOVAX,STACK;初始化堆栈段MOVSS,AXMOVSP,OFFSET TOPPUSHDS;程序段前缀MOVAX,

30、0PUSHAXMOVAX,EDATA;初始化ES,DSMOVES,AXMOVDS,AXMOVAL,M;关键字M存入AXMOVDI,OFFSET BUFFMOVCX,DI;数组长度存入CXINCDI;指向数组起始地址CLD;清方向标志 L1:REPNE SCASB;重复搜索关键字JNZSTOP;未找到,转STOP结束JCXZSTOP;最后一个数是M,转STOPPUSHDI;关键字下一单元地址和循PUSHCX;环次数入栈保护DEL:MOVBL,DI;前移,末尾补0MOVDI-1,BLINCDILOOPDELMOVDI,0POPCX;恢复CX,DIPOPDIDECDI ;由于REPNE SCASB已

31、自动加1JMPL1STOP:RETMAINENDPCODEENDSENDSTART22设学生人数为字节,成绩为压缩BCD码,且都是合法的。 程序如下:EDATA SEGMENT;定义数据段BUFF DBXXH,ANUM EQU$BUFFSNUM DB5 DUP(0) ;存放各类成绩统计结果BUFF1 DBANUM DUP(0);存放60分以下成绩BUFF2 DBANUM DUP(0);存放6069分成绩BUFF3 DBANUM DUP(0);存放7079分成绩BUFF4 DBANUM DUP(0);存放8089分成绩BUFF5 DBANUM DUP(0);存放90分以上成绩EDATA ENDS

32、STACK SEGMENTSTACK;定义堆栈段DW50H DUP(?)TOPLABELWORDSTACK ENDS CODE SEGMENT;定义代码段 ASSUME CS:CODE, ES:EDATA, DS:EDATA, SS:STACKMAIN PROCFARSTART:MOVAX,STACK;初始化堆栈段MOVSS,AXMOVSP,OFFSET TOPPUSHDS;程序段前缀MOVAX,0PUSHAXMOVAX,EDATA;初始化ES,DSMOVES,AXMOVDS,AXMOVCL,ANUM;取学生人数MOVCH,0MOVBH,0 MOVSI,OFFSET BUFF;成绩偏移地址SI

33、MOVDI,OFFSET SNUM;统计结果偏移地址DIL1:MOVAL,SI;取成绩ALCMPAL,60H;与60分比较JAENEXT1;高于等于60分,转NEXT1MOVBL,DI;低于60分存入相应区域MOVBUFF1BX,ALINCBYTE PTR DI;60分计数单元加1JMPNEXT5;转NEXT5NEXT1:CMPAL,69H;与69分比较JANEXT2MOVBL,DI+1;6069分存入相应区域MOVBUFF2BX,ALINCBYTE PTR DI+1;6069分计数单元加1JMPNEXT5NEXT2:CMPAL,79HJANEXT3MOVBL,DI+2MOVBUFF2BX,A

34、LINCBYTE PTR DI+2JMPNEXT5NEXT3:CPMAL,89HJANEXT4MOVBL,DI+3MOVBUFF3BX,ALINCBYTE PTR DI+3JMPNEXT5NEXT4:MOVBL,DI+4MOVBUFF4BX,ALINCBYTE PTR DI+4 NEXT5:INCSI;地址指针加1LOOPL1;未判断完转L1RETMAINENDPCODEENDSENDSTART第五章作业习题课1.答:静态RAM速度非常快,只要电源存在内容就不会自动消失。它的基本存储电路为6个MOS管组成1位,因此集成度相对较低,功耗也较大。一般,高速缓冲存储器用它组成。 DRAM的内容在10

35、-3或10-6秒之后自动消失,因此必须周期性的在内容消失之前进行刷新。由于它的基本存储电路由一个晶体管及一个电容组成,因此它的集成度高,成本较低,另外耗电也少,但它需要一个额外的刷新电路。DRAM运行速度较慢,SRAM比DRAM要快25倍,一般,PC机的标准存储器都采用DRAM组成。 2.答:掩膜型ROM中信息是厂家根据用户给定的程序或数据,对芯片图形掩膜进行两次光刻而写入的,用户对这类芯片无法进行任何修改。 PROM出厂时,里面没有信息,用户采用一些设备可以将内容写入PROM,一旦写入,就不能再改变了,即只允许编程一次。 EPROM可编程固化程序,且在程序固化后可通过紫外光照擦除,以便重新固

36、化新数据。 EEPROM可编程固化程序,并可利用电压来擦除芯片内容,以重新编程固化新数据。 7.答:由于所用的芯片为10241位,构成10248位(即1K8位)的存储器需要8片,因此组成16K8位的存储器需要168128片。 片内有1024个单元,需要10根地址线。 16组(每组8片)存储器需要16根片选信号,至少需要4根地址线经译码器输出。 示意图如下: 13. C B AA19 A18 A17 A16 A15 A14 A13A01 0 0 0 0 0 Y0有效8000083FFFH1 0 0 0 0 1 Y1有效8400087FFFH1 0 0 0 1 0 Y2有效880008BFFFH1

37、 0 0 0 1 1 Y3有效8C0008FFFFH第六章作业习题课P2621.答:CPU和外设之间的信息交换存在以下一些问题:速度不匹配;信号电平不匹配;信号格式不匹配;时序不匹配。 I/O接口电路是专门为解决CPU与外设之间的不匹配、不能协调工作而设置的,处于总线和外设之间,一般应具有以下基本功能:设置数据缓冲以解决两者速度差异所带来的不协调问题;设置信号电平转换电路,如可采用MC1488、MC1489、MAX232、MZX233芯片来实现电平转换。设置信息转换逻辑,如模拟量必须经 A/D变换成数字量后,才能送到计算机去处理,而计算机送出的数字信号也必须经D/A变成模拟信号后,才能驱动某些

38、外设工作。 设置时序控制电路;提供地址译码电路。3.答: CPU与外设通信时,传送的信息主要包括数据信息、状态信息和控制信息。在接口电路中,这些信息分别进入不同的寄存器,通常将这些寄存器和它们的控制逻辑统称为I/O端口,CPU可对端口中的信息直接进行读写。在一般的接口电路中都要设置以下几种端口: 数据端口:用来存放外设送往CPU的数据以及CPU要输出到外设去的数据。数据端口主要起数据缓冲的作用。 状态端口:主要用来指示外设的当前状态。每种状态用1位表示,每个外设可以有几个状态位,它们可由CPU读取,以测试或检查外设的状态,决定程序的流程。 命令端口:也称为控制端口,它用来存放CPU向接口发出的

39、各种命令和控制字,以便控制接口或设备的动作。 I/O端口的编址方式有两种:分别称为存储器映象寻址方式和I/O指令寻址方式。 存储器映象寻址方式:把系统中的每个I/O端口都看作一个存储单元,并与存储单元一样统一编址,这样访问存储器的所有指令均可用来访问I/O端口,不用设置专门的I/O指令。 I/O指令寻址方式:对系统中的输入输出端口地址单独编址,构成一个I/O空间,它们不占用存储空间,而是用专门的IN指令和OUT指令来访问这种具有独立地址空间的端口。 8086/8088CPU采用I/O指令寻址方式,用地址总线的低16位(A15A0)来寻址I/O端口,最多可以访问21665536个输入或输出端口。

40、 4.答:CPU与外设之间的数据传输数据采用程序控制方式、中断方式、DMA方式等三种。 程序控制传送方式:CPU与外设之间的数据传送是在程序控制下完成的。无条件传送方式:也称为同步传送方式,主要用于对简单外设进行操作,或者外设的定时是固定的或已知的场合。 条件传送:也称为查询式传送方式,在开始传送前,必须先查询外设已处于准备传送数据的状态,才能进行传送。 采用中断方式:CPU平时可以执行主程序,只有当输入设备将数据准备好了,或者输出端口的数据缓冲器已空时,才向CPU发中断请求。CPU响应中断后,暂停执行当前的程序,转去执行管理外设的中断服务程序。在中断服务程序中,用输入或输出指令在CPU和外设

41、之间进行一次数据交换。等输入或输出操作完成之后,CPU又回去执行原来的程序。 DMA方式:也要利用系统的数据总线、地址总线和控制总线来传送数据。原先,这些总线是由CPU管理的,但当外设需要利用DMA方式进行数据传送时,接口电路可以向CPU提出请求,要求CPU让出对总线的控制权,用DMA控制器来取代CPU,临时接管总线,控制外设和存储器之间直接进行高速的数据传送。这种控制器能给出访问内存所需要的地址信息,并能自动修改地址指针,也能设定和修改传送的字节数,还能向存储器和外设发出相应的读/写控制信号。在DMA传送结束后,它能释放总线,把对总线的控制权又交还给CPU。 8.答:将用于各部件之间传送信息

42、的公共通路称为总线。 根据总线中信息传送的类型可分为地址总线、数据总线和控制总线,此外还有电源线和地线 若按总线的规模、用途和应用场合,则可以分成: 片级总线也叫做元件级总线,是由芯片内部通过引脚引出的总线,用于芯片一级的互连线。它实现CPU主板或其它插件板上的各种芯片间的互连。 系统总线也叫内总线或板级总线,它用于微型计算机中各插件板之间的连线,也就是通常所说的微机总线。 外部总线也称为通信总线,它用于微型计算机系统之间,或微型计算机系统与其它电子仪器或设备之间的通信。 对于制造厂家来说,只要按总线接口规范设计CPU主板、I/O接口板或存储器插件板,然后将插件板插入主机的总线扩展槽中,就可构

43、成系统,很适合于大批量生产、组装和调试,也便于更新和扩充系统。 对于用户来说,可根据自身需要,灵活地选购接口板或存储器插件,来组装成适合自己的应用需要的系统或更新原有系统。第七章作业习题课 P3021. 【答】:当CPU正常运行程序时,由于微处理器内部事件或外设请求,引起CPU中断正在运行的程序,转去执行请求中断的外设(或内部事件)的中断服务子程序,中断服务程序执行完毕,再返回被中止的程序,这一过程称为中断。 可屏蔽中断由引脚INTR引入,采用电平触发,高电平有效,INTR信号的高电平必须维持到CPU响应中断才结束。可以通过软件设置来屏蔽外部中断,即使外部设备有中断请求,CPU可以不予响应。当

44、外设有中断申请时,在当前指令执行完后,CPU首先查询IF位,若IF0,CPU就禁止响应任何外设中断;若IF1,CPU就允许响应外设的中断请求。 不可屏蔽中断由引脚NMI引入,边沿触发,上升沿之后维持两个时钟周期高电平有效。不能用软件来屏蔽的,一旦有不可屏蔽中断请求,如电源掉电等紧急情况,CPU必须予以响应。 4. 【答】:CPU响应中断要有三个条件:外设提出中断申请;本中断位未被屏蔽;中断允许。 可屏蔽中断处理的过程一般分成几步:中断请求;中断响应;保护现场;转入执行中断服务子程序;恢复现场和中断返回。 CPU在响应外部中断,并转入相应中断服务子程序的过程中,要依次做以下工作: 从数据总线上读

45、取中断类型号,将其存入内部暂存器。 将标志寄存器PSW的值入钱。 将PSW中的中断允许标志IF和单步标志TF清0,以屏蔽外部其它中断请求,避免CPU以单步方式执行中断处理子程字。 保护断点,将当前指令下面一条指令的段地址CS和指令指针IP的值入栈,中断处理完毕后,能正确返回到主程序继续执行。 根据中断类型号到中断向量表中找到中断向量,转入相应中断服务子程序。 中断处理程序结束以后,从堆栈中依次弹出IP、CS和PSW,然后返回主程序断点处,继续执行原来的程序。 5. 【答】:由于响应中断时CPU自动关闭中断(IF0),故在中断服务子程序中STI指令后方可实现中断嵌套。一般在中断服务子程序中保护现

46、场后即设置开中断指令STI(IF1),以便实现中断嵌套。6. 【答】:中断结束命令EOI后,清除中断服务寄存器中的标志位,即允许响应同级或低级中断,为避免错误,一般将中断结束命令EOI置于中断服务子程序结束前。7. 【答】:中断向量表又称中断服务程序入口地址表。将每个设备的中断服务程序入口地址(矢量地址)集中,依次放在中断向量表中。当CPU响应中断后,控制逻辑根据外设提供的中断类型号查找中断向量表,然后将中断服务程序的入口地址送到段寄存器和指令指针寄存器,CPU转入中断服务子程序。这样大大加快中断处理的速度。 8086/8088系统允许处理256种类型的中断,对应类型号为0FFH。在存储器的0

47、0000H003FFH,占1K字节空间,用作存放中断向量。每个类型号占4个字节,高2个字节存放中断入口地址的段地址,低2个字节存放段内偏移地址。 (1)中断向量表形成MOVAX,1000HMOVDS,AX;DS中为段地址MOVDX,5020H;DX中为偏移地址MOVAL,50H;中断类型号为50HMOVAH,25HINT21H;设置类型号50H的中断向量MOVDX,6100HMOVAL,52HINT21H;设置类型号52H的中断向量MOVDX,3250HMOVAL,54HINT21H;设置类型号54H的中断向量(2)8259A初始化编程:设8259A的端口地址为FFC8H和FFC9HMOVAL

48、,00010011B(13H);定义ICW1,单独使用,边沿触发MOVDX,0FFC8HOUTDX,AL;发ICW1命令MOVAL,50H;IR0的中断类型号为50HMOVDX,0FFC9HOUTDX,AL;发ICW2命令MOVAL,00000001B;定义ICW4,完全嵌套,非缓冲OUTDX,ALMOVAL,11101010B(0EAH);定义OCW1,允许IR0、IR2、OUTDX,AL;IR4中断,其余中断请求屏蔽(3)中断服务子程序PUSHAX;保护现场STI;开中断;中断处理CLI;关中断MOVAL,20H;定义OCW2,普通EOI结束命令MOVDX,0FFC8HOUTDX,ALPO

49、PAX;恢复现场IRET;中断返回(1)中断向量表形成MOVAX,2000HMOVDS,AX;DS中为段地址MOVDX,1800H;DX中为偏移地址MOVAL,83H;中断类型号为83HMOVAH,25HINT21H;设置类型号83H的中断向量MOVDX,2800HMOVAL,94HINT21H;设置类型号94H的中断向量MOVDX,3800HMOVAL,0A4HINT21H;设置类型号A4H的中断向量(2)主片8259A初始化编程:端口地址为CCF8H和CCFAHMOVAL,00011001B(19H);定义ICW1,主片级联,电平触发MOVDX,0CCF8HOUTDX,AL;发ICW1命令

50、MOVAL,80H;IR0的中断类型号为80HMOVDX,0CCFAHOUTDX,AL;发ICW2命令MOVAL,00100100B(24H);定义ICW3,IR2和IR5接从片OUTDX,ALMOVAL,00000001B(01H);定义ICW4,完全嵌套,非缓冲OUTDX,AL;非自动EOI结束方式MOVAL,11010011B(0D3H);定义OCW1,允许IR2、IR3OUTDX,AL;IR5中断,其余中断请求屏蔽(3)1从片8259A初始化编程:端口地址为FFE8H和FFEAHMOVAL,00011001B(19H);定义ICW1,片从级联,电平触发MOVDX,0FFE8HOUTDX

51、,AL;发ICW1命令MOVAL,90H;IR0的中断类型号为90HMOVDX,0FFEAHOUTDX,AL;发ICW2命令MOVAL,00000010B(02H);定义ICW3,1#从片接主片的IR2OUTDX,ALMOVAL,00000001B(01H);定义ICW4,完全嵌套,非缓冲OUTDX,AL;非自动EOI结束方式MOVAL,11101111B(0EFH);定义OCW1,允许IR4中断,OUTDX,AL;其余中断请求屏蔽(4)2从片8259A初始化编程:端口地址为FFECH和FFEEHMOVAL,00011001B(19H);定义ICW1,片从级联,电平触发MOVDX,0FFECH

52、OUTDX,AL;发ICW1命令MOVAL,0A0H;IR0的中断类型号为A0HMOVDX,0FFEEHOUTDX,AL;发ICW2命令MOVAL,00000101B(05H);定义ICW3,2#从片接主片的IR5OUTDX,ALMOVAL,00000001B(01H);定义ICW4,完全嵌套,非缓冲OUTDX,AL;非自动EOI结束方式MOVAL,11101111B(0EFH);定义OCW1,允许IR4中断,OUTDX,AL;其余中断请求屏蔽第八章作业习题课 P3241. 【答】:8253内部包含3个完全相同的计数器/定时器通道,即02计数通道,对3个通道的操作完全是独立的。8253的每个通道都有6种不同的工作方式。 方式0计数结束中断方式:当对8253的任一个通道写入控制字,并选定工作于方式0时,该通道的输出端OUT立即变为低电平。要使8253能够进行计数,门控信号GATE必须为高电平。经过n十1个脉冲后,计数器减为0,这时OUT引脚由低电平变成高电平。OUT引脚上的高电平信号,一直保持到对该计数器装入新的计数值,或

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!