微型计算机原理与接口技术课后习题答案中科大出版社第三版.ppt_第1页
微型计算机原理与接口技术课后习题答案中科大出版社第三版.ppt_第2页
微型计算机原理与接口技术课后习题答案中科大出版社第三版.ppt_第3页
微型计算机原理与接口技术课后习题答案中科大出版社第三版.ppt_第4页
微型计算机原理与接口技术课后习题答案中科大出版社第三版.ppt_第5页
已阅读5页,还剩105页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

10:32:16,1,第一章作业习题课,安徽科技学院,微机原理与接口技术 郑凤菊,10:32:16,2,微处理器只是一个中央处理器(CPU),由算术逻辑部件(ALU),累加器和通用寄存器组,程序计数器,时序和控制逻辑部件,内部总线等组成。微处理器不能构成独立工作的系统,也不能独立执行程序,必须配上存储器,外部输入、输出接口构成一台微型计算机方能工作。,2.微处理器,微型计算机,微型计算机系统有什么联系与区别?,10:32:16,3,微型计算机由CPU,存储器,输入/输出接口电路和系统总线组成。它已具有计算功能,能独立执行程序,但若没有输入/输出设备,数据及程序不能输入,运算结果无法显示或输出,仍不能正常工作。 以微型计算机为主体,配上外部输入/输出设备及系统软件就构成了微型计算机系统。没有配置软件的计算机称为裸机,仍然什么工作也不能做,必须配置系统软件和应用软件,这样才可以正常提供使用。,10:32:16,4,微处理器是中央处理器(CPU)。它是由算术逻辑部件(ALU),累加器和寄存器组,指令指针寄存器IP,段寄存器,时序和控制逻辑部件,内部总线等组成。,3.微处理器有哪些主要部件组成?其功能是什么?,10:32:16,5,微处理器主要部件作用: 算术逻辑部件主要完成算术运算及逻辑运算。 通用寄存器组用来存放参加运算的数据、中间结果或地址。 程序计数器指向要执行的下一条指令,顺序执行指令时,每取一个指令字节,程序计数器加1。 控制逻辑部件负责对整机的控制,包括从存储器中取指令,对指令进行译码和分析,确定指令的操作及操作相应的控制信号和时序,送到微型计算机的其他部件,使CPU内部及外部协调工作。 内部总线用来传送CPU内部的数据及控制信号。,第二章 作业 习题课,10:32:16,7,1.8086CPU由哪两部分组成?它们的主要功能是什么?,8086CPU由总线接口部件BIU和指令执行部件EU组成,BIU和EU的操作是并行的。 总线接口部件BIU的功能:地址形成、取指令、指令排队、读/写操作数和总线控制。所有与外部的操作由其完成。 指令执行部件EU的功能:指令译码,执行指令。,10:32:16,8,8086CPU的寄存器有通用寄存器组、指针和变址寄存器、段寄存器、指令指针寄存器及标志位寄存器PSW。 4个16位通用寄存器,它们分别是AX,BX,CX,DX,用以存放16位数据或地址。也可分为8个8位寄存器来使用,低8位是AL、BL、CL、DL,高8位是AH、BH、CH、DH,只能存放8位数据,不能存放地址。,2.8086CPU中有哪些寄存器?各有什么用途?,10:32:16,9,指针和变址寄存器存放的内容是某一段内地址偏移量,用来形成操作数地址,主要在堆栈操作和变址运算中使用。 段寄存器给出相应逻辑段的首地址,称为“段基址”。段基址与段内偏移地址结合形成20位物理地址。 指令指针寄存器用来存放将要执行的下一条指令在现行代码中的偏移地址。 16位标志寄存器PSW用来存放运算结果的特征,常用作后续条件转移指令的转移控制条件。,10:32:16,10,比较两数是否相等? 将两数相减,当全零标志位ZF=1时,说明两数相等,当ZF=0时,两数不等。 两数运算后结果是正数还是负数? 用符号标志位SF来判断,SF=1,为负数;SF=0,为正数。,5.要完成下述运算或控制,用什么标志位判断?其值是什么?,10:32:16,11,两数相加后是否溢出? 用溢出标志位来判断,OF=1,产生溢出;OF=0,没有溢出。 采用偶校验方式。判定是否要补“1”? 用奇偶校验标志位判断,有偶数个“1”时,PF=1,不需要补“1”;有奇数个“1”时,PF=0,需要补“1”。,10:32:16,12,(5)两数相减后比较大小? ZF=1时,说明两数是相等的; 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,不响应。,10:32:17,13,8086存储器采用分体式结构:偶地址存储体和奇地址存储体,各为512k。 用A0和BHE来选择存储体。当A0=0时,访问偶地址存储体;当BHE=0时,访问奇地址存储体;当A0=0,BHE=0时,访问两个存储体。,6.8086系统中存储器采用什么结构?用什么信号来选中存储体?,10:32:17,14,9.实模式下,段寄存器装入如下数据,写出每段的起始和结束地址。(未布置!),a)1000H 10000H1FFFFH b)1234H 12340H2233FH c)2300H 23000H32FFFH d)E000H E0000HEFFFFH e)AB00H AB000HBAFFFH,10:32:17,15,10.在实模式下对下列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 3F069H,10:32:17,16,11.实模式下,求下列寄存器组合所寻址的存储单元地址:,a) DS=1000H,DI=2000H 12000H b) SS=2300H,BP=3200H 26200H c) DS=A000H,BX=1000H A1000H d) SS=2900H,SP=3A00H 2CA00H,10:32:17,17,12. 若当前SS3500H,SP0800H,说明堆栈段在存储器中的物理地址,若此时入栈10个字节,SP内容是什么?若再出栈6个字节,SP为什么值? 堆栈段的物理地址范围:35000H44FFFH 当前栈顶的物理地址为:35000H+0800H=35800H 入栈10个字节以后:SP=0800H-000AH=07F6H 出栈6个字节以后:SP=07F6H+0006H=07FCH,10:32:17,18,13. 某程序数据段中存放了两个字,1EE5H和2A8CH,已知DS7850H,数据存放的偏移地址为3121H及285AH。试画图说明它们在存储器中的存放情况。若要读取这个两个字,需要对存储器进行几次操作?,10:32:17,19,它们的物理地址分别是:78500H+3121H=7B621H,78500H+285AH=7AD5AH。 1EE5H的偏移地址是3121H,是奇地址,需要进行两次操作;2A8CH的偏移地址是285AH,是偶地址,需要一次操作。,10:32:17,20,最小模式为单机系统,系统中所需要的控制信号由CPU提供,实现和存储器及I/O接口电路的连接。,15. 说明8086系统中“最小模式”和“最大模式”两种工作方式的主要区别是什么?,10:32:17,21,最大模式可以构成多处理器/协处理器系统,即一个系统中存在两个以上微处理器,每个处理器执行自己的程序。系统中所需要的控制信号由总线控制器8288提供,8086CPU提供信号控制8288,以实现全局资源分配及总线控制权传递。在两种模式中,CPU的2431引脚意义不同。 最小模式中引脚MN/MX接5V,最大模式中该引脚接地。,10:32:17,22,CPU与存储器(或者I/O端口)进行数据交换时,CPU首先要送出地址信号,然后再发出控制信号及传送数据。由于8086引脚的限制,地址和数据分时复用一组总线,所以要加入地址锁存器,先锁存地址,使在读/写总线周期内地址稳定。,16. 8086系统中为什么要用地址锁存器?8282地址锁存器与CPU如何连接?,10:32:17,23,8282是三态缓冲的8位数据交换锁存器,由选通信号STB与CPU的地址锁存允许信号ALE相连,当STB端选通信号出现,8位输入数据锁存到8个D触发器中。,中断允许标志位IF控制INTR引脚的中断输入。,17.哪个标志位控制CPU的INTR引脚?,10:32:17,24,总线周期:BIU完成一次访问存储器或I/O端口操作所需要的时间。 读总线周期,在T3或TW状态数据出现在数据总线上;写总线周期,在T2状态数据出现在数据总线上。,18.什么叫总线周期?在CPU读/写总线周期中,数据在哪个机器状态出现在数据总线上?,10:32:17,25,20.8086CPU重新启动后,从何处开始执行指令?,从内存的FFFF0H开始执行指令。,21.8086CPU最小模式系统配置包括哪几部分?,包括时钟发生器、地址锁存器、数据收发器、存储器及I/O接口。,10:32:17,26,补充题1:已知段地址和偏移地址分别为2015H和0028H,此存储单元的物理地址是什么? 存储单元的物理地址:20150H+0028H=20178H,补充题2: 若CSA000H,求当前代码在存储器中的物理地址范围是什么?若数据段位于52000H到61FFFH的64K范围内,问DS=? 物理地址范围:A0000HAFFFFH,DS=5200H。,2019年7月12日星期五,第三章作业习题课,杭州电子科技大学自动化学院,微机原理与接口技术,2019年7月12日星期五,2. DS=1000H, BX=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 物理地址=1000H10H +200H+2H+2H=10204H , AX=6B59H,2019年7月12日星期五,3.DS=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=10100H (4)MOV AX, ES:BX 寄存器间接寻址,20100H 物理地址ES10H+BX=20000H+0100H=20100H (5)MOV AX, SI 寄存器间接寻址,100A0H 物理地址=DS10H+SI=10000H+00A0H=100A0H,2019年7月12日星期五,(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 物理地址=SS10H+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=35224H,2019年7月12日星期五,6(1)MOV DL, AX 错,寄存器寻址方式中,目的操作数与源操作数长度必须一致 (2)MOV 8650H, AX 错,目的操作数不可以是立即数 (3)MOV DS, 0200H 错,MOV指令不允许将立即数传入段寄存器 (4)MOV BX, 1200H 错, MOV指令的两个操作数不能同时为存储器 (5)MOV IP, 0FFH 错, IP不能作为MOV指令的目的操作数 (6)MOV BX+SI+3, IP 错, IP不能作为MOV指令的源操作数 (7)MOV AX, BXBP 错,BX与BP不可以同时出现在源操作数当中 (8)MOV AL, ES:BP 对,2019年7月12日星期五,(9)MOV DL, SIDI 错,SI与DI是两个变址寄存器,不可以同时出现在源操作数中。 (10)MOV AX, OFFSET 0A20H 错,OFFSET后面跟的应该是符号地址,再把符号地址的值作为操作数。 (11)MOV AL, OFFSET TABLE 错,TABLE的偏移地址是16位,目的与源长度不一致 (12)XCHG AL, 50H 错,交换指令可以在寄存器之间,寄存器和存储器之间进行,不可以是立即数。 (13)IN BL, 05H 错, BL不能作为IN指令的目的操作数,只能用AL或AX (14)OUT AL, 0FFEH 错,端口地址0FFEHFFH, 应用DX间接寻址, 同时源操作数和目标操作数的位置颠倒了,应改为OUT DX, AL。,2019年7月12日星期五,8. SS=1050H, SP=0100H, AX=4860H, BX=1287H,10:32:17,34,10. ARRAY DB NEW DB 7 DUP(?) SUM DW 0 AVERAGE DB 0 (1) MOV CX, 07H MOV BX, 00H NEXT: MOV AL, ARRAYBX ADD AL, 5 DAA MOV NEWBX,AL INC BX LOOP NEXT HLT,10:32:17,35,(2) MOV CX, 06H MOV BX, 01H MOV AH, 00H MOV AL, ARRAY L1: ADD AL, ARRAYBX DAA ADC AH, 00H ;将进位加到AH中 INC BX LOOP L1 MOV SUM, AX,10:32:17,36,(3)MOV DX, SUM ; DX=0H(BCD码) MOV BL, 07H MOV AX, DX ; 取千位、百位数 AND AL, 0F0H MOV CL, 04H ROL AL, CL ; AX=00H AAD ; ALAH10AL, AH00 DIV BL ;十位商在AL中,余数在AH中 MOV AVERAGE+1, AL ;存平均成绩十位 MOV AL, DL ;取个位和数 AND AL, 0FH AAD ; ALAH10AL, AH00 DIV BL ;个位商在AL中,余数在AH中 MOV AVERAGE, AL ;存平均成绩个位 MOV AVERAGE+2, AH ; 存余数,10:32:17,37,11.AX=2508H,BX=0F36H,CX=0004H,DX=1864H (1)AND AH, CL AH=04H,CF=0;(0010 0101B与0000 0100B) (2)OR BL, 30H BL=36H,CF=0;(0011 0110B或0011 0000B) (3)NOT AX AX=DAF7H,CF无影响;(0010 0101 0000 1000B取反后1101 1010 1111 0111B) (4)XOR CX, 0FFF0H CX=FFF4H,CF=0;(0000 0000 0000 0100B和1111 1111 1111 0000B异或后1111 1111 1111 0100B) (5)TEST DH, 0FH TEST操作并不修改结果,CF=0;,10:32:17,38,(6)CMP CX, 00H CMP操作并不修改结果,CF=0; (7)SHR DX, CL DX=0186H,CF=0; (8)SAR AL, 1 AH=04H,CF=0; (9)SHL BH, CL BH=F0H,CF=0; (10)SAL AX, 1 AX=4A10H,CF=0;( 0010 0101 0000 1000B 左移) (11)RCL BX, 1 若程序执行之前CF=0,BX=1E6CH,CF=0; 若程序执行之前CF=1,BX=1E6DH,CF=0。 (12)ROR DX, CL DX=4186H,CF=0。,10:32:17,39,12.DATA SEGMENT STRING DB The personal computer & TV DATA ENDS EDATA SEGMENT GET_CHAR DB 26DUP(?) NEW_STR DB The computer EDATA ENDS (1) MOV SI, OFFSET STRING MOV DI, OFFSET GET_CHAR MOV CX, 001AH CLD REP MOVSB,10:32:17,40,(2) MOV SI, OFFSET STRING MOV DI, OFFSET NEW_STR MOV CX, 001AH CLD REPZ CMPSB ;DS:SI-ES:DI JNE CLR_AL MOV AL, 1 JMP SET_BL CLR_AL: MOV AL, 0 SET_BL: MOV BL, 001AH SUB BL, CL HLT,10:32:17,41,(3) MOV DI, OFFSET STRING MOV CX, 001AH MOV AL, 用空格替换& JMP NEXT,10:32:17,42,(4) MOV SI, OFFSET STRING ;数据段,源串 MOV DI, OFFSET CAPS ;附加段,大写字符 MOV BX, OFFSET CHART ;附加段,其它字符 MOV CX, 001AH CLD L1: LODSB ;ALDS:SI MOV SI-1, 00H ; 取出字符后该单元清零 CMP AL, A JB OTHER CMP AL, Z JA OTHER STOSB ; 存大写字符 JMP L2 OTHER: XCHG BX, DI ; 存其它字符 STOSB XCHG BX, DI L2: LOOP L1 HLT,10:32:17,43,14.(1)JMP PROG_N 段内直接近转移,目的地址为1200H:0278H(或12278H) (2)JMP BX 段内寄存器间接转移,目的地址为1200H:0300H(或12300H) (3)JMP BX 物理地址DS10H+BX=2000H10H+0300H=20300H (20300H)=4800HIP 段内存储器间接转移,目的地址为1200H:4800H(或16800H) (4)JMP FAR PROG_F 段间立接转移,目的地址为3400H:0ABCH(或34ABCH) (5)JMP DWORD PTRBX 物理地址DS10H+BX=2000H10H+0300H=20300H (20300H)=4800HIP, (20302H)=00FFHCS 段间存储器间接转移,目的地址为00FFH:4800H(或057F0H),10:32:17,44,JMP改为CALL后,目的地址与JMP相同。 (1)CALL PROG_N 段内直接调用,3字节指令,0103H入栈 (2)CALL BX 段内寄存器间接调用,2字节指令,0102H入栈 (3)CALL BX 段内存储器间接调用,2字节指令,0102H入栈 (4)CALL FAR PROG_F 段间直接调用,5字节指令,1200H和0105H分别入栈 (5)CALL DWORD PTRBX 段间间接调用,2字节指令,1200H和0102H分别入栈,10:32:17,45,15.(1)LOOP NEXT (2)LOOPE NEXT (3)LOOPNE NEXT START: MOV AX, 01H MOV BX, 02H MOV DX, 03H MOV CX, 04H NEXT: INC AX ADD BX, AX SHR DX, 1 ( ) 程序运行前 DX=00000011B (1)AX=05H BX=10H CX=00H DX=00H (2)AX=02H BX=04H CX=03H DX=01H (3)AX=03H BX=07H CX=02H DX=00H,10:32:17,46,18.,(1)中断类型号为0040H/4=10H (2)中断服务程序的段地址为D169H,偏移地址为240BH,即D169H:240BH,物理地址为D169H10H240BHD3A9BH,2019年7月12日星期五,第四章作业习题课,杭州电子科技大学自动化学院,微机原理与接口技术,10:32:17,48,1.下列变量各占多少字节? A1 DW 23H, 5876H A2 DB 3 DUP(?), 0AH, 0DH, $ A3 DD 5 DUP(1234H, 567890H) A4 DB 4 DUP(3 DUP(1, 2, ABC) 解:A1变量占4个字节; A2变量占6个字节; A3变量占5840个字节; A4变量占43560个字节;,10:32:17,49,3.有符号定义语句如下: BUF DB 3, 4, 5, 123 ABUF DB 0 L EQU ABUF-BUF 求L的值为多少? 解:BUF共定义了6个字节,则ABUF的地址为ABUF+6,因此L的值为6。,10:32:17,50,19应考虑数组中可能出现多个0的情况 程序如下: EDATA SEGMENT ;定义数据段 BUFF DB N, XXH, M EQU 0 EDATA ENDS ; STACK SEGMENT STACK;定义堆栈段 DW 50H DUP(?) TOP LABEL WORD STACK ENDS ;,10:32:17,51,CODE SEGMENT ;定义代码段 ASSUME CS:CODE, ES:EDATA, DS:EDATA, SS:STACK MAIN PROC FAR START: MOV AX, STACK ;初始化堆栈段 MOV SS, AX MOV SP, OFFSET TOP PUSH DS ;程序段前缀 MOV AX, 0 PUSH AX MOV AX, EDATA ;初始化ES,DS MOV ES, AX MOV DS, AX,10:32:17,52,MOV AL, M ;关键字M存入AX MOV DI, OFFSET BUFF MOV CX, DI ;数组长度存入CX INC DI ;指向数组起始地址 CLD ;清方向标志 L1: REPNE SCASB ;重复搜索关键字 JNZ STOP ;未找到,转STOP结束 JCXZ STOP ;最后一个数是M,转STOP PUSH DI ;关键字下一单元地址和循 PUSH CX ;环次数入栈保护,10:32:17,53,DEL: MOV BL, DI ;前移,末尾补0 MOV DI-1, BL INC DI LOOP DEL MOV DI, 0 POP CX ;恢复CX,DI POP DI DEC DI ;由于REPNE SCASB已自动加1 JMP L1 STOP: RET MAIN ENDP CODE ENDS END START,10:32:17,54,22设学生人数为字节,成绩为压缩BCD码,且都是合法的。 程序如下: EDATA SEGMENT ;定义数据段 BUFF DB XXH, ANUM EQU $BUFF SNUM DB 5 DUP(0) ;存放各类成绩统计结果 BUFF1 DB ANUM DUP(0) ;存放60分以下成绩 BUFF2 DB ANUM DUP(0) ;存放6069分成绩 BUFF3 DB ANUM DUP(0) ;存放7079分成绩 BUFF4 DB ANUM DUP(0) ;存放8089分成绩 BUFF5 DB ANUM DUP(0) ;存放90分以上成绩 EDATA ENDS,10:32:17,55,STACK SEGMENT STACK ;定义堆栈段 DW 50H DUP(?) TOP LABEL WORD STACK ENDS CODE SEGMENT ;定义代码段 ASSUME CS:CODE, ES:EDATA, DS:EDATA, SS:STACK MAIN PROC FAR START: MOV AX, STACK ;初始化堆栈段 MOV SS, AX MOV SP, OFFSET TOP PUSH DS ;程序段前缀 MOV AX, 0 PUSH AX,10:32:17,56,MOV AX, EDATA ;初始化ES,DS MOV ES, AX MOV DS, AX MOV CL, ANUM ;取学生人数 MOV CH, 0 MOV BH, 0 MOV SI, OFFSET BUFF ;成绩偏移地址SI MOV DI, OFFSET SNUM;统计结果偏移地址DI L1: MOV AL, SI ;取成绩AL CMP AL, 60H ;与60分比较 JAE NEXT1 ;高于等于60分,转NEXT1,10:32:17,57,MOV BL, DI ;低于60分存入相应区域 MOV BUFF1BX, AL INC BYTE PTR DI ;60分计数单元加1 JMP NEXT5 ;转NEXT5 NEXT1:CMP AL, 69H ;与69分比较 JA NEXT2 MOV BL, DI+1 ;6069分存入相应区域 MOV BUFF2BX, AL INC BYTE PTR DI+1 ;6069分计数单元加1 JMP NEXT5,10:32:17,58,NEXT2: CMP AL, 79H JA NEXT3 MOV BL, DI+2 MOV BUFF2BX, AL INC BYTE PTR DI+2 JMP NEXT5 NEXT3: CPM AL, 89H JA NEXT4 MOV BL, DI+3 MOV BUFF3BX, AL INC BYTE PTR DI+3 JMP NEXT5,10:32:17,59,NEXT4: MOV BL, DI+4 MOV BUFF4BX, AL INC BYTE PTR DI+4 NEXT5: INC SI ;地址指针加1 LOOP L1 ;未判断完转L1 RET MAIN ENDP CODE ENDS END START,2019年7月12日星期五,第五章作业习题课,杭州电子科技大学自动化学院,微机原理与接口技术,2019年7月12日星期五,P237 1.答:静态RAM速度非常快,只要电源存在内容就不会自动消失。它的基本存储电路为6个MOS管组成1位,因此集成度相对较低,功耗也较大。一般,高速缓冲存储器用它组成。 DRAM的内容在10-3或10-6秒之后自动消失,因此必须周期性的在内容消失之前进行刷新。由于它的基本存储电路由一个晶体管及一个电容组成,因此它的集成度高,成本较低,另外耗电也少,但它需要一个额外的刷新电路。DRAM运行速度较慢,SRAM比DRAM要快25倍,一般,PC机的标准存储器都采用DRAM组成。,2019年7月12日星期五,P237 2.答:掩膜型ROM中信息是厂家根据用户给定的程序或数据,对芯片图形掩膜进行两次光刻而写入的,用户对这类芯片无法进行任何修改。 PROM出厂时,里面没有信息,用户采用一些设备可以将内容写入PROM,一旦写入,就不能再改变了,即只允许编程一次。 EPROM可编程固化程序,且在程序固化后可通过紫外光照擦除,以便重新固化新数据。 EEPROM可编程固化程序,并可利用电压来擦除芯片内容,以重新编程固化新数据。,2019年7月12日星期五,7.答:由于所用的芯片为10241位,构成10248位(即1K8位)的存储器需要8片,因此组成16K8位的存储器需要168128片。 片内有1024个单元,需要10根地址线。 16组(每组8片)存储器需要16根片选信号,至少需要4根地址线经译码器输出。 示意图如下页。,2019年7月12日星期五,2019年7月12日星期五,2019年7月12日星期五,13. C B A A19 A18 A17 A16 A15 A14 A13A0 0 0 0 0 0 Y0有效8000083FFFH 1 0 0 0 0 1 Y1有效8400087FFFH 1 0 0 0 1 0 Y2有效880008BFFFH 1 0 0 0 1 1 Y3有效8C0008FFFFH,2019年7月12日星期五,第六章作业习题课,杭州电子科技大学自动化学院,微机原理与接口技术,2019年7月12日星期五,P262 1.答:CPU和外设之间的信息交换存在以下一些问题:速度不匹配;信号电平不匹配;信号格式不匹配;时序不匹配。 I/O接口电路是专门为解决CPU与外设之间的不匹配、不能协调工作而设置的,处于总线和外设之间,一般应具有以下基本功能:设置数据缓冲以解决两者速度差异所带来的不协调问题;设置信号电平转换电路,如可采用MC1488、MC1489、MAX232、MZX233芯片来实现电平转换。设置信息转换逻辑,如模拟量必须经 A/D变换成数字量后,才能送到计算机去处理,而计算机送出的数字信号也必须经D/A变成模拟信号后,才能驱动某些外设工作。 设置时序控制电路;提供地址译码电路。,2019年7月12日星期五,3.答: CPU与外设通信时,传送的信息主要包括数据信息、状态信息和控制信息。在接口电路中,这些信息分别进入不同的寄存器,通常将这些寄存器和它们的控制逻辑统称为I/O端口,CPU可对端口中的信息直接进行读写。在一般的接口电路中都要设置以下几种端口: 数据端口:用来存放外设送往CPU的数据以及CPU要输出到外设去的数据。数据端口主要起数据缓冲的作用。 状态端口:主要用来指示外设的当前状态。每种状态用1位表示,每个外设可以有几个状态位,它们可由CPU读取,以测试或检查外设的状态,决定程序的流程。 命令端口:也称为控制端口,它用来存放CPU向接口发出的各种命令和控制字,以便控制接口或设备的动作。,2019年7月12日星期五,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个输入或输出端口。,2019年7月12日星期五,4.答:CPU与外设之间的数据传输数据采用程序控制方式、中断方式、DMA方式等三种。 程序控制传送方式:CPU与外设之间的数据传送是在程序控制下完成的。无条件传送方式:也称为同步传送方式,主要用于对简单外设进行操作,或者外设的定时是固定的或已知的场合。 条件传送:也称为查询式传送方式,在开始传送前,必须先查询外设已处于准备传送数据的状态,才能进行传送。 采用中断方式:CPU平时可以执行主程序,只有当输入设备将数据准备好了,或者输出端口的数据缓冲器已空时,才向CPU发中断请求。CPU响应中断后,暂停执行当前的程序,,2019年7月12日星期五,转去执行管理外设的中断服务程序。在中断服务程序中,用输入或输出指令在CPU和外设之间进行一次数据交换。等输入或输出操作完成之后,CPU又回去执行原来的程序。 DMA方式:也要利用系统的数据总线、地址总线和控制总线来传送数据。原先,这些总线是由CPU管理的,但当外设需要利用DMA方式进行数据传送时,接口电路可以向CPU提出请求,要求CPU让出对总线的控制权,用DMA控制器来取代CPU,临时接管总线,控制外设和存储器之间直接进行高速的数据传送。这种控制器能给出访问内存所需要的地址信息,并能自动修改地址指针,也能设定和修改传送的字节数,还能向存储器和外设发出相应的读/写控制信号。在DMA传送结束后,它能释放总线,把对总线的控制权又交还给CPU。,2019年7月12日星期五,7.,C B A A15 A14 A13 A12 A11A6 A5 A4 A3 A2A0 1 0 0 1 000000,2019年7月12日星期五,8.答:将用于各部件之间传送信息的公共通路称为总线。 根据总线中信息传送的类型可分为地址总线、数据总线和控制总线,此外还有电源线和地线 若按总线的规模、用途和应用场合,则可以分成: 片级总线也叫做元件级总线,是由芯片内部通过引脚引出的总线,用于芯片一级的互连线。它实现CPU主板或其它插件板上的各种芯片间的互连。 系统总线也叫内总线或板级总线,它用于微型计算机中各插件板之间的连线,也就是通常所说的微机总线。 外部总线也称为通信总线,它用于微型计算机系统之间,或微型计算机系统与其它电子仪器或设备之间的通信。,2019年7月12日星期五,对于制造厂家来说,只要按总线接口规范设计CPU主板、I/O接口板或存储器插件板,然后将插件板插入主机的总线扩展槽中,就可构成系统,很适合于大批量生产、组装和调试,也便于更新和扩充系统。 对于用户来说,可根据自身需要,灵活地选购接口板或存储器插件,来组装成适合自己的应用需要的系统或更新原有系统。,2019年7月12日星期五,第七章作业习题课,杭州电子科技大学自动化学院,微机原理与接口技术,10:32:17,77,P302 1. 【答】:当CPU正常运行程序时,由于微处理器内部事件或外设请求,引起CPU中断正在运行的程序,转去执行请求中断的外设(或内部事件)的中断服务子程序,中断服务程序执行完毕,再返回被中止的程序,这一过程称为中断。 可屏蔽中断由引脚INTR引入,采用电平触发,高电平有效,INTR信号的高电平必须维持到CPU响应中断才结束。可以通过软件设置来屏蔽外部中断,即使外部设备有中断请求,CPU可以不予响应。当外设有中断申请时,在当前指令执行完后,CPU首先查询IF位,若IF0,CPU就禁止响应任何外设中断;若IF1,CPU就允许响应外设的中断请求。 不可屏蔽中断由引脚NMI引入,边沿触发,上升沿之后维持两个时钟周期高电平有效。不能用软件来屏蔽的,一旦有不可屏蔽中断请求,如电源掉电等紧急情况,CPU必须予以响应。,10:32:17,78,4. 【答】:CPU响应中断要有三个条件:外设提出中断申请;本中断位未被屏蔽;中断允许。 可屏蔽中断处理的过程一般分成几步:中断请求;中断响应;保护现场;转入执行中断服务子程序;恢复现场和中断返回。 CPU在响应外部中断,并转入相应中断服务子程序的过程中,要依次做以下工作: 从数据总线上读取中断类型号,将其存入内部暂存器。 将标志寄存器PSW的值入钱。 将PSW中的中断允许标志IF和单步标志TF清0,以屏蔽外部其它中断请求,避免CPU以单步方式执行中断处理子程字。 保护断点,将当前指令下面一条指令的段地址CS和指令指针IP的值入栈,中断处理完毕后,能正确返回到主程序继续执行。 根据中断类型号到中断向量表中找到中断向量,转入相应中断服务子程序。 中断处理程序结束以后,从堆栈中依次弹出IP、CS和PSW,然后返回主程序断点处,继续执行原来的程序。,10:32:17,79,5. 【答】:由于响应中断时CPU自动关闭中断(IF0),故在中断服务子程序中STI指令后方可实现中断嵌套。一般在中断服务子程序中保护现场后即设置开中断指令STI(IF1),以便实现中断嵌套。 6. 【答】:中断结束命令EOI后,清除中断服务寄存器中的标志位,即允许响应同级或低级中断,为避免错误,一般将中断结束命令EOI置于中断服务子程序结束前。 7. 【答】:中断向量表又称中断服务程序入口地址表。将每个设备的中断服务程序入口地址(矢量地址)集中,依次放在中断向量表中。当CPU响应中断后,控制逻辑根据外设提供的中断类型号查找中断向量表,然后将中断服务程序的入口地址送到段寄存器和指令指针寄存器,CPU转入中断服务子程序。这样大大加快中断处理的速度。 8086/8088系统允许处理256种类型的中断,对应类型号为0FFH。在存储器的00000H003FFH,占1K字节空间,用作存放中断向量。每个类型号占4个字节,高2个字节存放中断入口地址的段地址,低2个字节存放段内偏移地址。,10:32:17,80,10.,指令INT 9为双字节指令,因此下一条指令的地址为0800H:00A2H; 9436(24H),中断向量表地址00024H中取得0060HIP,00026H中取得1000HCS,即执行指令INT 9后,CS=1000H,IP=0060H。,10:32:17,81,10.,PSW0040H,10:32:17,82,14.,10:32:17,83,(1)中断向量表形成 MOV AX,1000H MOV DS,AX ;DS中为段地址 MOV DX,5020H ;DX中为偏移地址 MOV AL,50H ;中断类型号为50H MOV AH,25H INT 21H ;设置类型号50H的中断向量 MOV DX,6100H MOV AL,52H INT 21H ;设置类型号52H的中断向量 MOV DX,3250H MOV AL,54H INT 21H ;设置类型号54H的中断向量,10:32:17,84,(2)8259A初始化编程:设8259A的端口地址为FFC8H和FFC9H MOV AL,00010011B(13H);定义ICW1,单独使用,边沿触发 MOV DX,0FFC8H OUT DX,AL ;发ICW1命令 MOV AL,50H ;IR0的中断类型号为50H MOV DX,0FFC9H OUT DX,AL ;发ICW2命令 MOV AL,00000001B ;定义ICW4,完全嵌套,非缓冲 OUT DX,AL MOV AL,11101010B(0EAH);定义OCW1,允许IR0、IR2、 OUT DX,AL ;IR4中断,其余中断请求屏蔽,10:32:17,85,(3)中断服务子程序 PUSH AX ;保护现场 STI ;开中断 ;中断处理 CLI ;关中断 MOV AL,20H ;定义OCW2,普通EOI结束命令 MOV DX,0FFC8H OUT DX,AL POP AX ;恢复现场 IRET ;中断返回,10:32:17,86,16.,10:32:17,87,10:32:17,88,(1)中断向量表形成 MOV AX,2000H MOV DS,AX ;DS中为段地址 MOV DX,1800H ;DX中为偏移地址 MOV AL,83H ;中断类型号为83H MOV AH,25H INT 21H ;设置类型号83H的中断向量 MOV DX,2800H MOV AL,94H INT 21H ;设置类型号94H的中断向量 MOV DX,3800H MOV AL,0A4H INT 21H ;设置类型号A4H的中断向量,10:32:17,89,(2)主片8259A初始化编程:端口地址为CCF8H和CCFAH MOV AL,00011001B(19H);定义ICW1,主片级联,电平触发 MOV DX,0CCF8H OUT DX,AL ;发ICW1命令 MOV AL,80H ;IR0的中断类型号为80H MOV DX,0CCFAH OUT DX,AL ;发ICW2命令 MOV AL,00100100B(24H);定义ICW3,IR2和IR5接从片 OUT DX,AL MOV AL,00000001B(01H);定义ICW4,完全嵌套,非缓冲 OUT DX,AL ;非自动EOI结束方式 MOV AL,11010011B(0D3H);定义OCW1,允许IR2、IR3 OUT DX,AL ;IR5中断,其余中断请求屏蔽,10:32:17,90,(3)1从片8259A初始化编程:端口地址为FFE8H和FFEAH MOV AL,00011001B(19H);定义ICW1,片从级联,电平触发 MOV DX,0FFE8H OUT DX,AL ;发ICW1命令 MOV AL,90H ;IR0的中断类型号为90H MOV DX,0FFEAH OUT DX,AL ;发ICW2命令 MOV AL,00000010B(02H);定义ICW3,1#从片接主片的IR2 OUT DX,AL MOV AL,00000001B(01H);定义ICW4,完全嵌套,非缓冲 OUT DX,AL ;非自动EOI结束方式 MOV AL,11101111B(0EFH);定义OCW1,允许IR4中断, OUT DX,AL ;其余中断请求屏蔽,10:32:17,91,(4)2从片8259A初始化编程:端口地址为FFECH和FFEEH MOV AL,00011001B(19H);定义ICW1,片从级联,电平触发 MOV DX,0FFECH OUT DX,AL ;发ICW1命令 MOV AL,0A0H ;IR0的中断类型号为A0H MOV DX,0FFEEH OUT DX,AL ;发ICW2命令 MOV AL,00000101B(05H);定义ICW3,2#从片接主片的IR5 OUT DX,AL MOV AL,0000000

温馨提示

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

评论

0/150

提交评论