微机原理与接口技术思考与练习题(第三版)附答案 下载本文

1 思考与练习题

一、选择题

1.计算机硬件中最核心的部件是( )。 C A.运算器 B.主存储器 C.CPU D.输入/输出设备 2.微机的性能主要取决于( )。 A (B——计算机数据处理能力的一个重要指标) A.CPU B.主存储器 C.硬盘 D.显示器 3.计算机中带符号数的表示通常采用( )。 C A.原码 B.反码 C.补码 D.BCD码

4.采用补码表示的8位二进制数真值范围是( )。 C A.-127~+127 B.-1 27~+128 C.-128~+127 D.-128~+128 5.大写字母“B”的ASCII码是( )。 B A.41H B.42H C.61H D.62H

6.某数在计算机中用压缩BCD码表示为10010011,其真值为( )。 C A.10010011B B.93H C.93 D.147 二、填空题

1.微处理器是指_CPU_;微型计算机以_ CPU _为核心,配置_内存和I/O接口_构成;其特点是_(1)功能强 (2)可靠性高 (3)价格低 (4)适应性强 (5)体积小 (6)维护方便_。P8 P5 2.主存容量是指_RAM和ROM总和_;它是衡量微型计算机_计算机数据处理_能力的一个重要指标;构成主存的器件通常采用_DRAM和PROM半导体器件_。P5 P9

3.系统总线是_CPU与其他部件之间传送数据、地址和控制信息_的公共通道;根据传送内容的不同可分成_数据、地址、控制_3种总线。P9

4.计算机中的数据可分为_数值型和非数值型_两类,前者的作用是_表示数值大小,进行算术运算等处理操作_;后者的作用是_表示字符编码,在计算机中描述某种特定的信息_。P12 5.机器数是指_数及其符号在机器中加以表示的数值化_;机器数的表示应考虑_机器数的范围、机器数的符号、机器数中小数点位置_3个因素。P15 P16

6.ASCII码可以表示_128_种字符,其中起控制作用的称为_功能码_;供书写程序和描述命令使用的称为_信息码_。P18 P19 三、判断题

1.计算机中带符号数采用补码表示的目的是为了简化机器数的运算。 ( )√ 2.计算机中数据的表示范围不受计算机字长的限制。 ( )× 3.计算机地址总线的宽度决定了内存容量的大小。 ( )√ 4.计算机键盘输入的各类符号在计算机内部均表示为ASCII码。 ( )× (键盘与计算机通信采用ASCII码) 四、简答题

1.微处理器和微型计算机的发展经历了哪些阶段?各典型芯片具备哪些特点?P2~3 2.微型计算机硬件结构由哪些部分组成?各部分的主要功能和特点是什么?P8~11 3.微型计算机系统软件的主要特点是什么?包括哪些内容?P11~12 4.计算机中常用的数制有哪些?如何进行数制之间的转换?P13~15 5.ASCII码和BCD码有哪些特点?其应用场合是什么?P19~20 五、数制转换题

1.将下列十进制数分别转换为二进制数、十六进制数和压缩BCD码。

(1)25.82 1 1001.1101B ; 19.DH ; 0010 0101.1000 0010 BCD

(2)412.15 1 1001 1100.0010B ; 19C.2H ; 0400 0001 0010.0001 0101 BCD (3)513.46 10 0000 0001.0111 ; 201.7H ; 0101 0001 0011.0100 0110 BCD (4)69.136 0100 0101.0010 ; 45.2H ; 0101 1001.0001 0011 0110 BCD 2.将下列二进制数分别转换为十进制数和十六进制数。 (1)11 1001.101 57.625D ; 39.AH (2)11 0010.1101 50.8125D ; 32.DH (3)1011.1101 1 11.84375D ; B.D8H (4)10 1101.0111 45.4375D ; 2D.7H

3.将下列十六进制数分别转换为二进制数、十进制数和BCD码。

(1)7B.21 111 1011.0010 0001B ; 123.12890625D ; 123.12890625 BCD (2)127.1C 1 0010 0111.0001 11B ; 295.06640625D ; 295.06640625 BCD (3)6A1.41 101 1010 0001.0100 0001B ; 1697.25390625D ; 1697.25390625 BCD (4)2DF3.4 10 1101 1111 0011.01B ; 11763.25D ; 11763.25 BCD 4.写出下列十进制数的原码、反码、补码表示(采用8位二进制数)。

(1)96 [96]原=0110 0000 ; [96]反=0110 0000 ; [96]补=0110 0000 (2)31 [31]原=0001 1111 ; [31]反=0001 1111 ; [31]补=0001 1111 (3)-42 [-42]原=1010 1010 ; [-42]反=1101 0101 ; [-42]补=1101 0110 (4)-115 [-115]原=1111 0011 ; [-115]反=1000 1100 ; [-115]补=1000 1101 5.已知下列补码,求其原值的十进制表示。 (1)92H -110D (2)8DH -115D (3)B2H -78D (4)4C26H +19494D

6.按照字符所对应的ASCII码表示,查表写出如下字符的ASCII码: a、 K、 G、 +、 DEL、SP、 CR、 $ 。 61H 4BH 47H 2BH 7FH 20H 0DH 24H

2 思考与练习题

一、选择题

1.在EU中起数据加工与处理作用的功能部件是( )。

A.ALU B.数据暂存器 C.数据寄存器 D.EU控制电路 2.以下不属于BIU中的功能部件是( )。

A.地址加法器 B.地址寄存器 C.段寄存器 D.指令队列缓冲器 3.堆栈操作中用于指示栈顶地址的寄存器是( )。 A.SS B.SP C.BP D.CS

4.指令指针寄存器(IP)中存放的内容是( )。

A.指令 B.指令地址 C.操作数 D.操作数地址 5.8086系统可访问的内存空间范围是( )。 A.0000H~FFFFH B.00000H~FFFFFH

1620

C.0~2 D.0~2

6.8086的I/O地址空间采用16位数寻址时,可访问的端门数容量为( )。 A.16KB B.32KB C.64KB D.1MB

7.8086最大和最小工作方式的主要差别是( )。

A B B B B

C D

A.数据总线的位数不同 B.地址总线的位数不同

C.I/O端口数的不同 D.单处理器与多处理器的不同 二、填空题

1.8086的内部结构由_EU_和_BIU_组成,前者功能是_执行指令_,后者功能是_总线操作_。P24 P26

2.8086取指令时,会选取_CS_作为段基值,再加上由_IP_提供的偏移地址形成20位物理地址。

3.8086有两种外部中断请求线,它们分别是_INTR_和_NMI_。P32 4.8086的标志寄存器共有_9_个标志位,分为_6_个_状态_标志位和_3_个_控制_标志位。P28 5.8086为访问1MB内存空间,将存储器进行_分段_管理;其_物理_地址是唯一的;偏移地址是指_相对段基地址的偏移量_;逻辑地址常用于_程序中_。P29 P20 P34 P35

6.逻辑地址为1000H:0230H时,其物理地址是_10230H_,段地址是_1000H_,偏移量是_0230H_。

7.时钟周期是指_CPU基本时间计量单位_,总线周期是指_一次总线操作时间_,总线操作是指_CPU经外部总线对存储器或I/O端口进行一次信息输入和输出的过程_。P37

8.8086工作在最大方式时CPU引脚MN/-MX应接_地_;最大和最小工作方式的应用场合分别是_多处理器和单处理器系统_。P38 P39 三、判断题

1.IP中存放的是正在执行的指令偏移地址。 ( )× 2.从内存单元偶地址开始存放的数据称为规则字。 ( )√ 3.EU执行算术和逻辑运算后的结果特征可由控制标志位反映出来。 ( )× 4.指令执行中插入TI,和TW是为了解决CPU与外设之间的速度差异。 ( )× 5.总线操作中第1个时钟周期通常是取指周期。 ( )× 6.8086系统复位后重新启动时从内存地址FFFF0H处开始执行。 ( )√ 四、简答题

1.8086微处理器中的指令队列起什么作用(EU从指令队列取指令的缓冲作用),其长度是多少字节(6个字节)?P26

2.什么是逻辑地址(无符号32位二进制数),它由哪两部分组成(段地址和偏移地址)? 8086的物理地址是如何形成的(物理地址=段地址*10H+偏移地址)?P35

3.8086微机系统中存储器为什么要分段(8086系统内的地址寄存器均是16位,只能寻址64KB;将1MB存储器分成逻辑段,每段不超过64KB空间,以便CPU操作。),各逻辑段之间的关系如何(可重叠、交叉、紧密连接和分离)?P34

4.I/O端口有哪两种编址方式(统一编址和独立编址),8086的最大I/O寻址空间是多少(64KB)?P36

5.8086的最大工作模式(8086、8087和8089通过总线控制器8288产生对总线的控制信号)和最小工作方式(8086直接产生总线控制信号)的主要区别是什么?他们分别应用在何种场合(多处理器和单处理器系统)?P39

6.简述实地址方式(由段地址和偏移地址计算产生物理地址,其物理地址可以超过20位)和虚拟8086方式(由段地址和偏移地址计算产生的有效物理地址为20位)的区别。P41 7.简述Pentium微处理器的主要特性。P44 五、分析题

1.有一个由10个字组成的数据区,其起始地址为1200H:0120H。试写出该数据区的首末存储单元的实际地址(12120H~12120H+10*2-1=12133H)。

2.若一个程序段开始执行之前,(CS)=33AOH,(IP)=0130H,试问该程序段启动执行指令的实

际地址是什么(33A00H+0130H=33B30H)?

3.有两个16位的字31DAH和5E7FH,它们在8086系统存储器中的地址分别为00130H和00134H,试画出它们的存储示意图。

地址 存储空间

00130H 00131H

00134H 00135H

0DAH 31H 7FH 5EH

4.将字符串“Good!”的ASCII码依次存人从01250H开始的字节单元中,画出它们存放的内存单元示意图。

地址 存储空间 01250H 01251H 01252H 01253H 01254H

‘G’ ‘o’ ‘o’ ‘d’ ‘!’ 5.8086微处理器读/写总线周期各包含多少个时钟周期(4个时钟周期)?什么情况下需要插

入TW等待周期(当T3上升沿检测到READY=0时,在T3与T4之间插入TW)?应插入多少个TW,取决于什么因素(READY=0持续的时间长短)?什么情况下会出现空闲状态TI(BIU不执行总线操作的时钟周期。例如:8086执行MUL、DIV指令长指令时,BIU有段时间不执行总线操作;因此,插入TI)?P38

3 思考与练习题

一、选择题

1.寄存器间接寻址方式中,要寻找的操作数位于( )中。 B A.通用寄存器 B.内存单元 C.段寄存器 D.堆栈 2.下列指令中正确的是( )。 C A.MOV AL,BX B.MOV CS,AX C.MOV AL,CL D.MOV [BX],[SI] 3.下列指令中错误的是( )。 C A.MOV AX,1234H B.INC BX C.SRL AX,2 D.PUSH DX 4.设(SP)=1010H,执行POP AX后,SP中的内容为( )。 B A.1011H B.1012H C.1OOEH D.100FH

5.给定(AL)=80H,(CL)=02H,指令SHR AL,CL执行后的结果是( )。 B A.(AL)=40H B.(AL)=20H C.(AL)=C0H D.(AL)=E0H 6.将AX清零并使CF位清零,下面指令错误的是( )。 A A.SUB AX,BX B.XOR AX,AX C.MOV AX,0(不影响FR) D.AND AX,0OOOH 二、填空题

1.计算机指令通常由_操作码字段_和_操作数字段_两部分组成;指令对数据操作时.按照数据的存放位置可分为_立即数、寄存器操作数、存储器操作数_。 2.寻址的含义是指_寻找操作数的过程_;8086指令系统的寻址方式按照大类可分为_与操作数有关的寻址方式、与I/O端口有关的寻址方式_;其中寻址速度最快的是_立即数寻址_。

P54~P57

3.指令MOV AX,ES:[BX+O1OOH]中,源操作数位于_物理地址为ES*10H+BX+0100H的存储单元_;读取的是_附加数据ES_段的存储单元内容。

4.堆栈是一个特殊的_存储器区域_,其操作是以_2字节单元_为单位按照__先进后出_原则来处理;采用_SP_指向栈顶地址,入栈时地址变化为_SP<=(SP)-2_。P57

5.I/O端口的寻址有_直接端口寻址和间接端口寻址_两种方式;采用8位数端口地址(直接端口寻址)时,可访问的端口地址为_0~255_;采用16位数端口地址(间接端口寻址)时,可访问的端口地址为_0~65535_。P57~ P58 三、分析计算题

1.指出如下指令中源操作数和目的操作数的寻址方式: (1)MOV AX,100H (2)MOV CX,AX

(3)ADD [SI],1000 (4)SUB BX,[SI+100] (5)MOV [BX+300],AX (6)AND BP,[DI]

源操作数 目的操作数 (1)MOV AX,100H 立即数 寄存器 (2)MOV CX,AX 寄存器 寄存器 (3)ADD [SI],1000 立即数 寄存器间接 (4)SUB BX,[SI+100] 变址 寄存器 (5)MOV [BX+300],AX 寄存器 变址 (6)AND BP,[DI] 寄存器间接 寄存器

2.分析如下指令的正误,对错误指令说明出错误原因并加以收正: (1)MOV [1200],23H (2)MOV 1020H,CX (3)MOV [1000H],[2000H] (4)MOV IP,O00H (5)PUSH AL (6)OUT CX,AL (7)IN AL,[80H] (8)MOV CL,3300H

(1)MOV [1200],23H ;未指明数据类型 MOV BYTE PTR[1200],23H (2)MOV 1020H,CX ;立即数不能作为目标操作数 MOV [1020H],CX (3)MOV [1000H],[2000H] ;两操作数不能均是内存单元 MOV BYTE PTR [1000H],2000H (4)MOV IP,000H ;IP不能在MOV指令中出现 JMP 000H (5)PUSH AL ;操作数必须是16位 PUSH AX

(6)OUT CX,AL ;CX不能作为端口地址的间接访问寄存器 OUT DX,AL (7)IN AL,[80H] ;直接端口地址写法错误 IN AL,80H (8)MOV CL,3300H ;两操作数的数据类型不一致 MOV CX,3300H

3.给定(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(2010lH)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H。试分析如下指令执行后,AX寄存器中的内容:

(1)MOV AX,12O0H (2)MOV AX,BX (3)MOV AX,[1200H] (4)MOV AX,[BX] (5)MOV AX,1100H[BX] (6)MOV AX,[BX+SI] (7)MOV AX,[11OOH+BX+SI]

(1)MOV AX,1200H ;(AX)=1200H (2)MOV AX,BX ;(AX)=0100H (3)MOV AX,[1200H] ;(AX)=4C2AH (4)MOV AX,[BX] ;(AX)=3412H (5)MOV AX,1100H[BX] ;(AX)=4C2AH (6)MOV AX,[BX+SI] ;(AX)=7856H (7)MOV AX,[1100H+BX+SI] ;(AX)=65B7H

4.已知(AX)=75A4H,CF=1,分别写出如下指令执行后的结果: (1)ADD AX,08FFH (2)INC AX

(3)SUB AX,4455H (4)AND AX,OFFFH (5)OR AX,0101H (6)SAR AX,1 (7)ROR AX,1 (8)ADC AX,5

(1)ADD AX,08FFH ;(AX)= 7EA3H CF=0 (2)INC AX ;(AX)= 75A5H CF=1 (3)SUB AX,4455H ;(AX)= 314FH CF=0 (4)AND AX,0FFFH ;(AX)= 05A4H CF=0 (5)OR AX,0101H ;(AX)= 75A5H CF=0 (6)SAR AX,1 ;(AX)= 3AD2H CF=0 (7)ROR AX,1 ;(AX)= 3AD2H CF=0 (8)ADC AX,5 ;(AX)= 75AAH CF=0

5.给定(SS)=8000H,(SP)=2000H,(AX)=7A6CH,(DX)=3158H。执行如下程序段,画出每条指令执行后寄存器的内容和堆栈存储内容的变化情况: PUSH AX PUSH DX POP BX POP CX

PUSH AX ;(AX)=7A6CH,(SP)=1FFEH,(81FFEH)=7A6CH PUSH DX ;(DX)=3158H,(SP)=1FFCH,(81FFCH)= 3158H POP BX ;(BX)=3158H,(SP)=1FFEH POP CX ;(CX)=7A6CH,(SP)=2000H

6.试分析如下程序段执行完后,BX的内容:817FH MOV BX,1030H ;(BX)=1030H MOV CL,3 ;(CL)=3 SHL BX,CL ;(BX)=8180H DEC BX ;(BX)=817FH 四、设计题

1.现有两个双倍精度字数据1234FEDCH和11238765H,分别存放在数据段中从1000H和2000H开始的存储单元中,低位在前,高位在后。要求两数相加之后所得的和放在从1000H开始的内存单元中,设计该程序段。

;3_4_1.ASM

MOV SI,2000H ;SI指向2000H MOV DI,1000H ;DI指向1000H CLC ;CF=0

MOV CX,4 ;CX=4,循环相加4次 LL: MOV AL,[SI] ;取数 ADC AL,[DI] ;相加 MOV [DI],AL ;保存 INC SI ;SI增1 INC DI ;DI增1

LOOP LL ;CX减1,不为0,转LL MOV AX,0 ADC AX,0 MOV [DI],AX

2.设AX、BX中保存有带符号数,CX、DX中保仔无符号数,请写出实现以下功能的指令或程序段。

(1)若(CX)<(DX),则转移到NEXT1。 CMP CX,DX JB NEXT1

(2)若(AX)>(BX),则转移到NEXT2。 CMP AX,BX JG NEXT2

(3)若(CX)=0,则转移到NEXT3。

CMP CX,0 或 JCXZ NEXT3 JE NEXT3

(4)若AX中内容为负,则转移到NEXT4。

TEST AX,8000H 或 ADD AX,0 JNZ NEXT4 或 JS NEXT4 3.设堆栈寄存器(SS)=2250H。堆栈指示器(SP)=0140H,若在堆栈中存入5个字数据,则SS、SP的内容各是多少?[(SS)=2250H、(SP)=0136H] 如果又取出2个字数据,SS、SP的内容各是多少?[(SS)=2250H、(SP)=013AH]

4 思考与练习题

一、选择题

1.汇编语言程序中可执行的指令位于( )中。 C A.数据段 B.堆栈段 C.代码段 D.附加数据段 2.以下内容不是标号和变量属性的是( )。 B A.段属性 B.地址属性 C.偏移属性 D.类型属性

3.DOS功能调用中采用屏幕显示单个字符,其值保存在( )寄存器。 C A.AL B.AH C.DL D.DH

4.DOS功能调用中,从键盘读取一个字符并回显的是( )。 A A.01H B.02H C.09H D.0AH

5.循环程序设计中,要考虑的核心问题是( )。 A A.循环的控制 B.选择循环结构 C.设置循环参数初始值 D.修改循环控制参数

6.对于宏指令和子程序,下列说法不正确的是( )。 D A.宏指令不能简化目标程序

B.子程序可以简化目标程序,但执行时间长 C.子程序在执行过程中由CPU处理 D.宏指令在执行时要保护和恢复现场 二、填空题

1.汇编语言是一种面向_CPU指令系统_的程序设计语言,采用_指令助记符_表示操作码和操作数,用_符号地址_表示操作数地址。P82

2.汇编语言的语句可由_名字、操作符、操作数、注释_四部分组成;其中_操作符_是必须具备的。P83

3.机器指令是指_发送给CPU的命令_,在运行时由_CPU_执行;伪指令是_发送给汇编程序的命令_,在汇编过程中由_汇编程序_进行处理;宏指令是指_代表一段源程序_,通常用于_经常用到的一个程序段_场合。P87、P107

4.子程序的基本结构包括_子程序说明、现场保护及恢复、子程序体、子程序返回_等几个部分;子程序的参数传递有_寄存器、堆栈、存储器_等方法。P104、P105

5.DOS功能调用可完成对_完成对文件、设备、内存_的管理;BIOS的主要功能是_外设的控制;如系统加电自检、引导装入及对键盘、磁盘、显示器、打印机、异步串行通信口等的控制_。

6.给定如下程序段,在每条指令的右边写出指令的含义和操作功能,指出该程序段完成的功能及运行结果:

MOV AX,0 ;AX<=0 MOV BX,1 ;BX<=1 MOV CX,5 ;CX<=5 LP: ADD AX,BX ;AX<=AX+BX ADD BX,2 ;BX<=BX+2

LOOP LP ;CX<=CX-1;若CX≠0,转LP HLT ;停机 (1)该程序段完成的功能是_

?2n?1_。

05 (2)程序运行后:(AX)=_36_;(BX)= _11_;(CX)= _0_。 三、判断题

1.伪指令是在汇编中用于管理和控制计算机相关功能的指令。 ( )× 2.程序中的“$”可指向下一个所能分配存储单元的偏移地址。 ( )√ 3.宏指令的引入是为了增加汇编程序的功能。 ( )√ 4.多重循环的内循环要完整地包含在外循环中,可嵌套和并列。 ( )√ 5.子程序结构缩短了程序的长度,节省了程序的存储空间。 ( )√ 四、简答题

1.完整的汇编源程序应该由哪些逻辑段组成(数据段、堆栈段、代码段)?各逻辑段的主要作用是什么(存放数据变量及其预置初值、保存中断和子程序的断点和参数传递、存放程序执行的代码)?P87

2.简述在机器上建立(为源程序起一个有意义的文件名字,并创建成文本文件)、编辑(在文本编辑软件EDIT.EXE环境下,输入和编辑源程序)、汇编(通过汇编程序ASM.EXE或MASN.EXE,将源程序会变成机器语言目标程序.OBJ)、连接(运用连接程序LINK.EXE,将目

标程序.OBJ连接生成执行程序.EXE)、运行(在DOS状态下,直接运行执行程序)、调试(运用调试程序DEBUG.EXE将执行程序跳入调试界面状态,并进行断点设置调试运行或单步调试运行操作)汇编语言源程序的过程和步骤。P94

3.什么是伪指令(发送给汇编程序的命令)?程序中经常使用的伪指令有哪些(数据定义、符号定义、段定义、过程定义、结构定义、模块定义与连接、程序计数器$和起点定义ORG)?简述其主要功能(数据定义为变量及其类型分配存储单元,并赋予初值;符合定义给一个符号重新命名;段定义指定逻辑段的名称、范围、断的定位类型、组合类型和类别;过程定义为程序段定义成过程,并赋予过程名字,以便用CALL指令调用;结构定义用于相互关联的数据定义;模块定义与连接用NAME为源程序汇编后的目标程序指定模块名,以便连接该目标模块,并生成执行程序文件;$在汇编过程中,用于存储单元分配计数器,该计数器可在指令操作数表达式中引用;ORG为数据变量和程序段指定起始位置。)?P87~P93

4.什么是宏指令(代表某功能的一段源程序)?宏指令在程序中如何被调用(在源程序中,通过宏名字(即宏指令名)进行调用)?P107

5.子程序与宏指令在程序的使用中有何共性(宏和子程序都可用来简化程序,并可使程序多次对它们调用。)及不同特点(宏操作可直接传递和接收参数,不通过堆栈或其他媒介;子程序不能直接带参数,需有传递参数时,必须通过堆栈寄存器和存储器进行。宏调用只能简化源程序的书写,并没有缩短目标代码长度;子程序调用能缩短目标程序长度。应用好操作并不会在执行目标代码时增加额外的时间开销;子程序调用由于需要保护和恢复现场和断点,因而延长目标程序的执行时间)?P109 五、设计题

22

1.编程实现求S=(X+Y)/Z的值,并将结果放人RESULT单元。 ;XT4_5_1.ASM

DATA SEGMENT ;定义数据段 X DW 15 Y DW -32 Z DW 280

RESULT DW 2 DUP(?) ;定义结果保存单元 DATA ENDS ;数据段结束 CODE SEGMENT ;定义代码段 ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA ;初始化DS MOV DS,AX

MOV AX,X ;取出被乘数X存入AX中 IMUL X ;执行X2操作

MOV CX,AX ;乘积的低位字转存至CX MOV BX,DX ;乘积的高位字转存至BX MOV AX,Y ;取出被乘数X存入AX中 IMUL Y ;执行Y2操作

ADD AX, CX ;X2+Y2的低位字与Z的低位字相加 ADC DX, BX ;X2+Y2的高位字相加 IDIV Z ;(X2+Y2)/Z

MOV RESULT,AX ;商存入RESULT单元

MOV RESULT+2,DX ;余数存入RESULT+2单元 MOV AH,4CH

INT 21H ;返回DOS CODE ENDS ;代码段结束 END START ;汇编结束 2.编程序完成计算S=(A+B)/2-2(A AND B)。 ;XT4_5_2.ASM

DATA SEGMENT ;定义数据段 A DW 15 B DW -32 S DW ?

RESULT DW 2 DUP(?) ;定义结果保存单元 DATA ENDS ;数据段结束 CODE SEGMENT ;定义代码段 ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA ;初始化DS MOV DS,AX

MOV AX,A ;取出被乘数A存入AX中 ADD AX, B ;A+B SAR AX,1 ;(A+B)/2 MOV BX,AX ;存入BX中

MOV AX,A ;取出被乘数A存入AX中 AND AX, B ;A AND B SAL AX,1 ;(A AND B)*2

SUB BX,AX ; (A+B)/2-2(A AND B) MOV S,BX ;存入S单元 MOV AH,4CH

INT 21H ;返回DOS CODE ENDS ;代码段结束

END START ;汇编结束

3.试编程实现将内存中的若干个无符号字数据中的最大值和最小值找出来,并开辟独立的存储区域保存结果。 ;XT4_5_3.ASM DATA SEGMENT

ARR DW 123,456,67,0,34,90,89,67,0,256 CN EQU ($-ARR)/2

ZD DW 0 ;最大(数组中任何数均大于AX内容) ZX DW 0FFFFH ;最小(数组中任何数均小于BX内容) DATA ENDS CODE SEGMENT

ASSUME DS:DATA,CS:CODE START: MOV AX,DATA

MOV DS,AX ;初始化DS

MOV SI,OFFSET ARR ;数组首地址送SI MOV CX,CN ;数组元素个数送CX

CALL QZDZXS ;调用近过程QZDZXS(求最大最小数)

MOV AH,4CH

INT 21H ;返回DOS ;求最大最小数子程序名:QZDZXS

;子程序功能:求一组字数据中的最大最小数

;入口参数:数组首地址在SI中,数组个数在CX中 ;出口参数:最大数在ZD中,最小数在ZX中 ;使用寄存器:CX、DX、SI及PSW QZDZXS PROC NEAR PUSH SI PUSH DX

PUSH CX ;保护现场

ZDZX0: MOV DX,[SI] ;取一个数组元素送DX

CMP ZD,DX ;AX中内容和DX中内容比较 JNB ZDZX1 ;(ZD)>(DX),转ZDZX1 MOV ZD,DX ;较大数存入ZD

ZDZX1: CMP ZX,DX ;AX中内容和DX中内容比较 JNA ZDZX2 ;(ZX)<(DX),转ZDZX1 MOV ZX,DX ;较小数存入ZX ZDZX2: ADD SI,2 ;数组指针加2调整 LOOP ZDZX0 ;循环控制 POP CX POP DX

POP SI ;恢复现场 RET ;返回主程序

QZDZXS ENDP ;子程序定义结束 CODE ENDS ;代码段结束 END START ;汇编结束 4.编写程序,计算如下函数的值:

;XT4_5_4.ASM

DATA SEGMENT X DB 15 S DB ? DATA ENDS

CODE SEGMENT

ASSUME DS:DATA, CS:CODE START: MOV AX,DATA MOV DS,AX MOV AL,X TEST AL,80H JZ LL0

SAL AL,1 ;2X JMP LL10 LL0: CMP AL,10 JG LL1

MOV BL,AL

SAL AL,1 ;3X ADD AL,BL JMP LL10

LL1: SAL AL,1 ;4X SAL AL,1 LL10: MOV S,AL MOV AH,4CH

INT 21H ;返回DOS CODE ENDS

END START ;汇编结束

5.从键盘输入一系列字符,以回车符结束,编写程序统计其中非数字字符的个数? ;XT4_5_5.ASM

DATA SEGMENT

NUM DB 0 ;统计变量 DATA ENDS

STACK SEGMENT STACK ;定义堆栈段

DB 100 DUP(?) ;开辟100个存储单元 STACK ENDS ;堆栈段结束 CODE SEGMENT ;定义代码段

ASSUME CS:CODE,SS:STACK,DS:DATA START: MOV AX,DATA MOV DS,AX

LLL: MOV AH,01H ;1号调用,从键盘输入一字符存入AL INT 21H

CMP AL,13 ;与“回车符”的ASCII码比较 JZ L2 ;是“回车符”,转L2(退出) CMP AL,30H ;与“0”的ASCII码比较

JB L1 ;低于“0”的非数字字符ASCII码,转L1(统计)。 CMP AL,39H ;与“9”的ASCII码比较

JA L1 ;高于“9”的非数字字符ASCII码,转L1(统计)。 JMP LLL

L1: INC NUM ;非数字字符,统计;计数增1。 JMP LLL ;转LLL(继续) L2: MOV DL,0AH ;设置换行符 MOV AH,02H ;设置显示功能号 INT 21H ;换行

MOV DL,NUM ;设置显示统计数字(8位二进制数) MOV CL,4

SHR DL,CL ;保留高4位二进制数

OR DL,30H ;转换成ASCII码(高1位十六制数的ASCII) MOV AH,02H ;设置显示功能号

INT 21H ;显示高1位十六制数的ASCII MOV DL,NUM ;设置显示统计数字(8位二进制数) AND DL,0FH ; 保留低4位二进制数

OR DL,30H ;转换成ASCII码(低1位十六制数得ASCII) MOV AH,02H ; 设置显示功能号

INT 21H ; 显示低1位十六制数的ASCII MOV DL,’H’ ; 设置显示’H’ MOV AH,02H ; 设置显示功能号 INT 21H ; 显示’H’

MOV AH,4CH ;设置返回DOS功能码。

INT 21H ;返回DOS CODE ENDS ;代码段结束 END START ;程序汇编结束

6.编程实现将键盘连续输入的小写字母用大写字母显示出来,小写字母与大写字母之间采用 “-”号分隔,当输入非小写字母时程序停止处理。 ;XT4_5_6.ASM

STACK SEGMENT STACK ;定义堆栈段

DB 100 DUP(?) ;开辟100个存储单元 STACK ENDS ;堆栈段结束 CODE SEGMENT ;定义代码段 ASSUME CS:CODE,SS:STACK

START: MOV AH,01H ;1号调用,从键盘输入一字符存入AL INT 21H ;输入并回显

MOV BL,AL ;保存从键盘输入字符 CMP AL,?a? ;与“a”的ASCII码比较

JB L3 ;低于“a”的ASCII码,转L3(退出)。 CMP AL,?z? ;与“z”的ASCII码比较

JA L3 ;高于“a”的ASCII码,转L3(退出)。

SUB AL,20H ;将AL中字符的ASCII码减去20H变成大写字母。 MOV BL,AL ;保存结果

MOV DL,?-? ;显示字符?-?送DL

MOV AH,02H ;2号调用,在显示器上显示字符?-?。 INT 21H ;显示?-?

MOV DL,BL ;结果(大写字母)送DL。

MOV AH,02H ;2号调用,在显示器上显示DL中的内容(大写字母)。 INT 21H ;显示大写字母 MOV DL,20H ;空格送DL。()

MOV AH,02H ;2号调用,在显示器上显示DL中的内容(大写字母)。 INT 21H ;显示空格(使两结果用空格隔开) JMP START ;不是“回车符”,转START(继续) L3: MOV AH,4CH ;是“回车符”,设置返回DOS功能码。 INT 21H ;返回DOS CODE ENDS ;代码段结束 END START ;程序汇编结柬

7.在数据段中有一个字节数组,编程统计其中正数的个数放入、单元保存,统计负数的个数放入B单元保存。 ;XT4_7.ASM

DATA SEGMENT

ARR DB -13,46,67,0,-34,-90,89,67,0,26 CN EQU $-ARR ;数组长度

A DW ? ;正数个数统计结果变量 B DW ? ;负数个数统计结果变量 DATA ENDS

CODE SEGMENT

ASSUME DS:DATA,CS:CODE START: MOV AX,DATA

MOV DS,AX ;初始化

MOV SI,OFFSET ARR ;数组首地址送SI MOV CX,CN ;数组元素个数送CX L0: MOV DL,[SI] ;取一个数组元素送DX TEST DL,80H ;DX中内容和0比较 JNZ NE0 ;小于0转NE0

INC A ;否则为正数,A内容加1 JMP L1 ;转L1

NE0: INC B ;为负数,B内容加1 L1: ADD SI,1 ;数组指针加1调整 LOOP L0 ;循环控制 MOV AH,4CH

INT 21H ;返回DOS CODE ENDS ;代码段结束 END START ;汇编结束

8.编程实现定义一条宏指令,完成将一位十六进制数转换为ASCII码的操作。 ;XT4_5_8.ASM

; 分析:将AL的低4位(一位十六进制数)转换成ASCII码,并通过AL返回。 H_ASCII MACRO

AND AL,0FH CMP AL,9 JG

OR AL,30H JMP L2 L1: OR AL,40H L2: ENDM

5 思考与练习题

一、选择题

1.微机中地址总线的作用是( )。 C A.选择存储单元 B.选择信息传输的设备 C.指定存储单元和I/O接口电路地址 D.确定操作对象 2.微机中使用总线结构便于增减外设,同时可以( )。 C A.减少信息传输量 B.提高信息传输量 C.减少信息传输线条数 D.增加信息传输线条数

3.可将微处理器、内存储器及I/O接口连接起来的总线是( )。 C A.芯片总线 B.外设总线 C.系统总线 D.局部总线 4.CPU与计算机的高速外设进行信息传输采用的总线是( )。 D A.芯片总线 B.系统总线 C.局部总线 D.外部设备总线 5.要求传送64位数据信息,应选用的总线是( )。 C

2

A.ISA B.IC C.PCI D.AGP 6.以下不属于USB主要特点的是( )。 D A.可以热插拔 B.数据传输快速 C.携带方便 D.可并行处理 二、填空题

1.总线是微机系统中_多个部件之间公用的_一组连线,是系统中各个部件_信息交换的_公共通道,由它构成_芯片、插件或系统之间的_标准信息通路。P116

2.微机总线一般分为_内部总线、系统总线和外部总线_三类。用于插件板一级互连的是_系统总线_;用于设备一级互连的是_外部总线_。P116~117

3.总线宽度是指_可同时传送的二进制数据的位数_;数据传输率是指_在单位时间内总线上

可传送的数据总量_。P120

4.AGP总线是一种_高速图形接口局部总线标准_;主要用于_高速视频或高品质画面的显示_场合。P132

5.USB总线是一种_支持即插即用的新型串行_接口;其主要特点是_使用方便、速度加快、连接灵活、独立供电、支持多媒体_。P133~134 6.IEEE1394是一种_新型的高速串行_总线。主要应用于_超过100Kbit/s的硬盘和视频设备_。P134 三、简答题

1.在微型机系统中采用标准总线的好处有哪些(系统结构简单清晰,便于系统扩充与更新)?P116

2.PCI总线有哪些主要特点[P129(1)~(6)],PCI总线结构与ISA总线结构有什么地方不同(ISA总线属于低端总线[P121];PCI属于高端总线[P121])?

3.什么是AGP总线(高速图形接口局部总线标准)?它有哪些主要特点[P132(1)~(4)],应用在什么场合(高速视频或高品质画面的显示)?P132 4.USB接口有什么特点(使用方便、速度加快、连接灵活、独立供电、支持多媒体)P133~134?USB的数据传送有哪几种方式(控制传输方式、同步传输方式、中断传输方式、批量传输方式)P134?

5.IEEE1394与USB两种串行总线各有什么区别(IEEE1394的设备采用内存编址方法;USB设备采用I/O通道编址方法)P138?

2

6.简述IC总线的特点和工作原理(P139~141)。

7.讨论在开发和使用微机应用系统时应怎样合理地选择总线,需要注意哪些问题(P141本章小结)。

6 思考与练习题

一、选择题

1.存储器的主要作用是( )。 D A.存放数据 B.存放程序 C.存放指令 D.存放数据和程序 2.以下存储器中,CPU不能直接访问的是( )。 D A.Cache B.RAM C.主存 D.辅存 3.以下属于DRAM特点的是( )。 C A.只能读出 B.只能写入 C.信息需定时刷新 D.不断电信息能长久保存 4.某存储器容量为64K x 16,该存储器的地址线和数据线条数分别为( )。 C A.16,32 B.32,16 C.16,16 D.32,32 5.采用虚拟存储器的目的是( )。 C A.提高主存的存取速度 B.提高辅存的存取速度 C.扩大主存的存储空间 D.扩大辅存的存储空间 二、填空题

1.存储容量是指_二进制信息总量_;容量越大,能存储的_二进制信息_越多,系统的处理能力就_越强_。P144

2.RAM的特点是_通过指令可随机地对存储单元进行访问_;根据存储原理可分为_静态RAM_和_动态RAM_,其中要求定时对其进行刷新的是_动态RAM_。P148

3.Cache是一种_高速小容量_的存储器,位于_CPU_和_主存_之间,用来存放_CPU正在使用的指令和数据_;使用Cache的目的是_提高CPU访问存储器的存取速度,减少处理器的等待时间_。P144 P165

4.虚拟存储器是以_存储器访问局限性_为基础,建立在_主存-辅存_物理体系结构上的_主存与辅存之间的数据交换_技术。P167

5.计算机中采用_主存-辅存和Cache-主存_两个存储层次,来解决_存储器的速度、容量和价格_之间的矛盾。P146 三、判断题

1.SRAM比DRAM电路简单,集成度高,功耗低。 ( × ) 2.Cache的存取速度比主存快,但比CPU内部寄存器慢。 ( √ ) 3.辅存与主存的相比,其特点是容量大,速度快。 ( × ) 4.CPU可直接访问主存和辅存。 ( × ) 四、简答题

1.简述存储器系统的层次结构,并说明为什么会出现这种结构?P45

2.静态存储器和动态存储器的最大区别是什么,它们各有什么优缺点?P148 3.常用的存储器地址译码方式有哪几种,各自的特点是什么?P156 4.半导体存储器在与微处理器连接时应注意哪些问题?P157 5.计算机中为什么要采用高速缓冲存储器(Cache)?P165 6.简述虚拟存储器的概念。P165~P167 五、分析设计题

1.已知某微机系统的RAM容量为4K × 8位,首地址为4800H。求其最后一个单元的地址。4800H+1000H-1=57FFH

2.设有一个具有14位地址和8位数据的存储器,问: (1)该存储器能存储多少字节的信息?答:214=24×210=16KB

(2)如果存储器由8K x 4位RAM芯片组成,需要多少片?答:4片 (3)需要地址多少位做芯片选择?答:1位(局部译码)

3.用16K x 1位的DRAM芯片组成64K x 8位的存储器,要求画出该存储器组成的逻辑框图。 解: 如下图(共32片16Kx1位)

A15

A14

译码器 -Y3(C0000H~FFFFH) -Y1(8000H~BFFFH) -Y2(4000H~7FFFH) -Y0(0000H~3FFFH) A13~A0 -CS AB -RD 16Kx1位 -CS AB -RD 16Kx1位 -CS AB -RD 16Kx1位 -CS AB -RD 16Kx1位 -MEMR -MEMW (8片) -WR DB (8片) -WR DB (8片) -WR DB (8片) -WR DB D8~D0

7 思考与练习题

一、填空题

1.接口是指_外设与CPU通信的控制部件_,是_CPU与外设间传递信息的_中转站。P172 2.I/O接口电路位于_总线和外部设备_之间,其作用是_信息转换和数据传递_;经接口电路传输的数据类别有_数据信息、控制信息、状态信息_。P172、P175

3.I/O端口地址常用的编址方式有_I/O端口与内存统一编址和I/O端口独立编址_两种;前者的特点是_(P176)_;后者的特点是_(P176)_。P176

4.中断方式进行数据传送,可实现_CPU与外设_并行工作,提高了_CPU_的工作效率。中断传送方式多适用于_小批量慢速数据输入/输出设备传送_场合。P181

5.DMA方式是在_内存与外设_间开辟专用的数据通道,在_DMA控制器_控制下直接进行数据传送而不必通过CPU。P182 二、简答题

1.什么是接口,为什么计算机内一定要配置接口?P172 2.微机的接口一般应具备哪些功能?P174 3.什么是端口(1),I/O端口的编址方式有哪儿种(2)?各有何特点(3),各适用于何种场合(4)?

答:1. CPU通过接口寄存器或特定电路与外设进行数据传送,这些寄存器或特定电路称之为端口。2. I/O端口有统一编址和独立编址方式;3. I/O端口的编址各有何特点?答案在P176。4. 各种I/O数据传送方式适用于何种场合?答案在P177~P183。

4.CPU和外设之间的数据传送方式有哪几种,无条件传送方式通常用在哪些场合?

答:程序控制方式(有、无条件);中断方式;DMA方式。无条件传送方式用在对简单设备进行操作,或外设的定时是固定的并且是已知的场合。 答案在P177~P183。 5.相对于条件传送方式,中断方式有什么优点?和DMA方式比较,中断传送方式又有什么不足之处?

答:1. 提高CPU的利用率;实时数据处理。2. 中断方式通过执行服务程序进行数据传送,相对DMA方式要消耗大量的额外操作时间(取指令操作;地址增减和字节计数改变操作;保存和恢复现场及断点操作) 答案在P177~P183。

6.简述在微机系统中,DMA控制器从外设提出请求到外设直接将数据传送到存储器的工作过程:

答案在P182~P183。

8 思考与练习题

一、填空题

1.8237A用_硬件方式_实现_I/O外设与内存_之间的快速数据直接传输;其工作方式有_单字节传送方式、数据块传送方式、请求传送方式、级联传送方式_。P188~P189

2.进行DMA传输之前,CPU要对8237A_初始化编程_:其主要内容有_(见P196 8237A编程一般步骤)_。P195~P196

3.8237A设置了_主清除命令、清除字节指示器命令、清除屏蔽寄存器命令_3条软件命令,这些软件命令只要对_相应端口(分别是8237A端口基地址加0DH、加0CH、加0EH)写操作_就会自动执行清除命令。P195~P196 二、简答题

1.DMA控制器8237A有哪两种工作状态,其工作特点如何? 答案在P184~P184。

2.8237A的当前地址寄存器、当前字计数寄存器和基字寄存器各保存什么值?

答案在P190~P191。

3.8237A进行DMA数据传送时有几种传送方式?其特点是什么 答:单字节传送方式、字组方式、连续方式。答案在P188~P189 4.8237A有几种对其DMA通道屏蔽位操作的方法? 答案在P193~P1194。 三、设计题

1.设置PC的8237A通道2传送1KB数据,请给其字节数寄存器编程。

解:传送1KB(0400H字节)的字节数寄存器的初始值为03 FFH。通道2字节数寄存器的端口地址:8237A的基地址+09H;清除字节指示器的端口地址:8237A的基地址+0CH。当8237A通道2传送1KB数据,对字节数寄存器初始化编程如下: DMA EQU 00H ;设8237A的基地址为00H ;输出清除字节指示器命令

OUT DMA+0CH,AL ;发清除字节指示器命令(指向16位字节数寄存器的低8位) ;字节数寄存器的初始化操作

MOV AL,0FFH ;设置字节数寄存器低8位初始值 OUT DMA+09H,AL ;写字节数寄存器低8位初始值 MOV AL,03H ;设置字节数寄存器高8位初始值 OUT DMA+09H,AL ;写字节数寄存器高8位初始值

2.若8237A的端口基地址为000H,要求通道0和通道1工作在单字节读传输,地址减1变化,无自动预置功能。通道2和通道3工作在数据块传输方式,地址加1变化,有自动预置功能。8237A的DACK为高电平有效,DREQ为低电平有效,用固定优先级方式启动8237A工作,试编写8237A的初始化程序。

DMA EQU 00H ;8237A的基地址为00H ;输出主清除命令

OUT DMA+0DH,AL ;发总清除命令

;写入方式字:通道0和通道1工作在单字节读传输,地址减1变化,无自动预置功能。 MOV AL,01101000B ;通道0方式字 OUT DMA+0BH,AL ;写入方式字 MOV AL,01101001B ;通道1方式字 OUT DMA+0BH,AL ;写入方式字

;写入方式字:通道2和通道3工作在数据块(读)传输方式,地址加1变化,有自动预置功能。 MOV AL,10011010B ;通道2方式字 OUT DMA+0BH,AL ;写入方式字 MOV AL,10011011B ;通道3方式字 OUT DMA+0BH,AL ;写入方式字

;写入命令字:DACK为高电乎有效,DREQ为低电平有效,用固定优先级方式,允许8237A DMA传送。

; (不扩展写,正常时序,禁止通道0地址保持不变,禁止存储器到存储器) MOV AL,11000000B ;命令字 OUT DMA+08H,AL :写入8237A ;写主屏蔽字,通道0~3屏蔽位清0。 MOV AL,00H

OUT DMA+0FH,AL ;一次完成4个通道屏蔽位清0。

9 思考与练习题

一、填空题

1.中断是指_(P200)_;实现中断功能的控制逻辑称为_中断系统_。P200

2.中断源是指_引起中断的设备或事件_;按照CPU与中断源的位置可分为_内部中断和外部中断_。P201

3.CPU内部运算产生的中断主要有_除法出错、运算溢出和程序调试中设置断点_。P201 4.中断源的识别通常有_查询中断和矢量中断_两种方法;前者的特点是_多个中断源公用一个中断入口服务程序,通过执行一段查询程序,确定引起中断的中断源状态;然后做相应的中断处理_;后者的特点是_每个中断源对应一个中断服务入口地址,由中断向量来指示中断服务程序入口地址_。P202

5.中断向量是_中断服务程序的入口地址_;存放中断向量的存储区称为_中断向量表_。P208 6.8086中断系统可处理_256_种不同的中断,对应中断类型码为_0~255_,每个中断类型码与一个_中断_相对应,每个中断向量需占用_4_个字节单元;两个高字节单元存放_中断入口段地址_,两个低字节单元存放_中断入口偏移地址_。P206 二、简答题

1.什么是中断?什么是中断源,常见的中断源有哪几类? 答案在P200~P201(9.1 9.1.2 )

2.确定中断的优先权有哪两种方法,各有什么优缺点?IBM PC系列微机中采用的是什么方法?

答案在P204~P206(9.1.4)。 IBM PC系列微机中采用硬件优先权排队电路。

3.8086的中断分哪两大类?各自的特点是什么?什么是中断矢量,什么是中断矢量表?8086总共有多少级中断(32级 P209)? 答案在P206~P209(9.2.1 9.2.2)。

4.什么是非屏蔽中断?什么是可屏蔽中断?它们得到CPU响应的条件是什么? 答案在P207~P208(9.2.1 2. 外部中断 3. 中断处理顺序)。 5.在编写程序时,为什么通常总要用STI和CLI中断指令来设置中断允许标志?8259A的中断屏蔽寄存器IMR和中断允许标志IF有什么区别?

答:在某些程序段处理避免中断时要用CLI指令关中断,在于要嵌套中断调用的程序段的位置用STI指令开中断。8259A的中断屏蔽寄存器IMR对个别中断源的屏蔽与否处理;CPU中断允许标志IF对总所有中断允许与否的处理。

答案在P207~P208(9.2.1 2. 外部中断 3. 中断处理顺序)。IMR(P210)

6.8259A有几种结束中断处理的方式,各自应用在什么场合?在非自动中断结束方工弋中,如果没有在中断处理程序结束前发送中断结束命令,会出现什么问题? 答案在P212~P215(9.3.2)。 三、分析设计题

1.设8259A的操作命令字OCW2中,EOI=0,R=1,SL=1,L2L1L0=011,试指出8259A的优先权排队顺序。

答:IR4(高)、IR5、IR6、IR7、IR0、IR1、IR2、IR3(低) 2.在两片8259A级连的中断系统中,主片的IR6接从片的中断请求输出,请写出初始化主片、从片时,相应的ICW3的格式。

答: 主片ICW3:0100 0000B ;从片ICW3:0000 0110B。 3.某外部可屏蔽中断的类型码为08H,它的中断服务程序的人口地址为0020:0040H。请编程

将该中断服务程序的入口地址填入中断矢量表中。 解:

CLI

MOV AX,00 MOV DS,AX MOV SI,08H*4

MOV WORD PTR[SI],0040H INC SI INC SI

MOV WORD PTR[SI],0020H STI

10 思考与练习题

一、选择题

1.CPU对8255A执行按位置位/复位操作时,写入的端口地址是( )。 D A.端口A B.端口B C.端口C D.控制口 2.8255A的PB口有( )种工作方式? B A.1 B.2 C.3 D.4

3.利用8255A采集100个数据,数据间采样间隔为10ms,要用循环查询方法实现,即每次循环采集一个数据,那么在循环的初始化部分应该( )。 C A.①设置采样次数为100次;②设置用于存放数据的缓冲区地址指针

B.①设置采样次数为100次;②产生10ms的数据间采样间隔;③设置用于存放数据的缓冲区地址指针

C.①设置采样次数为100次;②产生10ms的数据间采样间隔;③设置用于存放数据的缓冲区地址指针;④设置8255A的工作方式控制字

4.8255A工作于方式1输出时,在由外设输入的STD信号( )的控制下将端口A或(端口B)的数据锁存。 D A.上升沿 B.下降沿 C.高电平 D.低电平 二、填空题

1.微机和外设通信的并行传输是指_数据的各位同时传送_;并行接口的特点是_(P226 10.1.2)_;常用于_近距离_场合。P225~P226

2.从并行接口的电路结构来看,并行接口有_输入接口_和_输出接口_之分。P226

3.8255A有两种命令字,一种是_工作方式_命令字,另一种是_C口位操作_命令字。P229 4.8253A内部有_24_个对外输入/输出端口,有3种工作方式,方式0称为_基本I/O工作方式_,方式1称为_选通I/O工作方式_,方式2称为_选通双向总线I/O方式_。P232~P235 三、简答题

1.从8255A的PC口读出数据,试述控制信号-CS,A1,A0,-RD,-WR的状态。 答:-CS=0,A1=1,A0=0,-RD=0,-WR=1

2.可编程并行接口芯片8255A有哪几种工作方式,每种工作方式有何特点?

答:8255A有3种工作方式。方式0:无条件I/O,用于主机与简单外设数据传送(只有数据线连接);方式1:选通I/O,主机通过联络与外设单向数据传送;方式2:双向I/O,主机通过联络与外设双向数据传送。

3.当8255A工作在中断方式2时,CPU如何区分输入或输出?

答:进入中断服务程序后,查询输入IBF和输出-OBF状态;若IBF=1(输入缓冲器满),

输入引起中断;若-OBF=1(输出缓冲器空),输出引起中断。 四、设计题

1.某8255A端口地址范围为03F8H~03FBH,A组和B组均工作在方式0,A口作为数据输出端口,C口低4位作为状态信号输入口,其他端口未用:试画出该8255A与系统的连接图,并编写初始化程序。

解1:8255A与系统的连接图如下。

PC3~0 PC7~4

解2:初始化程序如下。

MOV AL, 10000001B ; A和B组方式0,A口输出和C口低4位输入口。 MOV DX, 03FBH OUT DX, AL

2.用8255A作为接口芯片,编写满足如下要求的3段初始化程序:

(1)将A组和B组置成方式0,A口和C口作为输入口,B口作为输出口。 (2)将A组置成方式2,B组置成方式1,B口作为输出口

(3)将A组置成方式1且A口作为输入,PC6和PC7,作为输出,B组置成方式1且作为输入口。

假设控制端口的符号地址为PORTK。解答如下:

(1)MOV AL, 10011001B ; A和B组方式0,A和C口输入口,B口作为输出口 MOV DX, PORTK OUT DX, AL

(2)MOV AL, 11000100B ; A组置成方式2,B组置成方式1,B口作为输出口 MOV DX, PORTK OUT DX, AL

(3)MOV AL, 10110110B ; A口方式1输入,PC6和PC7输出,B口方式1输入 MOV DX, PORTK OUT DX, AL

11 思考与练习题

一、选择题

1.串行接口芯片825lA可实现( )。 D A.同步传送 B.异步传送 C.并行传送 D.A和B均可

2.825lA工作于串行异步接收时.当检测到( )引脚为低电平时,可能是起始位。 A A.RxD B.TxD C.-WE D.-RTS

3.输入控制发送器数据速率的时钟TxC频率可以是数据传送波特率的( )倍。 C A.1、16或64 B.1、32或64 C.16、32或64 D.16、64或128

4.如8251A设为异步通信方式,发送器时钟输入端和接收时钟输入端连接到频率19.2kHz

输入信号上,波特率因子为16,则波特率为( )波特? A A.1200 B.2400 C.9600 D.19200 二、填空题

1.串行通信是指_______,其特点是_______,通常用于_______场合。 2.波特率是指_______,该指标用于衡量_______。

3.串行通信按通信约定的格式可分为_______和_______两种;前者的特点是_______;后者的特点是_______。

4.8251A是一种_______芯片,使用前必须对其进行_______设置,主要内容包括_______。 5.RS-232是应用于_______之间的_______接口。

6.在串行异步数据传送时,如果格式规定8位数据位。1位奇偶校验位,1位停止位,则一组异步数据总共有_______位? 三、简答题

1.串行通信中有哪几种数据传送模式,各有什么特点? 答案在P241~P243(11.1.1)。

2.说明8251A的工作方式控制字、操作命令控制字和状态控制字各位含义及它们之间的关系。对8251A进行初始化编程时应按什么顺序向它的控制口写入控制字? 答案在P248~P250(11.2.3 11.2.4)。

3.若8251A以9600波特的速率发送数据,波特率因子为16,发送时钟-TxC频率为多少? 答: TxC=9600*16=153600Hz

4.8251A的SYNDET/BD引脚有哪些功能? 答案在P247~P247。

5.简述异步串行的概念,说明RS-232C的工作原理和应用。 答案在P254~P255(11.3.1)。

6.BIOS串行异步通信接口的功能调用主要有哪些? 答案在P255~P256(11.3.2)。 四、设计题

1.某系统中使可编程串行接口芯片8251A工作在异步方式,7位数据位,偶校验,2位停止位,分频系数为96,允许发送也允许接收,若已知其控制口地址为03FBH,试编写初始化程序。

解:初始化程序如下: MOV DX, 03FBH ;

MOV AL, 11111010B ;方式字:异步方式,7位数据位,偶校验,2位停止位,分频系数为n=16 OUT DX, AL

MOV AL, 00010101B ;命令字:允许发送也允许接收,错误复位 OUT DX, AL

2.设8251A的控制口和状态口地址为03FBH,数据输入/输出口地址为03F8H,输入100个字符,并将字符放在BUFFER所指的内存缓冲区中:请写出实现该功能的程序。 解:

MOV DX,SEG BUFFER MOV DS,DX

LES SI,BUFFER MOV CX,100 LO:

MOV DX,03F9H

IN AL,DX

TEST AL,02H ;检查是否接收到字符 JZ SAVAD ;未收到,转L0 MOV AH,AL ;保存接收状态 MOV DX,03F8H

IN AL,Dx ;读入接收到的数据 AND AL,7FH

TEST AH,38H ;检查有无错误产生 JZ SAVAD ;无错,转SAVAD

MOV AL,‘?’ ;出错的数据用’?’代替 SAVAD:

MOV [SI],AL ;存储数据 INC SI LOOP L0

12 思考与练习题

一、选择题

1.启动8253的计数器开始或计数的方式有( )。 C A.软件方式 B.硬件方式 C.软件和硬件方式 D.门控信号

2.对8253进行操作前都必须先向8253写入一个( ),以确定8253的工作方式。 A A.控制字 B.计数初值 C.状态字 D.指令

3.8253定时器/数器中,在门控制信号上升沿到来后的( )时刻,输出信号OUT变成低电平。 D A.CLK上升沿 B.CLK下降沿

C.下一个CLK上升沿 D.下一个CLK下降沿

4.8253工作在( )方式时,OUT引脚能输出一个CLK周期宽度的负脉冲。 D A.方式0 B. 方式1 C.方式3 D.方式4或方式5 二、填空题

1.8253称为_______;它具有3个独立的_______;每个计数器有_______种工作方式;可按_______编程?

2.8253的初始化程序包括_______两部分。完成初始化后,8253即开始自动按_______进行工作。

3.8253定时器/计数器工作在某种方式时,需要在GATE端外加触发信号才能启动计数,这种方式称为_______。

4.8253内部有_______个对外输入/输出端口,有_______种工作方式,方式0称为_______,方式1称为_______,方式2称为_______。 5.设8253的工作频率为2.5MHz,若要使计数器0产生频率为1kHz的方波。则送入计数器0的计数初始值为_______,方波的电平为_______ms。 三、简答题

1.试说明8253的6种工作方式各自的功能和特点,其时钟信号CLK和门控信号GATE分别起什么作用?

答案在P265~P272(12.1.5)。

2.8253的最高工作频率是多少(2.6MHz)? 8254与8253的主要区别是什么(工作频率)? 3.对8253进行初始化编程要完成哪些工作?

答:初始化程序包括两部分:一是写各计数器的控制字,二是设置计数初始值。 四、设计题

1.设8253芯片的计数器O、计数器1和控制口地址分别为04B0H、0482H和0486H、定义计数器0工作在方式2,CLK0为5MHz,要求输出OUT0为1kHz方波;定义计数器1用OUT0作为计数脉冲,计数值为1000,计数器减到O时向CPU发出中断请求,CPU响应这一中断请求后继续写入计数值1000,开始重新计数,保持每一秒向CPU发出一次中断请求。试编写对8253的初始化程序,并画出系统的硬件连接图。

解:(1) 8253定时器0计数初值:5MHz/1KHz=5000 8253定时器1计数初值:1000

(2)8253的初始化程序如下:

MOV DX,04B6H ; 设置控制口

MOV AL,00110100B ; 计数器0工作在方式2、二进制计数、读写低高字节 OUT DX,AL

MOV AL,01110000B ; 计数器1工作在方式0、二进制计数、读写低高字节 OUT DX,AL

; 计数器0计数初值设置 MOV DX,04B0H ; 设置计数器0端口

MOV AX,5000 ; 设置计数器0的计数初值 OUT DX,AL ; 写低字节计数初值 MOV AL,AH

OUT DX,AL ; 写高字节计数初值 ; 计数器1计数初值设置 MOV DX,04B2H ; 设置计数器1端口

MOV AX,1000 ; 设置计数器1的计数初值 OUT DX,AL ; 写低字节计数初值 MOV AL,AH

OUT DX,AL ; 写高字节计数初值

(3)连接示意图 5MHz时钟 CLK0 OUT0 (计数器0) CLK1 OUT1 (计数器1) 连中断源

2.将8253定时器0设为方式3(方波发生器),定时器1设为方式2(分频器)。要求定时器0的输出脉冲作为定时器1的时钟输入,CLK0连接总线时钟2MHz,定时器1输出OUT1约为40Hz,试编写实现上述功能的程序。

解:设控制口:PORTK;计数器0端口:PORT0;计数器1端口:PORT1 (1)计算8253定时器0、1分频系数K0、K1 由40Hz=2MHz/K (K:总分频系数) 求K=2MHz/40Hz=50000=500*100 分别求得K0=500、K1=100

(2)初始化程序如下:

MOV DX, PORTK ;设置控制口

MOV AL, 00110110B ; 设置8253定时器0,方式3,先低后高读写字节计数值,二进制计数 OUT DX, AL

MOV AL, 01010100B ; 设置8253定时器1,方式2,仅读写低字节计数值,二进制计数 OUT DX, AL

MOV DX, PORT0 ; 设置计数器0端口 MOV AX, 500 ; 设置计数器0计数初值 OUT DX, AL ; 写低字节计数值初值 MOV AL, AH

OUT DX, AL ; 写高字节计数值初值

MOV DX, PORT1 ; 设置计数器1端口

MOV AL, 100 ; 设置计数器1计数初值 OUT DX, AL ; 写低字节计数值初值

13 思考与练习题

一、选择题

1.PC大多采用非编码键盘。如下有关PC键盘的叙述中,( )是错误的。 B A.键盘向PC输入的按键扫描码实质上是按键的位置码 B.输入的扫描码直接存放在BIOS的键盘缓冲区

C.扫描码到ASCII码的转换由键盘中断处理程序完成 D.软件可以为按键重新定义其编码

2.PC使用的如下外设接口中,( )可用于将键盘、鼠标、数码照相机、扫描仪和外接硬盘与PC相连。 C A.PS/2 B.IEEE-1394 C.USB D.SCSI

3.显示存储器VRAM的容量与显示器的分辨率及每个像素的位数有关。假定VRAM的容量为4MB,每个像素的位数为24位,则显示器的分辨率理论上最高能达到( )。 C A.800x600 B.1024x768 C.1280x1024 D.1600x1200

4.分辨率是鼠标和扫描仪最重要的性能指标,其计量单位是dpi,它的含义是( )。 B A.每毫米长度上的像素数 B.每英寸长度上的像素数

C.每平方毫米面积上的像素数 D.每平方英寸面积上的像素数

5.显示存储器(显存)是PC显卡的重要组成部分。有关显存的叙述如下: A I.显存也称为帧存储器、刷新存储器或VRAM II.显存可用于存储屏幕上每个像素的颜色

III.显存的容量等于屏幕上像素的总数乘以每个像素的色彩深度 IV.显存的地址空间独立,不与系统内存统一编址 以上叙述中,正确的是( )。

A.仅I和II B.仅II和III C.仅I和IV D.仅I、III和IV

6.数码照相机是一种常用的图像输入设备。如下有关数据相机的叙述中,错误的是( )。 B A.数据照相机将影像聚焦在成像芯片CCD或CMOS上 B.数码照相机中CCD芯片的全部像素都用来成像

C.100万像素的数码照相机可拍摄1024x768分辨率的相片

D.在分辨率相同的情况下,数码照相机的存储容量越大,可存储的数字相片越多 二、填空题

1.人机交互设备是指_______;通过它们可把要执行的_______传送给计算机;常见的人机交

互设备有_______等。

2.PC使用的键盘是一种_______键盘,键盘本身仅仅识别按键位置,向PC提供的是该按键的码,然后由_______把它们转换成规定的编码?

3.PC的显示输出设备由_______两部分组成,显示卡主要包含_______等3个部分:

16

4.数字彩色图像的数据量很大,分辨率为1024 x 768的最多具有2不同颜色的彩色图像,如将其数据量压缩为原来的1/8,则每幅图像的数据是_______KB。

5.鼠标器、打印机和扫描仪等设备都有一个重要的性能指标,即分辨率,它用每英寸的像素数目来描述,通常用3个英文字母_______来表示。 三、简答题

1.非编码键盘一般需要解决几个问题?识别被按键有哪几种办法,各有什么优缺点? 答案在P278~P281(13.2.1)

2.与PC键盘发生关联的是哪两类键盘程序,它们各自的特点是什么? 答案在P281~P284(13.2.2)

3.试简单说明CRT显示器的工作原理。 答案在P288~P289(3.)

4.什么叫光栅扫描?在光栅扫描中,电子束受到哪些信号的控制? 答案在P286~P288(13.1.1_1. 13.1.1_2.)

5.在字符型显示器上,如果可以显示40 x 80个字符,显示缓存容量至少为多少? 答:40 X 80=3200=3.125KB (无属性显示情况) 6.一个分辨率为1024 x 768的显示器,每个像素可以有16个灰度等级,那么相应的缓存容量应为多少(384KB)?

7.概述打印机的分类,用于评价打印机性能的有哪些指标? 答案在P298~P299(13.4.1_1.)

8.常见打印机接口有哪几种工作方式?说明并行打印机有哪些接口信号,怎样与主机进行连接,信号如何传递?

答案在P299~P301(13.4.1_2. 13.4.2)

9.简要论述数码照相机和扫描仪的工作原理及应用特点。 答案在P301~P303(13.5.1 13.5.2)

14 思考与练习题

一、填空题

1.某测控系统要求计算机输出的模拟控制信号的分辨率必须达到1%,应选用的D/A转换器的位数至少是_______位。

2.基于T型网络的D/A转换器原理电路中,共使用了两种电阻_______和_______。 3.A/D转换器与CPU交换信息的方法有_______、_______和_______。

4.基于逐次比较法的A/D转换须不断地输入值进行比较,因此在变换前应加入_______,而在变换过程中应使其_______。

5.若某被测信号变化缓慢,且环境干扰大,应采用基于_______原珲的A/D芯片,而在计算机中广泛采用的A/D芯片则是基于_______原理的?

6.若A/D转换器为12位,被测信号满量程电压VP=+10V,则所能分辨的最小模拟电压直为_______mV。

7.8086CPU启动A/D转换器应使用_______指令,转换结束则使用_______指令获取数据。 8.量化误差是A/D转换器的_______误差,它只可以通过_______使之减小而不可消除。 二、设计题

1.用DAC0832转换器实现一个阶梯波的产生,试编写该程序。 解:设360H为DAC0832的数字输出口。 MOV DX,360H MOV CX,0FFH MOV AL,00 DD1: OUT DX,AL ;输出低电平 LOOP DD1

MOV CX,0FFH ;(AL=00H) DD2: INC AL OUT DX,AL ;输出上升沿 LOOP DD2

MOV CX,0FFH ;(AL=0FFH) DD3: OUT DX,AL ;输出高电平 LOOP DD4

MOV CX,0FFH ;(AL=0FFH) DD4: DEC AL OUT DX,AL ;输出下降沿 LOOP DD4

JMP DD4 ;循环(AL=00H) 2.举例说明高于8位的D/A转换器如何与微机接口。

答:通过外部锁存器将高于8位的D/A转换器的数据线分成两组连接在8位DB上。 3.编写8通道A/D转换器0809的测试程序?

解:参照P316的图10-14,Vi0~Vi7通道选择的端口地址为18H~1FH。 MOV DX,18H ;设置初始端口地址为Vi0通道选择的端口 MOV CX,8 ;设置通道检测计数器初值(8) START: OUT DX,AL ;启动,并选择检测通道。 CALL DELAY100 ;延迟,跨过转换时间。 IN AL,DX ;读取转换结果。 ........ ;对转换结果处理。 INC DX ;设置下一个检测通道端口地址 LOOP START ;循环,检测下一个。

4.画出ADC0809直接与CPU扩展槽的连接图,并编写采样程序。 答案在P323~P323(14.4)

补充题1. D/A转换器有哪些主要性能指标? 答案在P309~P309(14.2.2)

补充题2. 画出4位T型电阻解码网络DAC原理图。(标出元件参数符号,写出转换表达式)

4位T型电阻解码网络DAC原理图:答案在P308~P308(图14-3) 转换表达式为:VOUT= - VREF*Rf/(R*24)*(d3*23+ d2*22+ d1*21+ d0*20) 补充题3. A/D转换器有哪些主要性能指标? 答案在P315~P316(14.3.2)

补充题4. 画出测试电压满档8V、5位逐次逼近ADC(数字量为10000B时,Vo=4v),被测电压Vi=7.3V的逐次逼近波形图。

VO=7.5V 电压 8V 6V 4V 2V 0V Vi=7.3v VO=7.25V VO=7v D4 D3 D2 D1 D0 时间 1 1 1 0 1 (转换结果)