《最新《微机原理与接口技术》课后习题答案(共42页).doc》由会员分享,可在线阅读,更多相关《最新《微机原理与接口技术》课后习题答案(共42页).doc(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上调研提纲:五、创业机会和对策分析2003年,上海市总人口达到1464万人,上海是全国第一个出现人口负增长的地区。小饰品店往往会给人零乱的感觉,采用开架陈列就会免掉这个麻烦。“漂亮女生”像是个小超市,同一款商品色彩丰富地挂了几十个任你挑,拿上东西再到收银台付款。这也符合女孩子精挑细选的天性,更保持了店堂长盛不衰的人气。经常光顾 偶尔会去 不会去5、就业机会和问题分析4、宏观营销环境分析大学生的消费是多种多样,丰富多彩的。除食品外,很大一部分开支都用于。服饰,娱乐,小饰品等。女生都比较偏爱小饰品之类的消费。女生天性爱美,对小饰品爱不释手,因为饰品所展现的魅力,女人因饰品而
2、妩媚动人,亮丽。据美国商务部调查资料显示女人占据消费市场最大分额,随社会越发展,物质越丰富,女性的时尚美丽消费也越来越激烈。因此也为饰品业创造了无限的商机。 据调查统计,有50% 的同学曾经购买过DIY饰品,有90% 的同学表示若在学校附近开设一家DIY手工艺制品,会去光顾。我们认为:我校区的女生就占了80%。相信开饰品店也是个不错的创业方针。2、传统文化对大学生饰品消费的影响(4) 信息技术优势第一章1在计算机中为什么使用二进制数存储数据而不使用十进制数存储数据?答:计算机是由大量的电子器件组成的,在这些电子器件中,电路的通和断、电位的高和低,用两个数字符号“1”和“0”分别表示容易实现。同
3、时二进制的运算法则也很简单,因此,在计算机内部通常用二进制代码来作为内部存储、传输和处理数据。2完成下列数制之间的转换。(1)B=92D (2)0.B=0.41D(3)135D=B (4)99.4375D=.0111B3组合型BCD码和非组合型BCD码有什么区别?写出十进制数254的组合型BCD数和非组合型BCD数答:1)BCD码是通常的8421码,它用4个二进制位表示一个十进制位,一个字节可以表示两个十进制位,即00992)非组合BCD码用8个二进制位表示一个十进制位,实际上只是用低4个二进制位表示一个十进制位09,高4位任意,但通常默认为03)254(10)=0010 0101 0100(
4、BCD) 254(10)= (BCD)4ASCII码的编码方法是什么?写出十进制数205和字符串A+B=C的ASCII码。答: 1)ASCII码的编码方法是使用 7 位数来表示所有的大写和,数字 0 到 9、标点符号, 以及在美式英语中使用的特殊2)十进制205的ASCII码是:011 000 1013)字符串A+B=C的ASCII码是:412B423D435机器数与真值有什么区别?机器数有哪些特点?答:1)真值是所表示的数的大小,一般用十进制表征。机器数原码,补码,反码都是机器数一种表现形式,或说都属于机器数2)机器数的特点:一:数的符号数值化。实用的数据有正数和负数,由于计算机内部的硬件只
5、能表示两种物理状态(用0和1表示),因此实用数据的正号“+”或负号“-”,在机器里就用一位二进制的0或1来区别。通常这个符号放在二进制数的最高位,称符号位,以0代表符号“+”,以1代表符号“-”。因为有符号占据一位,数的形式值就不等于真正的数值,带符号位的机器数对应的数值称为机器数的真值。 例如二进制真值数-,它的机器数为 。二:二进制的位数受机器设备的限制。机器内部设备一次能表示的二进制位数叫机器的字长,一台机器的字长是固定的。字长8位叫一个字节(Byte),现在机器字长一般都是字节的整数倍,如字长8位、16位、32位、64位。6写出原码、反码、补码的定义,并说明它们有哪些性质。答:1)原码
6、,是一种计算机中对数字的二进制表示方法,是最简单的机器数,数码序列中最高位为符号位,符号位为0表示正数,符号位为表示负数;其余有效值部分用二进制的绝对值表示2)反码,是计算机中表示二进制数的一种方法,若原码的符号位不变,对其余位逐位取反,即得到其反码3)补码,正数的补码与原码相同,负数的补码:符号位为1,其余位为该数绝对值的原码按位取反,然后整个数加1.4)性质7计算机中为什么采用补码形式存储数据?当计算机的字长n=16时,补码的数据表示范围是多少?答:原因:1)因为使用补码可以将符号位和其他位统一处理,同时,减法也可以按加法来处理2)两个用补码表示的数相加时,如果最高位(符号位)有进位,则进
7、位被舍弃当计算机的字长n=16时,补码的数据表示范围是:32768 +327678设机器字长n=8,求下列各数的原码、反码和补码。(1)X=+B原码:X=反码:X=补码:X=(2)X=+B 原码:X=反码:X=补码:X=(3)X=-B 原码:X=反码:X=补码:X=(4)X=-B 原码:X=反码:X=补码:X=9微型计算机系统的硬件由哪些部件组成?简述它们的主要功能。答:构成计算机的硬件系统通常有“五大件”组成:输入设备、输出设备、存储器、运算器和控制器。输入设备: 将数据、程序、文字符号、图象、声音等信息输送到计算机中。常用的输入设备有,键盘、鼠标、数字化仪器、光笔、光电阅读器和图象扫描器以
8、及各种传感器等。输出设备: 将计算机的运算结果或者中间结果打印或显示出来。常用的输出设备有:显示器、打印机、绘图仪等。 存储器: 将输入设备接收到的信息以二进制的数据形式存到存储器中。存储器有两种,分别叫做内存储器和外存储器。 运算器: 是完成各种算术运算和逻辑运算的装置,能作加、减、乘、除等数学运算,也能作比较、判断、查找、逻辑运算等。控制器: 是计算机机指挥和控制其它各部分工作的中心,其工作过程和人的大脑指挥和控制人的各器官一样10CPU执行指令时,通常需要哪些步骤?答:取指令-分析指令-执行指令。11简述计算机的基本工作原理。答:计算机的基本原理是存贮程序和。预先要把指挥如何进行操作的指
9、令序列(称为程序)和原始数据通过输送到计算机内存贮器中。每一条指令中明确规定了计算机从哪个地址取数,进行什么操作,然后送到什么地址去等步骤12微型计算机的主要性能指标有哪些?答:常用的微型计算机性能指标主要有:字长,主频,内存容量,指令书,基本指令执行时间,可靠性,兼容性,性能价格比等。13微型系统中采用了哪些先进技术?简述这些先进技术的主要特点。答:微型系统中采用的先进技术:第二章18086/8088 CPU可直接寻址多少个内存(字节)单元?多少个I/O端口?它们的外部数据总线各有多少根?答:8086可寻址1M个内存单元,65536个I/O端口,外部有16根数据线8088可寻址1M个内存单元
10、,256个I/O端口,外部有8根数据线。28086 CPU由那两部分组成?它们大致是如何工作的?答:8086CPU由指令执行单位和总线接口单元两大部分构成 工作过程:1)读存储器2)EU从指令队列中取走指令,经EU控制器译码分析后,向各部件发控制命令,已完成执行指令的操作3)指令队列满,则BIU处于空闲状态4)指令执行过程中,如果需要进行存取数据,EU就要求BIU完成相应的总线周期5) 在程序转移时,先晴空队列,再去新的地址处取之6)ALU完成算术运算,逻辑运算或移位操作3CPU、EU和BIU 的英文全称和中文含义各是什么?答:CPU的英文全称是Central Processing Unit,
11、中文名称即中央处理单元,也称为.,是微型计算机的核心部件,由运算器ALU,控制器,寄存器组以及总线接口等部件组成,主要完成各种运算,负责对整机的控制EU与BIU48086 CPU有哪些寄存器?各有什么用途?答:寄存器AX,AL:在乘法指令中,存放乘数和乘积; 在除法指令中,存放被除数和商; 在未组合BCD码运算的校正指令中; 在某些串操作指令(LODS, STOS, SCAS)中 在输入输出指令中作数据寄存器寄存器AH:在LAHF指令中作目的寄存器寄存器AL:在组合型B C D 码的加减法校正指令中 在XLAT指令中作目的寄存器寄存器BX:在XLST指令中基址寄存器寄存器CX:在循环指令中作循
12、环次数计数器寄存器CL:在移位指令中作移位次数计数器寄存器DX:在字数据的乘法和除法指令中辅佐累加器寄存器SP:在堆栈操作中作堆栈指针寄存器SI:在串操作指令中作源变址寄存器寄存器DI:在串操作指令中作目的变址寄存器5两个带符号数1011 0100B和1100 0111B相加运算后各标志位的值是多少?哪些标志位是有意义的?答:两个带符号数1011 0100B和1100 0111B相加运算后各标志位的值是 PF=1,ZF=0,SF=0,OF=1是有意义的6说明下列8086引脚信号的功能AD15AD0、A19/S6A16/S3、M/、CLK、RESET、INTR、NMI、ALE、DT/、。答:AD
13、15AD0:地址/数据总线;A19/S6A16/S3:地址/状态总线;:读控制 :写控制 M/:存取器I/O控制 CLK:系统时钟 RESET:系统复位 INTR:可屏蔽中断请求 NMI:不可屏蔽中断请求 ALE:地址锁存允许DT/:数据发送/接受 :数据允许7已知段地址:偏移地址分别为以下数值,它们的物理地址各是什么?(1)1200:3500H 答:=15500H (2)FF00:0458H 答:=FF458H(3)3A60:0100H 答:=3A700H8段基地址装入如下数值,则每段的起始地址和结束地址分别是什么?(1)1200H 答:1200H 12000H21FFFH(2)3F05H
14、答: 3F05H 3F050H4F04FH(3)0FFEH 答:0FFEH 0FFE0H1FFDFH9已知:CS:IP=3456:0210H,CPU要执行的下条指令的物理地址是什么?答:CS:IP=3456:0210H,要执行的下一条指令的物理地址是34770H10什么叫堆栈?它有什么用处?如何设置堆栈?答:堆栈是是连续的,存取方式遵循“先进后出”的原则。,主要功能是暂时存放数据和地址,通常用来保护断点和现场。堆栈的设置11设SS:SP=2000:0300H则堆栈在内存中的物理地址范围是什么?执行两条PUSH指令后SS:SP=?再执行一次PUSH后,SS:SP=?答:SS:SP=2000:03
15、00H,堆栈的物理地址范围是200002FFFFH,执行2条PUSH后,SS:SP=2000:02FCH,再执行一条PUSH后SS:SP=2000:02FAH12. 如果从存储单元2000H 开始存放的字节数据为:3AH,28H,56H,4FH试画出示意图说明:从2000H到2001H 单元开始取出一个字数据各要进行几次操作,取出的数据分别等于多少。答:(2000H)=3AH,(2001H)=28H,(2002H)=56H,(2003H)=4FH,从2000H取一个字要1次操作,数据为283AH;从2001H取一个字要2次操作,数据为5628H。13. 8086工作于最小模式时,硬件电路主要由
16、哪些部件组成?为什么要用地址锁存器、数据缓冲器和时钟产生器?答:1)8086工作于最小模式时,硬件电路主要由1片8086CPU,1片8284时钟发生器,3片74LS373锁存器和2片74LS245双向数据缓冲器组成。2)用地址锁存器的原因:如果总线上负载超过10个,单独靠总线不能驱动,需要加总线驱动器提高带负载能力。3)用时钟产生器的原因:产生系统的时钟信号,对READY和RESET信号进行同步14. 8086/8088 CPU各用几片地址锁存器、数据缓冲器构成最小模式系统?为什么?答:l l l8086 CPU存储器 I/O接口芯片时钟发生器(1片u地址锁存器(3片u8284A)828282
17、83或74LS373) 82868287或74LS245)双向数据总线收发器(2片u23:4915. 时钟产生器8284A与8088CPU相连时,输入的晶振频率为14.31818MHz从输出端可以产生哪些时钟信号?他们的频率分别是多少?8284A与8086-2相连时,晶振频率为8MHZ则输出的OSC和CLK86-2信号的频率分别是多少?答:16. 8086最大模式配置电路中,8288总线控制的主要功能是什么?、 和信号相当于最小模式中哪些信号的组合?答:17. 什么叫总线周期?一个总线周期一般需要几个时钟周期?若8086-2的时钟频率为8MHz,它每秒可执行多少条指令?答:总线周期通常指的是C
18、PU完成一次访问MEM或I/O端口操作所需要的时间。一个总线周期由几个时钟周期组成。8086的基本总线周期为4个时钟周期每秒可执行的指令18. 8086工作于最小模式,执行存储器读总线周期,T1T4周期中主要完成哪些工作?答:T1周期:输出20位地址信号,ALE地址锁存允许信号高电平有效T2周期:高4位输出状态信号,低16位高阻态,准备接收数据T3周期:高4位维持状态信号,低16位接收数据T4周期:读总线周期结束第三章1分别指出下列指令中的源操作数和目的操作数的寻址方式:(1)MOV SI,200 立即寻址 寄存器寻址(2)MOV CX,DATASI 寄存器相对寻址 寄存器寻址(3)ADD A
19、X,BXDI 基址变址寻址 寄存器寻址(4)AND AX,BX 寄存器寻址 寄存器寻址 (5)MOV SI,AX 寄存器寻址 寄存器间接寻址(6)PUSHF 寄存器寻址 寄存器间接寻址2写出以下指令中内存操作数的所在地址。(1)MOV AL,BX+5 DS (2)MOV BP+5,AX SS(3)INC BYTE PTRSI+3 DS(4)MOV DL,ES:BX+DI ES(5)MOV BX,BX+SI+2 DS3设堆栈指针SP的初值为2000H,AX=3000H,BX=5000H,试问:(1)执行指令PUSH AX后SP=?答:执行指令PUSH AX后 (SP)=2000H-2=1FFEH
20、;(2)再执行PUSH BX及POP AX后SP=? AX=? BX=?答:再执行PUSH BX及POP AX后 (SP)=1FFEH, (AX)=5000H, (BX)=5000H4要想完成把2000H送1000H中,用指令:MOV1000H,2000H是否正确?如果不正确,应用什么方法?答:把2000H送1000H中,用指令 MOV 1000H,2000H不正确,应改为:MOV AX,2000H MOV 1000H,AX5假如想从100中减去AL中的内容,用SUB100,AL是否正确?如果不正确,应用什么方法?答:想从100中减去AL中的内容,用SUB 100,AL不正确,应改为: MOV
21、 BL,100 SUB BL,AL6用两种方法写出从88H端口读入信息的指令。再用两种方法写出从42H口输出100H的指令。答:读入: (1)IN AL,88H (2)MOV DX,0088H IN AL,DX 输出: (1)MOV AL,100H OUT 42H,AL (2)MOV DX,0042H MOV AL,100H OUT DX,AL7假如AL=20H,BL=10H,当执行CMP AL,BL后,问:(1)若AL,BL中内容是两个无符号数,比较结果如何?影响哪几个标志位?答:此时 ALBL, CF=0,ZF=0 (2)若AL,BL中内容是两个有符号数,结果又如何?影响哪几个标志位? 答
22、:此时 ALBL, OF=0,SF=0第四章1编一个程序,统计一个8位二进制数中的为“1”的位的个数。答案:假设AL中存放的是需要的8位数xor ah,ahmov cx,8loop1: sal al,1 ;左移adc ah,0 ;加CFloop loop1最终结果AH中为1的个数。2编一个程序,使放在DATA及DATA+1单元的两个8位带符号数相乘,乘积放在DATA+2及DATA+3单元中(高位在后)。-先运行如下sql,建立一个合并函数create function fmerg(company varchar(200)returns varchar(8000)asbegindeclare s
23、tr varchar(8000)set str=select str=str+,+jobname from zhaopin where company=company set str=right(str,len(str)-1)return(str)Endgo-调用自定义函数得到结果select distinct company,dbo.fmerg(company) from zhaopin3若在自1000H单元开始有一个100个数的数据块,要把它传送到自2000H开始的存储区中去,用以下三种方法,分别编制程序:(1)不用数据块传送指令;(2)用单个传送的数据块传送指令;(3)用数据块成组传送指
24、令。解:(1) LEA ST, 1000H LEA DI, 2000H MOV CX, 100 L1: MOV AX, SI MOV DI, AX LOOP L1 HLT(2) LEA SI, 1000H LEA DI, 2000H MOV CX, 100 CLDL1: MOVSBLOOP L1 HLT(3) LEA ST, 1000H LEA DI, 2000H MOV CX, 100 CLD REP MOVSB HLT4利用变址寄存器,编一个程序,把自1000H单元开始的100个数传送到自1070H开始的储存区中去。解: LEA SI, 1000H LEA DI, 1070H MOV CX
25、, 100 CLD REP MOVSB HLT5要求同题4,源地址为2050H,目的地址为2000H,数据块长度为50。解: LEA SI, 2050H LEA DI, 2000H MOV CX, 50 CLD REP MOVSBHLT6编一个程序,把自1000H单元开始的100个数传送至1050H开始的存储区中(注意:数据区有重叠)。解: LEA SI, 1000H LEA DI, 1050H ADD SI, 63H ADD DI, 63H MOV CX, 100 STD REP MOVSB HLT7在自0500H单元开始,存有100个数。要求把它们传送到1000H开始的存储区中,但在传送过
26、程中要检查数的值,遇到第一个零就停止传送。解:LEA SI, 0500H LEA DI, 1000H MOV CX, 100 N1: MOV AL, SI CMP AL, 0 JZ N2 MOV DI, AL INC SI INC DI LOOP N1 N2: HLT8条件同题7,但在传送过程中检查数的值,零不传送,不是零则传送到目的区。解: MOV SI, 0500H MOV DI, 1000H MOV CX, 100 N1: MOV AL, SI CMP AL, 0 JZ N2 MOV DI, AL N2; INC SI INC DI LOOP N1 HLT9把在题7中指定的数据块中的正数
27、,传送到自1000H开始的存储区。MOV SI, 0500H MOV DI, 1000H MOV CX, 100 N1: MOV AL, SI CMP AL, 0 JS N2 MOV DI, AL INC DI N2; INC SI LOOP N1 HLT10把在题7中指定的数据块中的正数,传送到自1000H开始的存储区;而把其中的负数,传送到自1100H开始的存储区。且分别统计正数和负数的个数,分别存入1200H和1201H单元中。MOV SI, 0500H MOV DI, 1000H MOV BX, 1100H MOV CX, 100H MOV DX, 0 N1: MOV AL, SI C
28、MP AL, 0 JS N2 MOV DI, AL INC DL INC SI INC DI JMP N3 N2: MOV BX, AL INC DH INC SI INC BXN3: LOOP N1 MOV BX, 1200H MOV BX, DL MOV BX+1, DH HLT11自0500H单元开始,有10个无符号数,编一个程序求这10个数的和(用8位数运算指令),把和放到050A及050B单元中(和用两个字节表示),且高位在050B单元。解: LEA BX, 0500H MOV AX, 0 MOV CL, 10 N1: MOV DL, BX ADD AL, DL ADC AH, 0
29、INC BX DEC CL JNZ N1 MOV 050AH, AX12自0200H单元开始,有100个无符号数,编一个程序求这100个数的和(用8位数运算指令),把和放在0264H和0265H单元(和用两字节表示),且高位在0265H单元。解: LEA BX, 0200H MOV AX, 0 MOV CL, 100 N1: MOV DL, BX ADD AL, DL ADC AH, 0 INC BX DBC CL JNZ N1 MOV 0264H,AL第五章1.什么是存储器系统?微机中的存储器系统主要分为哪几类?设计目标是什么?答:(1)存储器系统:将两个或两个以上速度、容量和价格各不相同的
30、存储器用软件、硬件或软硬件结合的方法连接起来成为一个系统。(2)微机中的存储器系统主要分为两种:由Cache和主存储器构成的Cache存储系统,有主存储器和磁盘构成的虚拟存储系统。(3)前者的目标是提高存取速度而后者的主要目标是增加存储容量。 2.内部存储器主要分为哪两类?它们的主要区别是什么?答:()分为ROM和()主要区别是:ROM在正常工作时只能读出,不能写入,则可读可写。断电后,中的内容不会丢失,RAM中的内容会丢失。3.为什么动态RAM需要定时刷新?答:的存储元以电容来存储信息,由于存在漏电现象,电容中存储的电荷会逐渐泄露,从而使信息丢失或出现错误。因而需要对这些电容进行定时刷新。4
31、.CPU寻址内存的能力最基本的因素取决于?答:地址总线的宽度。5内存地址从20000H8BFFFH共有多少字节?答:共有8BFFFH20000H个字节若采用6264芯片构成第7题中的内存空间,需要多少片6264?答:每个6264芯片的容量位8KB,故需432/8=54片。7设某微型机内存RAM区的容量为128KB,若有2164芯片构成这样的存储器需多少片2164?至少需要多少根地址线?其中多少根用于片内寻址?答:需16片2164,至少需17根地址线,需要16根用于片内寻址。8什么是字扩展?什么是位扩展?用户自己购买内存条进行内存扩充,是在进行何种存储器扩展?答:当存储芯片的容量小于所需内存容量
32、时,需要用多个芯片构成满足容量要求的存储器,这就是字扩展。当存储芯片每个单元的字长小于所需内存单元字长时,需要用多个芯片构成满足字长要求的存储模块,这就是位扩展。用户自己购买内存条进行内存扩充,所做的是字扩展的工作。第六章1I/O接口的作用是什么?具有哪些主要功能?I/O接口是一电子电路(以IC芯片或接口板形式出现 ),其内有若干专用寄存器和相应的控制逻辑电路构成。它是CPU和I/O设备之间交换信息的媒介和桥梁。作用:对于主机,I/O接口提供了外部设备的工作状态及数据;对于外部设备,I/O接口记忆了主机送给外设的一切命令和数据,从而使主机与外设之间协调一致地工作。功能:进行端口地址译码设备选择
33、、向CPU提供I/O设备的状态信息和进行命令译码、进行定时和相应时序控制、对传送数据提供缓冲,以消除计算机与外设在“定时”或数据处理速度上的差异。提供计算机与外设间有关信息格式的相容性变换。提供有关电气的适配、还可以中断方式实现CPU与外设之间信息的交换。2CPU与I/O接口之间传送的信息有哪些?各表示什么含义?CPU 与I/O接口电路之间传送的信息有数据信息,包括三种形式:数字量、模拟量、开关量;状态信息是外设通过接口往CPU传送的,如:“准备好” (READY)信号、“忙”(BUSY)信号;控制信息是CPU通过接口传送给外设的,如:外设的启动信号、停止信号就是常见的控制信息3CPU与I/O
34、设备数据传送的控制方式有哪几种?它们各有什么特点?CPU与I/O设备传输数据的控制方式通常有三种:程序方式、中断方式和DMA方式。程序方式:指用输入/输出指令,来控制信息传输的方式,是一种软件控制方式,根据程序控制的方法不同,又可以分为无条件传送方式和条件传送方式。中断控制方式是利用向CPU发送中断的方式控制外围设备和CPU之间的数据传送。它的优点是大大提高了CPU的利用率且能支持多道程序和设备的并行操作。它的缺点是由于数据缓冲寄存器比较小,如果中断次数较多,仍然占用了大量CPU时间;在外围设备较多时,由于中断次数的急剧增加,可能造成CPU无法响应中断而出现中断丢失的现象;如果外围设备速度比较
35、快,可能会出现CPU来不及从数据缓冲寄存器中取走数据而丢失数据的情况。存储器直接存取方式(DMA):外设利用专用的接口(DMA控制器)直接与存储器进行高速数据传送,并不经过CPU(CPU不参与数据传送工作),总线控制权不在CPU处,而由DMA 控制器控制。其特点是接口电路复杂,硬件开销大。大批量数据传送速度极快。适用于存储器与存储器之间、存储器与外设之间的大批量数据传送的场合。4什么叫端口?I/O端口的编址方式有哪两种?它们各有什么特点?解:端口指输入/输出接口中的寄存器I/O端口有两种编址方式;统一编址方式是将I/O端口与内存单元统一起来进行编号。该方式优点是不需要专门的I/O指令,对I/O
36、端口操作的指令类型多;缺点是端口要占用部分存储器的地址空间,不容易区分是访问存储器还是外部设备。独立编址的端口单独构成I/O地址空间,不占用存储器地址。优点是地址空间独立,控制电路和地址译码电路简单,采用专用的I/O指令,使得端口操作的指令在形式上与存储器操作指令有明显区别,程序容易阅读;缺点是指令类别少,一般只进行传送操作。58255A的三种工作方式的特点是什么?各适合使用在什么场合?方式0:没有固定的用于应答式传送的联络信号线,CPU可以采用无条件传送方式与8255A交换数据。方式1:有专用的中断请求和联络信号线,因此,方式1经常用于查询传送或中断传送方式。方式2:PA口为双向选通输入/输
37、出或双向应答式输入/输出。6设8255A的A口工作于方式1输出,B口工作于方式0输入,试编写初始化程序(设端口地址为40H43H)。解:MOV DX, 43HMOV AL, B(A2H)OUT DX,AL7使用8255A作为开关和LED指示灯的接口。要求8255A的A 口连接8个开关,B口连接8个LED指示灯,将A口的开关状态读入,然后送至B口控制指示灯亮、灭。试画出接口电路设计图,并编写程序实现之。解:电路图参见教材P193图7-14。A口接入8个开关,B口用LED替代数码管,共阴接法。设8255四个端口的地址为FFE0HFFE3H。DATA SEGMENTPORTA EQU 0FFE0HP
38、ORTB EQU 0FFE1HCONTR EQU 0FFE3HDATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX, DATAMOV DS, AXMOV AL, 90H ;初始化8255,PA为输入,PB为输出MOV DX, CONTROUT DX, ALL0: MOV DX, PORTA ;读PA口IN AL, DXNOT AL ;按下开关灯亮MOV DX, PORTBOUT DX,AL ;送PB口显示MOV CX,1000 ;延时L1: DEC CXJNZ L1JMP L0CODE ENDSEND START8在甲乙两台微机之间
39、并行传送1 KB的数据,甲机发送,乙机接收。要求甲机一侧的8255A工作在方式1,乙机一侧的8255A工作在方式0,双机都采用查询方式传送数据。试画出通信接口电路图,并编写甲机的发送程序和乙机的接收程序。1甲机发送程序段MOV DX,303H ;8255A命令目MOV AL,B ;初始化工作方式字OUT DX,ALMOV AL,0DH ;置发送中断允许INTEA=1OUT DX,AL ;PC6=1MOV SI,OFFSET BUFS ;设置发送区的指针MOV CX,3FFH ;发送字节数MOV DX,300H ;向A口写第一个数,产生 ;第一个OBF信号MOV AL,SI ;送给乙方,以便获取乙方的 ;ACK信号OUT DX,ALINC SI ;内存地址加1DEC CX ;传送字节数减1L:MOV DX,302H ;8255A状态口 IN AL,DX ;查发送中断请求INTRA=1?AND AL,08H ;PC3=1JZ L ;若无中断请求,则等待 ;若有中断请求,则向A口写数MOV DX,300H ;8255APA口地址MOV AL,SI ;从内存取数OUT DX,AL ;通过A口向乙机发送第二个数据INC SI