《2022年微机原理与接口技术牟琦主编习题答案》由会员分享,可在线阅读,更多相关《2022年微机原理与接口技术牟琦主编习题答案(43页珍藏版)》请在金锄头文库上搜索。
1、1 习题 1 1. 什么是汇编语言,汇编程序,和机器语言?答: 机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。汇编语言是面向及其的程序设计语言。 在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。 这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。使用汇编语言编写的程序, 机器不能直接识别, 要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。2. 微型计算机系统有哪些特点?具有这些特点的根本原因是什么?答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。
2、这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。3. 微型计算机系统由哪些功能部件组成?试说明“ 存储程序控制 ” 的概念。答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。“存储程序控制”的概念可简要地概括为以下几点: 计算机(指硬件)应由运算器、存储器、控制器和输入/输出设备五大基本部件组成。 在计算机内部采用二进制来表示程序和数据。 将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。 五大部件以运算器为中心进行
3、组织。4. 请说明微型计算机系统的工作过程。答:微型计算机的基本工作过程是执行程序的过程,也就是CPU 自动从程序存精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 43 页2 放的第 1 个存储单元起, 逐步取出指令、 分析指令, 并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。5. 试说明微处理器字长的意义。答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。它决定着计算机内部寄存器、ALU 和数据总线的位数,反映了一台计算机的计算精度,
4、直接影响着机器的硬件规模和造价。计算机的字长越大,其性能越优越。在完成同样精度的运算时, 字长较长的微处理器比字长较短的微处理器运算速度快。6. 微机系统中采用的总线结构有几种类型?各有什么特点?答:微机主板常用总线有系统总线、I/O 总线、ISA 总线、IPCI 总线、AGP 总线、IEEE1394 总线、 USB 总线等类型。7. 将下列十进制数转换成二进制数、八进制数、十六进制数。 (4.75)10=(0100.11)2=(4.6)8=(4.C)16 (2.25)10=(10.01)2=(2.2)8=(2.8)16 (1.875)10=(1.111)2=(1.7)8=(1.E)16 8.
5、 将下列二进制数转换成十进制数。 (1011.011 )2=(11.6)10 (1101.01011 )2=(13.58)10 (111.001 )2=(7.2)10 9. 将下列十进制数转换成8421BCD 码。 2006=(0010 0000 0000 0110 )BCD 123.456=(0001 0010 0011.0100 0101 0110 )BCD10. 求下列带符号十进制数的8 位基 2 码补码。 +127补= 01111111 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 43 页3 -1补= 11111111 -1
6、28补= 10000000 +1补= 00000001 11. 求下列带符号十进制数的16 位基 2 码补码。 +655补= 0000001010001111 -1补=1111111111111110 -3212补=1111011101011100 +100补=0000000001100100精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 43 页4 习题 2 1. 8086 CPU 在内部结构上由哪几部分组成?各部分的功能是什么?答:8086 CPU 内部由两大独立功能部件构成,分别是执行部件和总线接口部件。执行部件负责进行所有指令的
7、解释和执行,同时管理有关的寄存器。总线接口部件是 CPU 在存储器和 I/O 设备之间的接口部件, 负责对全部引脚的操作。2. 简述 8086 CPU 的寄存器组织。答:8086 CPU内部共有 14 个 16 位寄存器,按用途可分为数据寄存器,段寄存器,地址指针与变址寄存器和控制寄存器。数据寄存器包括累加器,基址寄存器,计数器,和数据寄存器。段寄存器用来存放各分段的逻辑段基值,并指示当前正在使用的4 个逻辑段。地址指针与变址寄存器一般用来存放主存地址的段内偏移地址,用于参与地址运算。控制寄存器包括指令寄存器和标识寄存器。3. 试述 8086 CPU 标志寄存器各位的含义与作用。答:标志寄存器
8、是16 位的寄存器,但实际上8086 只用到 9 位,其中的 6 位是状态标识位, 3 位是控制标识位。状态标志位分别是CF,PF,AF,ZF,SF,和 OF;控制标志位包括DF,IF,TF。CF:进位标志位。算数运算指令执行后,若运算结果的最高位产生进位或借位,则 CF=1,否则 CF=0。PF:奇偶标志位。反应计算结果中1 的个数是偶数还是奇数。若运算结果的低 8 位中含有偶数个 1,则 PF=1;否则 PF=0. AF:辅助进位标志。算数运算指令执行后,若运算结果的低4 位向高 4 位产生进位或借位,则AF=1;否则 AF=0. ZF:零标志位。若指令运算结果为0,则 ZF=1;否则 Z
9、F=0。SF:符号标志位。它与运算结果最高位相同。OF:溢出标志位。当补码运算有溢出时,OF=1;否则 OF=0。DF:方向标志位。用于串操作指令,指令字符串处理时的方向。IF:中断允许标志位。用来控制8086 是否允许接收外部中断请求。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 43 页5 TF:单步标志位。它是为调试程序而设定的陷阱控制位。4. 8086 CPU 状态标志和控制标志有何不同?程序中是怎样利用这两类标识的?8086的状态标志和控制标识分别有哪些?答:状态标志位反应了当前运算和操作结果的状态条件,可作为程序控制转移与
10、否的依据。它们分别是CF,PF,AF,ZF,SF,和 OF。控制标志位用来控制 CPU 的操作,由指令进行置位和复位,控制标志位包括DF,IF,TF。5. 将 1001 1100和 1110 0101相加后, 标识寄存器中 CF, PF, AF, ZF, SF, OF各为何值?答:CF=1,PF=1,AF=1,ZF=0,SF=1,OF=0 6. 什么是存储器的物理地址和逻辑地址?在8086 系统中,如何由逻辑地址计算物理地址?答:逻辑地址是思维性的表示,由段地址和偏移地址联合表示的地址类型叫逻辑地址。物理地址是真实存在的唯一地址,指的是存储器中各个单元的单元号。在 8086 系统中,物理地址
11、=段地址 10H偏移地址7. 段寄存器 CS=1200H,指令指针寄存器IP=4000H,此时,指令的物理地址为多少?指向这一地址的CS 指和 IP 值是唯一的吗?答: 此指令的物理地址 =1200H 10H4000H=16000H 并且指向这一物理地址的 CS 值和 IP 值并不是唯一的。8. 在 8086 系统中,逻辑地址FFFF:0001,00A2:37F 和 B800:173F 的物理地址分别是多少?答:逻辑地址FFFF:0001 00A2:3TF B800:173F 物理地址FFFF1H 00D9FH B973FH 9. 在 8086 系统中,从物理地址388H 开始顺序存放下列3
12、个双字节的数据精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 43 页6 651AH, D761H 和 007BH, 请问物理地址 388H, 389H,38AH,38BH,38CH和 38DH 6 个单元中分别是什么数据?答: (388H)=1AH, (389H)=65H, (38AH)=61H, (38BH)=DTH, (38CH)=7BH, (38DH)=00H 10. 8086微处理器有哪几种工作模式?各有什么特点?答:8086微处理器有最大和最小工作模式。在最小模式下: 8086 CPU 直接产生全部总线控制信号(DT/R,D
13、EN,ALE,M/IO )和命令输出信号( RD,WR,INTA )并提出请求访问总线的逻辑信号 HOLD,HLDA 。在最大工作模式下,必须配置8288 总线控制器,并且根据8086 提供的状态信号 S2,S1,S0,输出读写控制命令,可以提供灵活多变的系统配置,以实现最佳的系统性能。11. 简述 8086 引脚信号中 M/IO ,DT/R ,RD,WR ,ALE ,DEN 和 BHE 的作用。答:M/IO :输出信号,高电平时,表示CPU 与存储器之间数据传输;低电平时,表示 CPU与 I/O 设备之间数据传输。DT/R: 控制其数据传输方向的信号。 DT/R=1 时, 进行数据发送;DT
14、/R=0时,进行数据接收。RD:CPU 的读信号, RD=0 时,表示 8086 为存储口或 I/O 端口读操作。WR:CPU 的写信号, WR =0 时,表示 8086为存储口或 I/O 端口写操作。ALE:地址存锁信号,在T1 能时刻有效。DEN:数据选通信号,当DEN 有效时,表示允许传输。BHE:数据总线允许信号,与A0 组合使用,表示是否访问奇地址字节。12. 简述 8086 读总线周期和写总线周期和引脚上的信号动尖态变化过程。8086的读周期时序和写周期时序的区别有哪些?答:在 8086读周期内,有关总线信号的变化如下:M/IO:在整个读周期保持有效, 当进行存储器读操作时, M/
15、IO为高电平;当进行 I/O 端口读操作时, M/IO为低电平。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 43 页7 A19/S6A16/S3:在 T1期间,输出 CPU 要读取的存储单元或I/O 端口的地址高 4 位。T2T4期间输出状态信息S6-S3。BHE/S7:在 T1期间,输出 BHE 有效信号 (BHE为低电平 ),表示高 8 位数据总线上的信息可以使用,BHE信号通常作为奇地址存储体的体选信号(偶地址存储体的体选信号是最低地址位A0)。T2T4期间输出高电平。ADl5AD0:在 T1期间,输出 CPU 要读取的存储单
16、元或I/O 端口的地址A15A0。T2期间为高阻态, T3T4期间,存储单元或I/O 端口将数据送上数据总线。 CPU 从 ADl5AD0上接收数据。ALE:在 T1期间地址锁存有效信号, 为一正脉冲, 系统中的地址锁存器正是利用该脉冲的下降沿来锁存A19/S6A16/S3,ADl5AD0中的 20 位地址信息以及BHE。RD:T2期间输出低电平送到被选中的存储器或I/O 接口,注意,只有被地址信号选中的存储单元或I/O 端口, 才会被 RD 信号从中读出数据 (数据送上数据总线 ADl5AD0)。DT/R:在整个总线周期内保持低电平,表示本总线周期为读周期,在接有数据总线收发器的系统中,用来
17、控制数据传输方向。DEN:在 T2T3期间输出有效低电平,表示数据有效,在接有数据总线收发器的系统中,用来实现数据的选通。总线写操作的时序与读操作时序相似,其不同处在于:ADl5AD0:在 T2T4期间送上欲输出的的数据,而无高阻态。WR: 从 T2T4,WR引脚输出有效低电平, 该信号送到所有的存储器和I/O接口。注意,只有被地址信号选中的存储单元或I/O 端口才会被W R信号写入数据。DT/R:在整个总线周期内保持高电平,表示本总线周期为写周期,在接有数据总线收发器的系统中,用来控制数据传输方向。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第
18、7 页,共 43 页8 习题 3 1. 假定( DS)=2000H, (ES)=2100H, (SS)=1500H, (SI)=00A0H, (BX)=0100H, (BP)=0010H,数据变量 VAL 的偏移地址为 0050H,请指出下列指令原操作数是什么寻址方式,其物理地址是多少?(1) MOV AX, 0ABH (2) MOV AX, 100H (3) MOV AX, VAL (4) MOV BX, SI (5) MOV AL, VALBX (6) MOV CL, BXSI (7) MOV VALSI, BX (8) MOV BPSI, 100 答:(1) 立即数寻址,物理地址:无(2
19、) 直接寻址,物理地址 =2000H 10H+100H=20100H (3) 直接寻址,物理地址 =2000H 10H+0050H=20050H (4) 寄存器间接寻址, PA=2000H 10H+00A0=200A0H (5) 相对寄存器寻址, PA=2000H 10H+(0050+0100H)=20150H (6) 基址加变寻址, PA=2000H 10H+(0100H+00A0H)=201A0H (7) 寄存器寻址,无 PA (8) 立即数寻址,无 PA 2. 已知(SS)=0FFA0H, (SP)=00B0H,先执行两条把 8057H 和 0F79H 分别进栈的 PUSH 指令,再执行
20、一条 POP 指令,试画出堆栈区和 SP内容变化的过程示意图。答:“8057H”进栈,则 SP 自动从 00B0H 指向 00B2H, “0F79H”进栈,则 SP自动从 00B2H 指向 00B4H; 执行一条 POP指令,“0F79H” 被弹出栈, SP从 00B4H指向 00B2H。图略。3. 设有关寄存器及存储单元的内容如下:(DS)=2000H, (BX)=0100H, (AX)=1200H, (SI)=0002H, (20100H)=12H, (20101H)=34H, (20102H)=56H, (20103H)=78H, (21200H)=2AH, (21201H)=4CH,
21、(21202H)=0B7H, (21203H)=65H. 试说明下列各条指令单独执行后相关寄存器或存储单元的内容。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 43 页9 (1) MOV AX, 1800H (2) MOV AX, BX (3) MOV BX, 1200H (4) MOV DX, 1100BX (5) MOV BXSI, AL (6) MOV AX, 1100BXSI 答:(1) (AX)=1800H (2) (AX)=0100H (3) (BX)=4C2AH (4) (DX)=4C2AH (5) (20102H)=0
22、0H (6) (AX)=65B7H 4. 写出实现下列计算的指令序列。(1) Z=W+(X+Z) (2) Z=W-(X+6)-(R+9) 答:(1) MOV AX, Z ADD AX, X ADD AX, W MOV Z, AX (2) MOV AX, W ADD X, 6 SUB AX, X ADD R, 9 SUB AX, R MOV Z, AX 5. 若在数据段中从字节变量TABLE 相应的单元开始存放了015 的平方值,试写出包含 XLAT 指令的指令序列查找N(015)中的某个平方数。答:LEA BX, TABLE MOV AL, CL XLAT 6. 写出实现下列计算的指令序列。(
23、1) Z=(W*X)/(R+6) (2) Z=(W-X)/5*Y)*2 答:(1) MOV AX, W IMUL X ADD R, 6 IDIV R 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 43 页10 MOV Z, AX (2) MOV AX, W SUB AX, X MOV BL, 5 IDIV BL CBW IMUL Y MOV BX, 2 IMUL BX MOV Z, AX 7. 假定(DX)=1100100110111001B,CL=3,CF=1, 试确定下列各条指令单独执行后 DX 的值。(1) SHR DX, 1
24、(2) SHL DL, 1 (3) SAL DH, 1 (4) SAR DX, CL (5) ROR DX, CL (6) ROL DL, CL (7) RCR DL, 1 (8) RCL DX, CL 答:(1) (DX)=0110 0100 1101 1100B (2) (DX)=1100 1001 0111 0010B (3) (DX)=1001 0010 1011 1001B (4) (DX)= 1111 1001 0011 0111B (5) (DX)= 0011 1001 0011 0111B (6)(DX)= 0100 1101 1100 1110B (7) (DX)= 1110
25、 0100 1101 1100B (8) (DX)= 1001 0011 0111 0011B 8. 已知程序段如下:MOV AX, 1234H MOV CL, 4 ROL AX, CL DEC AX MOV CX, 4 MUL CX INT 20H 试问: (1)每条指令执行后, AX 寄存器的内容是什么?(2)每条指令执行后, CF,SF 及 ZF 的值分别是什么?( 3)程序运行结束后, AX 及 DX寄存器的值为多少?精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 43 页11 答:MOV AX, 1234H (AX)=123
26、4H, CF=0,SF=0,ZF=0 MOV CL, 4 ROL AX,CL (AX)=2341H,CF=1 ,SF=0,ZF=0 DEC AX (AX)=2340H,CF=1 ,SF=0,ZF=0 MOV CX,4 MULL CX (AX)=8D00H, CF=0 ,SF=1,ZF=0 INT 20H 结束后, (DX)=0000H, (AX)=8000H 9.试分析下列程序段:ADD AX, BX JNC L2 SUB AX, BX JNC L3 JMP SHORTL5 如果 AX ,BX 的内容给定如下:AX BX (1) 14C6H 80DCH (2) B568H 54B7H 问该程序
27、在上述情况下执行后,程序转向何处。答: (1)转到 L2 处(2)转到 L3 处精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 43 页12 习题 4 1下列语句在存储器中分别为变量分配多少字节空间?并画出存储空间的分配图。VAR1 DB 10 ,2 VAR2 DW 5 DUP (?) ,0 VAR3 DB HOW ARE YOU ? ,3 DUP(1,2)VAR4 DD -1 ,1,0 答:字节空间:VAR1:2;VAR2:12;VAR3:13;VAR4:8。存储空间的分配图:2假定 VAR1 和 VAR2 为字变量,LAB 为标号
28、,试指出下列指令的错误之处。(1)ADD VAR1,VAR2 (2)SUB AL ,VAR1 (3)JMP LABCX (4)JNZ VAR1 (5) MOV 1000H ,100 (6)SHL AL , 4 答:(1) 在算术运算指令中,两个操作数不能同时为存储器寻址方式(2) AL 为字节, VAR1 为字变量,字长不相等;(3) 寄存器相对寻址方式, 只能使用基址或变址寄存器, 不能使用 CX 寄存器。(4) 转向地址应为标号,不能是变量;(5) 目的操作数的类型不确定;(6) SHL 指令中,当所移位数超过1 时,必须用 CL 取代所移位数。精选学习资料 - - - - - - - -
29、 - 名师归纳总结 - - - - - - -第 12 页,共 43 页13 3对于下面的符号定义,指出下列指令的错误。A1 DB ?A2 DB 10 K1 EQU 1024 (1) MOV K1 ,AX (2)MOV A1,AX (3)CMP A1,A2 (4)K1 EQU 2048 答:(1)K1 为常量,不能用 MOV 指令赋值;(2)A1 为字节, AX 为字变量,不匹配;(3)A1 未定义,无法做比较指令;(4)K1 重新赋值前,必须用PURGE 释放。4数据定义语句如下所示: FIRST DB 90H ,5FH,6EH,69H SECOND DB 5 DUP(?) THIRD DB
30、 5 DUP(?) 自 FIRST 单元开始存放的是一个四字节的十六进制数(低位字节在前 ),要求: 编一段程序将这个数左移两位后存放到自SECOND 开始的单元 ,右移两位后存放到自 THIRD 开始的单元。 (注意保留移出部分 ) 答:DATA SEGMENT FIRST DB 90H ,5FH,6EH,69H SECOND DB 5 DUP(?) THIRD DB 5 DUP(?) FORTH DB 4 DUP (?) DATA ENDS CODE SEGMENT ASSUME CS :CODE, DS:DATA START:MOV AX ,DATA MOV DS, AX 精选学习资料
31、- - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 43 页14 LEA SI, FIRST LEA DI,SECOND MOV CX ,2 CLC ;左移 2 位MOV AX ,WORD PTR SI ;AX=5F90H 为低十六位数据INC SI INC SI MOV DX ,WORD PTR SI ;DX=696EH 为高十六位数据PUSH DX ;保存原有的高十六位数据PUSH AX ;保存原有的低十六位数据ROL DX ,CL ;将高位数据不带进位循环左移两位,即高 2 位数据在DL 的低2 位AND DL ,03H ;让 DL 中仅保存移出
32、的高2 位数据MOV DI+4 ,DL;将移出的高2 位数据放入SECOND 中的最高单元中ROL AX ,CL ;将低位数据不带进位循环左移两位,即AX 的高 2 位在 AL 的低 2 位AND AL , 03H;让 AL 中仅保存移出的AX 高 2 位数据MOV BL ,AL ;将 AL 中的数据放入BL 中保存POP AX ;弹出原有的低十六位数据POP DX ;弹出原有的高十六位数据SHL DX ,CL;将高位数据算术逻辑左移2 位SHL AX ,CL;将低位数据算术逻辑左移2 位OR DL,BL ;将 AX 中移出的高2 位数据放入DX 的低 2 位MOV WORD PTR DI ,
33、 AX MOV WORD PTR DI+2 ,DX ;右移 2 位LEA SI, FIRST LEA DI,THIRD 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 43 页15 MOV CX ,2 CLC MOV AX ,WORD PTR SI ;AX=5F90H 为低十六位数据INC SI INC SI MOV DX, WORD PTR SI ; DX=696EH 为高十六位数据PUSH DX ;保存原有的高十六位数据PUSH AX ;保存原有的低十六位数据ROR AX ,CL;将低位数据不带进位循环右移两位,即低2 位数据在A
34、H 的高 2 位AND AH ,0C0H;让 AH 中仅保存移出的低2 位数据PUSH CX MOV CX ,6 SHR AH ,CL POP CX MOV DI ,AH ;将移出的低2 位数据放入THIRD 中的最低单元中ROR DX , CL ;将低位数据不带进位循环左移两位,即AX 的高 2 位在 AL 的低 2 位AND DH,0C0H ;让 DH 中仅保存移出的DX 低 2 位数据MOV BL ,DH ;将 DH 中的数据放入BL 中保存POP AX ;弹出原有的低十六位数据POP DX ;弹出原有的高十六位数据SHR DX ,CL ;将高位数据算术逻辑左移2 位SHR AX ,CL
35、 ;将低位数据算术逻辑左移2 位OR AH ,BL ;将 DX 中移出的低2 位数据放入AX 的高 2 位MOV WORD PTR DI+1 , AX MOV WORD PTR DI+3 ,DX ;求补LEA SI, FIRST LEA DI,FORTH 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 43 页16 MOV AX ,WORD PTR SI ;AX=5F90H 为低十六位数据INC SI INC SI MOV DX ,WORD PTR SI ; DX=696EH 为高十六位数据XOR AX , 0FFFFH ;将低十六位
36、取反XOR DX , OFFFFH ;将高十六位按位取反CLC ADD AX , 01H ;低位加1,即可为原数的求补ADC DX , 0 ;高位加低位加法时的进位MOV WORD PTR DI , AX MOV WORD PTR DI+2 ,DX MOV AH ,4CH INT 21H CODE ENDS END START 5. 试编程序将内存从40000H 到 4BFFFH 的每个单元中均写入55H,并再逐个单元读出比较,看写入的与读出的是否一致。若全对,则将AL 置 7EH; 只要有错,则将 AL 置 81H。答:DATA SEGMENT DA1 DB 55H CODE SEGMENT
37、 ASSUME CS:CODE,DS:DATA START: MOV AX,4000H MOV DS,AX MOV CX,0C000H MOV BX,0000H MOV AH,55H NEXT1: MOV byte ptrBX,AH INC BX 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 16 页,共 43 页17 LOOP NEXT1 MOV BX,0000H MOV CX,0C000H MOV AL,81H NEXT2: MOV AH, BX CMP AH,55H JNZ EXIT INC BX LOOP NEXT2 MOV AL,7EH
38、 EXIT: MOV AH,4CH INT 21H CODE ENDS END START 6. 在当前数据段 4000H 开始的 128个单元中存放一组数据, 试编程序将它们顺序搬移到 A000H 开始的顺序128 个单元中,并将两个数据块逐个单元进行比较; 若有错将 BL 置 00H; 全对则将 BL 置 FFH,试编程序。答:DATA SEGMENT ORG 400H DA1 DB 128 DUP(?) ORG 0A00H DA2 DB 128 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA START: MOV
39、AX,DATA MOV DS,AX LEA SI,DA1 LEA DI,DA2 MOV CX,128 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 17 页,共 43 页18 AGAIN: MOV AL,SI INC SI INC DI LOOP AGAIN LEA SI, DA1 LEA DI, DA2 MOV CX,128 NEXT: MOV AL,SI MOV BL,DI CMP AL,BL JNZ ERROR INC SI INC DI MOV BL,0FFH LOOP NEXT JMP EXIT ERROR: MOV BL,00H EX
40、IT: MOV AH,4CH INT 21H CODE ENDS END START 7. 设变量单元 A、B、C 存放有 3 个数,若 3 个数都不为零,则求3 个数的和,存放在 D 中; 若有一个为零,则将其余两个也清零,试编写程序。答:DATA SEGMENT A DB ? B DB ? C DB ? DATA ENDS CODE SEGMENT 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 18 页,共 43 页19 ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX CMP A,00H
41、 JNZ LP1 MOV B,0 MOV C,0 JMP LP4 LP1: CMP B,00H JNZ LP2 MOV A,0 MOV C,0 JMP LP4 LP2: CMP C,00H JNZ LP3 MOV A,0 MOV B,0 JMP LP4 LP3: MOV AL,A ADD AL,B ADD AL,C MOV AH,4CH LP4: INT 21H CODE ENDS END START 8. 有一个 100 个字节的数据表,表内元素已按从大到小的顺序排列好,现给定一元素,试编程序在表内查找,若表内已有此元素,则结束; 否则,按顺序将此元素插入表中适当的位置,并修改表长。答:DA
42、TA SEGMENT BUFF DB 100 DUP(?) 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 19 页,共 43 页20 DA1 DB (?) LENGTH DB 0 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV SI,0 MOV AL,DA1 MOV CX,100 FIND0: CMP BUFFSI,AL JZ EXIT INC SI LOOP FIND0 MOV DI,99 MOV SI,0 COMPARE: CMP B
43、UFFDI,AL JG INSERT MOV BL,BUFFDI MOV BUFFDI+1,BL DEC DI CMP DI,SI JNL COMPARE JMP EXIT INSERT: MOV BUFFDI+1,AL MOV LENGTH , 101 EXIT: MOV AH,4CH INT 21H CODE ENDS END START 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 20 页,共 43 页21 9. 内存中以 FIRST 和 SECOND 开始的单元中分别存放着两个16位组合的十进制(BCD 码)数,低位在前。编程序求这两个
44、数的组合的十进制和,并存到以 THIRD开始的单元。答:DATA SEGMENT FIRST DD 34341212H SECOND DD 78785656H THIRD DB ?,?,?,? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA SI,FIRST LEA DI,SECOND LEA BX,THIRD MOV CX,4 CLC AGAIN: MOV AL,BYTE PTRSI MOV DL,BYTE PTRDI ADC AL,DL DAA MOV BYTE PTRBX,AL
45、INC SI INC DI INC BX LOOP AGAIN JC AA MOV BYTE PTRBX,0 JMP EXIT AA: MOV BYTE PTRBX,1 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 21 页,共 43 页22 EXIT: MOV AH,4CH INT 21H CODE ENDS END START 10. 编写一段程序,接收从键盘输入的10 个数,输入回车符表示结束,然后将这些数加密后存于BUFF 缓冲区中。加密表如下 : 输入数字 : 0,1,2,3,4,5,6,7,8,9; 密码数字 : 7,5,9,1,3,
46、6,8,0,2,4。答:DATA SEGMENT MITAB DB 7591368024 CONT EQU $-MITAB BUFF DB 10 DUP (?),$ YUANWEN DB 10 DUP (?),$ DATA ENDS CODE SEGMENT ASSUME CSCODE,DSDATA START:MOV AX ,DATA MOV DS,AX MOV SI,0 MOV CX,CONT INPUT: MOV AH,1 INT 21H CMP AL ,13 JZ EXIT AND AL ,0FH MOV YUANWENSI ,AL INC SI LOOP INPUT EXIT : L
47、EA BX,MITAB 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 22 页,共 43 页23 MOV CX,SI MOV SI,0 JIAMI: MOV AL ,YUANWENSI XLAT MITAB MOV BUFFSI ,AL INC SI LOOP JIAMI MOV AH, 4CH INT 21H CODE ENDS END START 11. 试编程序,统计由40000H开始的 16K个单元中所存放的字符“A”的个数,并将结果存放在DX中。答:DATA SEGMENT DA1 DB A BUFF DB 4000H DUP(?) D
48、ATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,4000H MOV DS,AX MOV BX,0 MOV CX,4000H FIND: MOV AL,BX MOV BL,DA1 CMP AL,BL JNZ NEXT INC DX 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 23 页,共 43 页24 NEXT: INC SI LOOP FIND MOV AH,4CH INT 21H CODE ENDS END START 12. 在当前数据段 (DS),偏移地址为DATAB
49、开始的顺序 80 个单元中,存放着某班 80 个同学某门考试成绩。按如下要求编写程序: (1) 编写程序统计 90 分; 80 分 89分; 70 分79 分; 60 分69 分, 60 分的人数各为多少,并将结果放在同一数据段、偏移地址为BTRX 开始的顺序单元中。(2) 试编程序, 求该班这门课的平均成绩为多少,并放在该数据段的AVER 单元中。答:DATA SEGMENT BUFF DW 80 DUP(?) DA9 DB 0 DA8 DB 0 DA7 DB 0 DA6 DB 0 DA5 DB 0 AVER DB 0 DATA ENDS CODE SEGMENT ASSUME CS:COD
50、E,DS:DATA START: MOV AX,DATA MOV DS,AX MOV CX,80 COMPARE: MOV BX,0 CMP BUFFBX,90 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 24 页,共 43 页25 JB LP8 INC DA9 JMP NEXT LP8: CMP BUFFBX,80 JB LP7 INC DA8 JMP NEXT LP7: CMP BUFFBX,70 JB LP6 INC DA7 JMP NEXT LP6: CMP BUFFBX,60 JB LP5 INC DA6 JMP NEXT LP5:
51、INC DA5 JMP NEXT NEXT: INC BX LOOP COMPARE MOV CX,80 XOR AX,AX MOV BX,00 SUM: ADD AX,BUFFBX INC BX LOOP LP1 MOV CL,80 DIV CL MOV AVER , AL MOV AH,4CH INT 21H CODE ENDS 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 25 页,共 43 页26 END START 13. 编写一个子程序,对AL中的数据进行偶校验,并将经过校验的结果放回AL 中。答:JIOU PROC PUSH CX
52、PUSH BX XOR AH, AH PUSH AX MOV CL, 7 LOOP1: SAR AL, 1 ADC AH, 0 LOOP LOOP1 MOV AL, AH XOR AH, AH MOV BL, 2 DIV BL MOV BL, AH POP AX ROR BL, 1 OR AL, BL POP BX POP CX RET JIOU ENDP14. 利用上题的子程序,对80000H 开始的 256个单元的数据加上偶校验,试编程序。CODE SEGMENT ASSUME CS: CODE 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第
53、26 页,共 43 页27 START : MOV AX, 8000H MOV DS, AX MOV SI, 0 MOV CX, 256 LP: MOV AL, SI CALL JIOU MOV SI, AL INC SI LOOP LP MOV AH, 4CH INT 21H JIOU PROC PUSH CX PUSH BX XOR AH, AH PUSH AX MOV CL, 7 LOOP1: SAR AL, 1 ADC AH, 0 LOOP LOOP1 MOV AL, AH XOR AH, AH MOV BL, 2 DIV BL MOV BL, AH POP AX ROR BL, 1
54、OR AL, BL POP BX POP CX RET 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 27 页,共 43 页28 JIOU ENDP CODE ENDS END START精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 28 页,共 43 页29 习题 5 1. 试述 DRAM 的工作特点;与 SRAM 相比有什么长处和不足之处;说明它的使用场合。答:DRAM ,动态随机存取存储器,需要不断的刷新,才能保存数据。而且是行列地址复用的,许多都有页模式。SRAM,静态的随机存取存储器,加电
55、情况下,不需要刷新,数据不会丢失,而且一般不是行列地址复用的。与 SRAM 相比, DRAM 价格便宜、速度慢、容量大,主要用来做主存储器,存储程序和数据;而SRAM 主要用在 Cache等对速度要求高的情况。2. 试述 DRAM 刷新过程和正常读 /写过程的区别。答:刷新是以行为单位进行,且刷新过程中不能进行读写操作。3. 设有一个具有 20位地址和 32位字长的存储器,问:(1) 该存储器能存储多少个字节的信息?(2) 如果存储器由 512K*8 位 SRAM 芯片组成,需要多少片?(3) 需要多少位作芯片选择?答:(1)该存储器能存储4MB 的信息。(2) 需要 8 片 512K*8 位
56、的芯片。(3) 需要 1 位做芯片选择。4. 对于 8K8 位 RAM 组成的存储器系统, 若某组的起始地址为08000H,则其末地址为多少?答:末地址为 9FFF.5. 在 8088最大方式系统总线上扩充设计4K 字节的 SRAM 存储器电路。SRAM芯片选用 Intel 2114,起始地址从 0000H。试画出此存储器电路与系统总线的连接图。答:系统容量为4K*8bit ,芯片容量为 1K*4bit ,所以一共需要 8 片芯片连接图如下:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 29 页,共 43 页30 6. 在 8088系统总线上扩充
57、设计8K 的字节的 SRAM 存储器电路。 SRAM 芯片选用 Intel 6264 ,起始地址从 04000H 开始,译码器电路74LS138. (1) 计算此 RAM 存储区的最高地址是多少。(2) 画出此存储器电路与系统总线的连接图。(3) 编写程序实现对此存储区域进行自检。答: (1)最高地址是 05FFFH。(2)(3)MOV DX, 0FFE2H 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 30 页,共 43 页31 L1: IN AL, DX TEST AL, 01H JZ L1 MOV AX, 1000H MOV DS, AX
58、MOV DX, 2000H MOV CX, 100 MOV DX, 0FFE0H L2: IN AL, DX MOV DX, AL INC BX LOOPN L2 7. 在 8086最小方式系统总线上扩充设计16K 字节的 SRAM 存储器电路,SRAM芯片选用 Intel 6264,起始地址从 04000H 开始,译码器电路采用74LS138. (1) 计算此 RAM 存储区域的最高地址是多少(2) 画出此存储器与总线的连接图。答:(1) 07FFFH (2) 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 31 页,共 43 页32 精选学习资
59、料 - - - - - - - - - 名师归纳总结 - - - - - - -第 32 页,共 43 页33 习题 6 1. 什么是接口?接口的功能是什么?答:位于主机与外设之间,用来协助完成数据传送和控制任务的逻辑电路称为接口电路, 接口电路对输入 /输出过程起缓冲和联络作用。 接口的功能是有,数据缓冲功能,联络功能,寻址功能,预处理功能,中断管理功能。2. 计算机对 I/O 端口编址时通常采用哪两种方法?在8086系统中,用哪种方法进行编址?答:I/O 端口和存储器统一编址; I/O 端口单独编址。 8086 系统采用 I/O 端口单独编址方式。3. CPU 和输入 /输出设备之间传送的
60、信息有哪几类? 答: 数据信息,控制信息,与状态信息。4. 简述 CPU 与外设进行数据交换的几种常用方式. 答: 程序控制方式 : 特点是依靠程序的控制来实现主机和外设的数据传送,可分为无条件传送方式和查询方式. 中断控制方式 : 每次输入和输出一个数据,CPU都要检查外设的状态。直接存储器存取控制方式:cpu不参加数据传送, 而是由 DMA 控制器来实现内存与外设,外设与外设之间的直接传递。通道方式:可以实现对外围设备的统一管理和外围设备与内存之间的数据传送。外围处理机方式:由PPU 独立于主机工作,减少了CPU 控制外设的负担。5无条件传送方式适用哪些场合?查询方式原理怎样?主要用在什么
61、场合?答:无条件传送适用于简单的输入/输出设备, CPU 可以随时读取或接受状态。这些信号变化缓慢,当需要采集数据时,无需检查端口,就可以立即采集数据,直接用输入 /输出指令完成。无条件传送方式主要用于控制CPU 与低俗 I/O 接口之间的信息交换。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 33 页,共 43 页34 7查询式传送方式有什么优缺点?中断方式为什么能弥补查询方式的缺点?答:查询传送方式CPU 通过程序不断查询相应设备的状态,状态不符合要求,则 CPU 需要等待;只有当状态信号符合要求时,CPU 才能进行相应的操作。中断方式提高了
62、计算机系统中信息处理的并行和处理器效率,中断可以实现同步操作,实时处理等功能。8. 8088/8086中断向量表的作用是什么?答:中断向量表建立了不同的中断源与其相应的中断服务程序首地址之间的联系,它是 CPU 在响应中断时可以依据中断类型码自动转向中断服务程序。9. 什么叫中断向量?它放在哪里?对于1CH 的中断向量在哪里?如果1CH 的中断程序从 5110H 开始: 2030H 开始,则中断向量应该怎样存放?答:中断向量即用来提供中断入口地址的一个指针。10. 8259中 IRR, IMR, ISR三个寄存器的作用是什么?答:中断请求寄存器IRR 8259A 有 8 条外部中断请求输入信号
63、线IR0-IR7,每一条请求线上有一个相应的触发器来保存请求信号,它们形成了中断请求寄存器IRR(Interrupt Request Register) 。中断屏蔽寄存器IMR IMR(Interrupt Mask Register)用来存放屏蔽位信息, IMR 的每一位可以禁止IRR中对应位的中断请求输入信号进入。中断服务寄存器ISR ISR(Interrupt Service Register)存放当前正在进行服务的所有中断。ISR 中相应位的置位是在中断响应的INTA脉冲期间,由优先权判决电路根据IRR 中各请求位的优先权级别和IMR 中屏蔽位的状态,将中断的最高优先级请求位选通到 IS
64、R 中。11. 类型号为 20H 的中断服务程序入口符号地址为INT-5 ,试写出中断向量的装入程序片段。答:MOV AX, 0 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 34 页,共 43 页35 MOV DS, AX MOV SF, 20H*4 LEA AX, IMS MOV IS, AX MOV AX, SEQ, INTS MOV SI+2, AX 12. 简述 DMA 控制器同一般接口芯片的区别。答: DMA 控制器能给出访问内存所需要的地址信息,并能自动修改地址指针,也能设定和修改传送的字节数, 还能向存储器和外设发出相应的读/写控
65、制信号。在 DMA 传送结束后, 它能释放总线, 把对总线的控制权又交还给CPU。用 DMA 方式传输数据时,不需要进行保护和恢复断点及现场之类的额外操作。13. 简述 8237A3 种基本传送类型的特点。答:单次传送方式:每次DMA 操作只传送 1B,然后就自动把总线控制权交给 CPU,若还有通道请求信号, 则 DMAC 则再重新向 CPU发出总线请求, 获得控制权后责传送下一B 数据。数据块传送:在进入DMA 操作后,就连续传送数据,直到整块数据全部传送完毕,在字节数减为0 或外界输入终止信号时,才会将总线控制权交还给 CPU。请求传送:这种方式也可以用于成块数据传输。这种方式适用于准备好
66、传送数据时,发出通道请求;若数据未准备好时,就使通道请求无效,将总线控制权交还给 CPU。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 35 页,共 43 页36 习题 7 1. 并行接口有何特点?其应用场合如何?答:一个并行接口包含状态信息,控制信息,和数据信息,这些信息分别存放在状态寄存器, 控制寄存器和数据缓冲缓冲寄存器。从并行接口的电路结构来看,它有硬连接线接口和可编程接口之分。硬连接线接口不能用软件编程方法加以改变,而可编程接口可用软件编程方式加以改变。其应用于打印机,IEEE488 接口,开关量接口,控制设备接口等。2. 可编程并行芯
67、片8255 有哪几种工作方式?其差别何在?他们在危机系统中的连接方法有什么不同?答:8255A 有 3 种工作方式:称为方式0,方式 1 和方式 2。其中 A 口可以工作在 3 种方式中的任一种;B 口只能工作在方式0 和方式 1;C 口通常作为控制信号使用,配合A 口和 B 口的工作。方式 0:基本的输入输出方式方式 0 之所以被称为基本的输入输出方式,是因为在这种方式下,A 口、B口和 C 口(C 口分为 2 个 4 位使用 )都可提供简单的输入和输出操作,对每个口不需要固定的应答式联络信号。工作在方式0 下,在程序中可直接使用输入指令(IN)和输出 (OUT)指令对各口进行读写。方式 0
68、 的基本定义如下: 2 个 8 位的口和 2 个 4 位的口。任何一个口都可以作为输入或输出。输出可以被锁存。输入不能锁存。方式 0 一般用于无条件传送的场合,不需要应答式联络信号,外设总是处于准备好的状态。也可以用作查询式传送,查询式传送时,需要有应答信号。可以将 A 口、B 口作为数据口使用。把C 口分为 2 部分,其中 4 位规定为输出,用来输出一些控制信息;另外4 位规定为输入,用来读入外设的状态。利用C 口配合 A 口和 B 口完成查询式的 I/O 操作。方式 1:选通输入 /输出方式在这种方式下,当A 口和 B 口进行输入输出时,必须利用C 口提供的选通和应答信号。而且这些信号与C
69、 口中的某些位之间有着固定的对应关系,这种关系是硬件本身决定的不是软件可以改变的。由于工作在方式 l 时,要由 C 口中的固定位来作为选通和应答等控制信号,因此称方式 1 为选通的输入 /输出方式。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 36 页,共 43 页37 方式 1 的基本定义如下:分成2 组(A 组和 B 组)。每组包含一个 8 位的数据口和 1 个 4 位的控制 /数据口。8 位的数据口既可以作为输入也可以作输出,输入和输出都可以被锁存。 4 位的控制 /数据口用于传送8 位数据口的控制和状态信息。方式 2:带选通的双向传输方式
70、这种双向的传输方式, 8255A 可以向外设发送数据,同时CPU 通过这 8 位数据线又接收外设的数据。因此称为双向的传输方式。方式 2 的基本定义如下:只能适用于A 口。一个 8 位的双向口 (A 口)和 1 个5 位的控制口 (C 口)。A 口的输入和输出都可以被锁存。5 位的控制口用于传送8位双向口的控制和状态信息。当 A 口工作在方式 2 时,由 PA7PA0作 8 位数据线,因为要由 C 口对 A 口进行控制,所以称为带选通的双向传输方式。C 口对 A 口的控制信号如图8.20所示,工作时序如图8.20 所示。在这种方式下, C 口中有 5 位 PC7一 PC3作为控制信号和状态信息
71、使用, 剩下的 3位 PC2PC0可作为简单的输入 /输出线使用。当控制字的 D0位为 1 时 PC2PC0作输入;当控制字的D0位为 0 时 PC2PC0作输出。3. 可编程接口芯片8255的控制字有哪两个?其控制字及每位的含义是什么?控制字分为 2种:分别称为方式选择控制字和端口C 置 1/置 0 控制字。根据控制寄存器的 D7位的状态决定是哪一种控制字。方式选择控制字方式选择控制字用来决定8255A 三个数据端口各自的工作方式, 它的格式如图所示。它由一个8 位的寄存器组成。D7D6D5D4D3D2D1D000:方式 0 01:方式 1 1x:方式 2 A 口1:输入0:输出PC7PC4
72、1:输入0:输出B 组 方 式0:方式 0 1:方式 1 B 口1:输入0:输出PC3PC01:输入0:输出A 组控制B 组控制方 式 选 择 控 制字识别位,为1选中口 C 置 1/置 0 控制字8255A 在和 CPU 传输数据的过程中,经常将C 口的某几位作为控制位或状态位来使用,从而配合A 口或 B 口的工作。为了方便用户,在8255A 芯片初始化时,C 口置 1/置 0 控制字可以单独设置到C 口的某一位为 0 或某一位为 1,具体的格式如图所示。D7D6D5D4D3D2D1D0C 口置位识别位为 0 有效任意值C 口位选择选中位置 1 置 0 选择000:PC0 100:PC4 0
73、01:PC1 101:PC5 010:PC2 110:PC6 011:PC3 111:PC70:置 0 1:置 1 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 37 页,共 43 页38 4. 假定 8255 的端口地址分别为0060H,0063H,编写出下列各情况的初始化程序:(1) 将 A 口,B 口设置方式 0,端口 A 和 C 作为输入口, B 作为输出口(2) 将 A 口设置成方式 1,输入口, PC6,PC7 作为输出端, B 口设置成方式 1,输入口答: (1)MOV AL, 99H MOV DX, 0063H OUT DX, A
74、L (2) MOV AL, 0B6H MOV DX, 0063H OUT DX, AL 5. 设 8253计数器 02和控制字 I/O 地址依次 F8HFBH , 说明如下程序的作用。MOV AL, 33H OUT 0FBH, AL MOV AL, 80H OUT 0F8H, AL MOV AL, 50H OUT 0F8H, AL 答:计数器 0,方式 1,写两个字节控制字节送到控制字寄存器计数值的低位写低位计数初值的高位写高位6. 定时/计数器芯片 Intel 8253 占用几个端口地址?各个端口分别对应什么?答:8253占用 4 个端口地址,低地址分别为计数器0,计数器 1,计数器 2,最
75、高地址端口对应控制字寄存器。7. 试按如下要求分别编写8253 的初始化程序,已知8253 的计数器 02 和控制精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 38 页,共 43 页39 字 I/O 地址依次为 04H07H (1)计数器 1工作在方式 0,仅用 8 位二进制计数器,计数初值为128 (2)计数器 0工作在方式 1,按 BCD 码计算,计数值为3000 (3)计数器工作在方式2,计数值为 02F0H 答:(1) MOV AL, 50H OUT 07H, AL MOV AL, 128 OUT 05H, AL (2) MOV AL,
76、33H OUT 07H, AL MOV AX, 3000 OUT 04H, AL MOV AL, AH OUT 04H,A; (3) MOV AL, 0B4H OUT 07H, AL MOV AL, 0F0H OUT 06H,AL MOV AL, 02H OUT 06H, AL 8. 设一个 8253 的计数器 0 产生 20ms的定时信号,试对它进行初始化编程。答:根据题意,控制格式字为00110100B 假设 8253 的时钟输入是 8284 时钟发生器发出的 2.3864MHZ 经二分频得到所以,计数次数为 23864 程序段如下:MOV AL , 34H MOV DX, CTRLPOR
77、T OUT DX, AL MOV AX, 23864 MOV DX , PORT0 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 39 页,共 43 页40 OUT DX, AL MOV AL, AH OUT DX, AL 9让一个计数器 3工作在单稳态方式,让它产生15ms的脉冲宽度。答:方式字为 0B2H 或 0B3H 计数器初值: 30000 10.请把一个 8253与 8086CPU 相连,地址为 2FF02FF3H。11. 什么叫异步工作模式?画出异步工作方式时8255A 和 TXD 和 RXD 线上的数据格式。什么叫同步工作方式?什么
78、叫双同步字符方式?外同步和内同步有什么区别?答:串行工作方式分为同步方式和异步方式。异步工作方式时, 两个字符之间的传输间隔是任意的,所以,每个字符的前精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 40 页,共 43 页41 后都要用一些数位来作为分隔位。在采用异步工作方式时, 非数据信息比例比较大,而且,信息有效率比同步方式低,在异步方式下,接收方的时钟频率和发送方的时钟频率不必完全一样, 而只要比较像近,即不超过一定的允许范围就行了。异步方式时的数据格式(略) 。同步方式时,将许多字符组成一个信息组,这样,字符可以一个接一个地传输,但是,在每
79、组信息(通常称为信息帧)的开始要加上同步字符,在没有信息要传输时,要填上空字符,因为同步传输不允许有间隙。在同步方式下,非数据信息比例比较小, 要求进行信息传输的双方必须用同一个时钟进行协调,正是这个时钟确定了同步串行传输过程中每1 位的位置,而且,在传输数据的同时,还必须传输时钟信号。双同步方式,就是要在测得输入移位寄存器的内容和第一个同步字符寄存器的内容相同后,再继续检测此后的输入移位寄存器的内容是否与第二个同步字符寄存器的内容相同, 如果不同,则重新比较输入移位寄存器和第一个同步字符寄存器的内容,如果相同,则认为同步已经实现。外同步和内同步的区别: 在外同步情况下, 和内同步过程有所不同
80、, 因为这时是通过在同步输入端SYNDET 加一个高电位实现同步的, SYNDET 端一出现高电平, 8251A 就会立刻脱离对同步字符的搜索过程,只要此高电位维持一个接收时钟周期, 8251A 便认为已经完成同步。同步方式时的数据格式(略)。12.什么是 A/D, D/A 转换器?答:A/D是将模拟信号转换成数字信号的电路,称为模数转换器(analog to digital converter) ;D/A 是将数字信号转换为模拟信号的电路称为数模转换器(digital to analog converter) 。13. DAC0832 有哪几种工作方式?每种工作方式适用于什么场合?每种方式是
81、用什么方法产生的?答:DAC0832 可实现双缓冲、单缓冲和直通三种工作状态。双缓冲方式所谓双缓冲方式,就是把DAC0832 的输入锁存器和DAC 寄存器都接成受控锁精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 41 页,共 43 页42 存方式。适用于多个 DAC0832 同时输出的情况。采用的方法是先别分别是这些DAC0832的输入寄存器接受数据, 在控制这些 DAC0832 同时传送数据到DAC 寄存器以实现都多个 DAC 转换同步输出单缓冲方式所谓单缓冲方式就是使DAC0832 的输入锁存器和 DAC 寄存器有一个处于直通方式,另一个处于
82、受控的锁存方式。此方式只是用只有一路模拟量输出或几路模拟量非同步输出的情况。采用的方法是控制输入寄存器和DAC寄存器同时接受数据,或者只有用输入寄存器而把 DAC寄存器接成直通方式。直通方式适用于连续反馈控制线路中。 方法是数据不通过缓冲器, 即 WR1 , WR2 , XFER ,CS均匀接地, ILE 接高电平。此时,必须通过 I/O 接口与 CPU 连接,以匹配CUP与 D/A 的转换。14. 某 8 位 D/A 转换器芯片, 输出为 05V,当 CPU 分别为 80H,40H,10H 时,其对应的输出电压各是多少?答:80H 时128/256*5V=2.5V 40H 时64/256*5
83、V=1.25V 10H 时16/256*5V=0.3123V 15. ADC 把模拟量转换为数字量信号,转换步骤是什么?转换过程用到什么电路?答:ADC 把模拟量转换为数字量信号,分为四步来完成:采样、保持、量化、编码。转化过程可以用逐次逼近型电路、V/F 转换型电路和双积分型电路。16. ADC 与微处理器的接口任务是什么?答:ADC 与微处理器接口的基本任务是: 向 ADC转发启动转换信号 ; 向 CPU提供转换结束信号 , 把转换好的数据送入微处理器。17. ADC 中的转换结束信号( EOC)起什么作用?答:是转化结束信号,表示当前的A/D 转换已经完成,可作为查询信息,也可精选学习资
84、料 - - - - - - - - - 名师归纳总结 - - - - - - -第 42 页,共 43 页43 接中断申请信号。18. 如果 ADC0809 与微机接口采用中断方式,则EOC 应如何让与微处理器连接?答:可采用直接与CPU INTR脚连接,或通过 8259A接 CPU . 设 ADC0809 的端口号位 PORTAD,则在指令 OUT PORTAD,AL执行后, A/D转换器开始转换转换EOC 发一个高电平为转化结束, 此信号产生中断请求, CPU响应中断后,去执行中断处理程序,取结果IN AL,PORTAD,此时, M/IO,RD有效, CPU 获得转换结果。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 43 页,共 43 页