《微机原理及应用》习题参考答案.docx
习题一概述主襄内容:计W机系统的组成和各部分的作用,微型计算机组成,微处理器的结构:计算机中的信息表示;微机系统的结构特点。1.1 简述微型计算机的If1.成.【答】微型计完机是由微处理器、存储网.输入,输转接口电路和东统总线构成的裸机系统.1.2 微处理器、微型计算机和费里计算机系统三者之间有什么不同?【答】将运。涔与控制零集成在一起,称为微处理器微处理器是微处理器的核心微型计17机是由微处理隅、存储器、输入/输出接口电路和系统总线构成的裸机系统.i型计算机泰统是以微蟹计兑机为主机.配上系统牧件和外设之后而构成的计宛机系统.三衣之间是召很大不同的.微处理器是我型计鸵机的个组成部分,而微型计料机又是微型计灯机系统的个组成部分.1.3 CPU在内部结构上由哪几部分如成?CPU应具得什么功能?【锌】CPU在内部结构上由算术速辑部件O1.U):累加器和通用寄存器娘,程序计数(指令指针)、指令寄存器和译码器:时序和控制部件几部分组成.不同CPU的性能指标股不相同,但般CPiJ应具有卜列功能:Ur以进行力术和逻轿运纣:可保存少量数据:能对指令进行译码并执行规定的动作:能和存储器、外设交换数据;提供整个系统所需要的定时和控制:可以响应其它部件发来的中断请求.1.41 加器和共他通用寄存器相比育何不1.11J?【答】累加器是比较特殊的通用寄存器.它在某些指令执行前,可以保存源操作数,还在执行后又用来保存运克结果.另外它一眼也用来完成输入输出指令,而通用寄存寄则一股只用来保存参加运算的数据、运党的中间的结果以及用来保存地址,1.5 从传输的信息关里而Ef,总峻分为吸:几种类型?微里计步机采用总峻结构有什么优点?【答】(1)分为地址总畿,数据总淡与控制总畿三类,又称三总战.<2)微型计算机的三总线结构是一个独特的结构:采用总城结构,系统中各功能JS件之间的相互关系.变成了各功能钝件面向总线的单一关系.一个部件只要符合总线标准,就可以连接到采用这种总线标准的医统中.使娱统功能得到扩展.1.6 控制总城传输的信号大致有哪几类?【答】控制线用来传输控制信号,其中包括CP1.出到存储器和输入/输出接口电路的控制信号,如读信号、写信号和中断响应信号等:还包括其它部件入克Cro的信号,比如,时钟信号、中断请求和掂备就绪信号.1.7 数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线或若合用部分总线.那么要融什么来区分地址和数据?【答】从结向上看数抠总线是双向的.而地址总线从结构上看却是他向的.如果一个系统的数抠总战和地址总战合用一套总找或者合用部分总战,殷可利用时钟,在总戏上唳用分时用技术求区分地址和数据,例如可在总找周期的若干个时忡周期,约定某周期传输地址、在另一周期传输数据.1.8 辂F列十进IM数转换成842IBCD码:1(M9=OOO1.00O1.OO1001.902=1001OOOOOO1.O851.37=1001O1.O1.0001.OO1.1.O1.1.1.0.6259=0000.O1.1.O0010O1.O1.1001.1.9 将下列各俎数用八位的补码相加;(75)+(-6)+75补=O1.oo1011-6Ib=I1.1.1.1010+75补+-#=1000011Q÷10000110=01O1.O1.习题二8086微处理器答案主要内容,主要介Ia8086/8088CH.内部结构.广解80X86CP1.的特点.2. I80B6CPU在内部结构上由哪几部分细成?其功能是什么?【答】8086的内部结构分成两部分,总统接口部件BIU,负荷控制存储器与I/O跳口的信息读写,包括指令获取与排队、操作数存取等。执行部件印货币从指令队列中取出指令,完成指令译码与指令的执行.2.2 8OK6的总线接M部件仃加几部分组成?典功能是什么?【答】8086的总税接口部件主要由下面几部分殂成;4个段寄存器CS/DS/ES/SS,用于保存各段地址:个16位的指令指针寄存器IP,用于保存当前指令的偏移地址;一个20位地址加法器,用于形成20位物理地址:指令流字节队列,用干保存指令:存储器接口,用于内总线与外总线的连接.2.3 8086的执行单元(部件)由那几篇分组成什么功能?【捽】8086的执行单元部件主要由卜面几部分加成:控制潺、驾数龙卷单元、标志寄存器、通用寄存潺组.(1)控制器.从指令流顺序取指令、进行指令译码,完成指令的执行等.(2)算数逻辑单元R1.1.I,根据控剌器完成8/16位二迸制獴数与逻辑运簿。(3)标志商行器,使用9位,标志分两类,其中状态标志6位,存放算数选辑单元A1.U运算结果特征:控制标志3位,控制8086的3种特定操作.(4)通用寄存器组,用于顺存数据或指针的寄存群阵列.2.4 8。86内部行哪屿通用寄存器?【答】四个16位数据寄存器AX,BX,CX.DX,二个指针寄存潺SP,BP1二个变址寄存器SRD1.这些寄存湍使用上一般没有限制,但对某些特定指令操作,必须使用指定寄存器.可参考后面指令系统章节.2.5 8086内部有哪些段寄存器?落有什么用途?【弃】四个16<段寄存器:CS,DS,SSxES.分别保存代码段、数据段、堆栈段与扩展段的段地址.2.6 80«&P1.状态标志和控制标志乂何不同?程序中是怎样利用这两类标志的?8086的状态标忐和控制标忐分别有哪些?【答】(1)标志分两类:状态标志(6位,反映刚刚完成的操作结果情况。控制标志(3位),在8086特定指令操作中起控制作用.(2)利用状态标志可以掌握当前程序操作的结果,例如了解是否产生进位,是否溢出等。例如利用控制标志可以控制程序的单步调试,(3)状杳标志包括:包括零标志ZF、符号标志SF、奇偶标志PF、进位标志CF,辅助进位标志AF、溢出标志OF.控制标志包括:单步运行标志TF、方向标志DF与中断允许标志【F.2.78086/8088和传统的计算机相比在执行指令方面有什么不同?这样的设计思想彳了什么优点?8086CP1.执行轴称指令时,指令队列寄存器内容如何变化?【答】(1)传统的计算机一般按照取指令、指令译码与执行指令的H;行步牖工作.(2)在8086CPtJ中,指令的提取与执行分别由总段接口部件BIU与执行部件即完成.两个单元孟筏并行工作,这种机制称为流水规,这种工作方式有力的提高了CPU的工作效率。(3)8086CPU执行转移指令时.首先清空当前指令队列寄存器,然后从新地址取指令室新填满指令队列.2.880860叫的形成;.大总规时,为什么要对部分地址线进行锁存?用什么信号控制锁存?【答】为了厢保CPU对存储器和I/O端口的正常读/写操作,要求地址和数据同时出现在地址总线和数据总处上.而在8086CpU中AD0AD15总线足地址/数抠发用的.因此图在总线周期的前一部分传送出地址信息并存于锁存器中,而用后一郃分周期传送数据.8(三T1.中是通过CRJ送出的A1.E高电平信号来控断微存的.2.9将两数相加,即O1.oo110011O1.1.O0101.CF、PF,AF,ZF、SF.OF各为何值?【答】01001100-01100101=10110001CF=O.PF=I,AF=I,ZF=O,SF=I,OF=I2.10存储器的逻辑地址由联几部分组成?存储器的物理地址是怎样形成的?一个具有32位地址线的CP1.,其最大物卉地址为多少?【答】存储器的龙辑地址由段地址与段内与移地址组成。存储器的物理地址:将16位段地址左移4位后,加上16位段内偏移地址,形成20位物理地址.一个具有32位地址税的CP1.其最大物理地址为4*10211024*1024B-IGB.2.11存储物理地址400A5II400AAH电元现有6个字节的数据分别为11H.22H,3311,4411,55H.66H,若当前(DS)=4002H,请说明它们的偏移地址值.如果要从存储器中读出这些数据,需要访问几次存WS器,各读出哪些数据?【答】由于:物理地址于00A5H=段地址*16+偏移地址=40020H+偏移地址偏移地址-400A540020-8511若以最少访问次数而吉,可以如下操作:从一地址400A5H中读出一个字节11H:从偶施址开始400A6H、100A7两个单元读出一个字3322H;从偶胞址,K)OA8H、,100A9H两个单元读出一个字5514H;从偶地址100AAH中读出一个字节66H,最少读4次。2.12在8086中,逻辑地址FFFHI:OOO1.IkOO2H:37FOH和B800H:173HI的物理地址分别是多少?【答】FFFFH*16+Q001H=FFFFoHH)Q(HH=FFFFI1.1.(2)0OA20+37F0>4210H(3)B8000÷173F=B973H12.13在8088/8086中,从物理地址12388H开始顺序存放下列,个双字节的数据,651H.D761H和007BH,请问物理胞址12388H1238DH6个单元中分别是什么数据?【捽】物理地址12388H1238DH单元中的数据如卜表:地址12388H12S&9HI23SAH12:WHH1238Q1.1238DH敢拼IAH65H61HI>7H7BIIOOfI2.148086/8088CPU有40条引脚,请按功能对它们进行分类?【答】施址总我:ADOAo1.5K16419;数据总战:AZ)O-AO1.5:控制总线:A/.EDEN.1.yTR.TiHE.M1.丽.K1.>.HO1.D.H1.DA.IyR.INTA.READY.RESET.2.158086I8088CP1.的地址总畿仃多少位?其?址范阳是多少?【答】8086/8088CPU的地址总线均为20位,8086/8088CpU的寻址也图为2”'=IMB.2.168086/8088h两种1.作方式,它们是通过什么方法来实现?在出火方式下其控制信号怎样产生?(niMN/麻引脚接至电源G5Y,则8086Cpu处在最小组态(模式);MV/砥引脚接地.则8086CP1.处在最大祖态(模式)。在最大模式下,需要用外加电路来对CPU发出的控制信号迸行变换和组合,以得到对存储器和"0福I的读/写信号和对钺存器8282及对总线收发器8286的控制信号.2.178086CPU工作在最小横式(单CPI)和最大模式(多CPU)主要特点是什么?有何区别?【答】以小模式MN/研接-5V,构成小规模的应用系统,只有8086个微处理瑞.所有的总税控制信号均为8086产生,系统中的总找控制设林电路,M少到AH、;不需总战控制器8288.适用于单一处理机系统最大模式MN/就接地.用于大型(中型)8086/8088系统中,系统总是包含有两个或多个微处理既其中个主处理器就是8086或8088.其它的处理器称协处理瑞,协助主处理器工作,需要总线控制潺束变换和组合拄制信号,需总线控制器8288;适用于多处理机系统“2.188086/8088I/O的读/与周期时序与存储器读/写冏期的主要差异於什么?【答】在8086存储器周期中,控IH1.号M/而始终为高电平:而在I/O周期中,M/而始终为低电平.2.19CPU比动时.有那些特征?如何寻找8086/8088系统的启动程序?【答】在8088/8086系统中,CPU启动后,处理器的标志寄存器、指令指计寄存器IP.段寄存器DS,SS、ES和指令队列都被清零.但是代码段寄存三5CS被设置为FFFFH.囚为IP=Oo00.而CS=FFFFH,所以,808S/8Q的将从地址FFFFoH开始执行指令,通常.在安排内存区域时.珞高地址区作为只读存饰区.而且在FI干FOH单元开始的儿个单元中放入一条Ai条件转移指令,转到一个特定的程序中,这个程序往往实现系统初始化、引导监控程序或并引导悌作系统等功能,这样的程序叫做引导和装配程序.2.208086和8088是皂样解决地址税和数据线的现用同出的?AI.E信号何时处于有效电平?【咨】8086/8088采用时间分附技术与地址锁存技术,诩过地址徵存允许信号A1.E锁存CPt送出的地址,有效解决胞址线和数据践的复用向题.A1.E在T1.状态行效,将Cpt送出的20位地址锁存.2. 218086系统在最小模式时应该怎样闻过?诂画出这种配置弁标出主要信号的连接关系.【答】8086在最小模式下的典型配置.见敕材的图2.7。-片82&IA.作这时仲发生器.3片8282或741.1.373,用来作为地址馍存器.2片8286/8287作为总践收发器,2.228086构成系统分为堀两个存储体?它们如何丐地址、数据总统连接?【答】808fi构成系统分为偶地址存储体和奇胞址存储体.偶地址存偌体:连接D7D0,AO=O时选通;奇地址存储体:连接D15D8,BHEO.AO1时迭通。见教材图2.I1.2.23BHE;号和AO1号是怎样的组公斛决存储«卬外也,'小I的读/写操作的?这种组合决定了8086系统中存储器隅地址体及奇地址体之间同该用什么信号区分?怎样区分?【答】BHE:'.If1.AO/川”:以小丁如下表."BHEA援作引U!OO从留地址开蛤读/写一个字川九-Dt,1O从例地址以元或端”读/写一个字初AD.-AD,OI从奇地址举7匕或端口it/"一个字节g,一AD1OIIO从舟地址开始读/写一个字AD1.t*A1)D1-ADa2.248086CIT读总混物期各包:;多少个时钟周期?和么情况下霸要揖入T1.等行用JRI应插入多少个Tu,取决J什么因素?什么情况下会出现空闱状态Ti?【等】8086CPU读/与总线朋期包含4个时钟周期.当CPU与慢速的存储涔或外设1/()端门交换信息,系统中就要用一个电路来产生READY信号,并传递给CPU的READY引脚.CP1.在京状态的下降沿对REA1.)Y信号进行采样.如果无效,那么,就会在京之后插入等待状态7>插入7.的个数取决于C川接收到高电平READY信号的时间。CP1.在不执行总线周期时,总税接口部件就不和总线打交道,此时,进入总税空闲周期.自测试:1 .选择题:(1>某微机具彳T16M字节的内存空间,共CP1.的地址总线应有3条.A.26B.28C.20D.22E.24<2)8086/8088CpV要求加到RESET引脚上的复位正脓种信号,其宽度至少要(4个时忡周期才能行效复位,如果是上电亚位则要求正脓冲的宽度不少于(50)us。A.4.50B.5,60C.1.70D,5.80(3)当RESET信号进入高电平状态时,将使8086/8088CPU的(D)寄存器初始化FFFFH.A.SSB.DSC.ESD.CS<4)8086/8088CPU与慢速的存储器或I/0接口之间,为了使传送速度能也配,要在(C)状态之间插入若干等待周期T*A.T1.和T2B.T2和T3C.T3和T4D.机2.填空网:<1)8086/8088CPt执行指令中所曷操作数地址由寻址方式和地址寄存器)计算出(16)位偏格量部分送<IP),由(段地址加上倜移量除分)呆后形成一个(20)位的内存限元物理地址.(2)8086/8088CP1.在总践周期的T1.状态,用来输出<20)位地址信息的城商(4>位,而在其它时钟周期,则用来输出(状态)信愿。<3)8086/808«CP1.货位后,从(FI-I-I-OH)单元开始读取指令字节.一般这个单元在O区中,在其中设置一条(无条件转移)指令,使CpU对系统进行初始化.<4>8086系统的存储体系结构中,IM字节存储体分<两个存储体,包个存储体的容量都是(512K>字节,其中和数据总处D15-D8相连的存饰体全部由(奇地址单元姐成.称为高位字节存储体.并用(为电平)作为比存储体的选通信号.(5)8086/8088系统中,可以有(216)个段地址.任;&相邻的两个段地址呆短相距(16个存储批元,依长桁距I2«)存储单元.(6)用段基值及伯移地址来指明内存取元地址称为<物Jit习题三8086指令系统主鬟内容;8086指令系统.主要介绍8086的基本数据类型、J址方式和指令系统.近点掌报8086指令系统的学址方式、用栈操作指令、口术运班指令及其对标志位的影响,串操作指令.控制传送指令.I.单选时:(1)执行下面指令序列后,结果是(八).MOVA1.82HCBWA、(AX)=0FF82HB、(AX)=8082HC、(AX)=(M)82HD、(AX)=0F82H(2) -MOVBX.OFFSETVAR指令完全等效的指令是(D).A. MOVBX.VARB、1.DSBX.VARC»1.ESBX.VARD、1.EABX.VAR(3)编”分支程序在进行条件到斯前.可用指令构成条件,其中不能形成条件的指令W<D>.A、CMPB、SUBC、ANDD、MOV(4)下面指令执行后,改变A1.寄存器内容的指令是(D。B. TESTA1.02HB、ORA1.A1.C. CMPA1.BD.ANDA1.B1.(5>设DH=IoH.执行NEGDH指令后,正确的结果是(D.A、(DH)=IOH,CF=IB.(DH)=OFOH,CF=OC»(DH)=IOH,CF=OD>(DH=OFOH,CF=I(6) SDS=8225H.D1=3942H.指令NEGBYTEPTK1.D1.)操作数的物理地址是(A)。A,85B92HB、86192HC、BB690HD.12169H(7)下列指令中,执行速度最快的是<C).A、MOVAX.I(X)B,MOVAX.BXC、MOVX.BXD、MOVAX,(BX+BP2.8086CPU执行如下指令后的结果,以及标志SF、AF.CF、OF的值。(1)MOVA1.0110OKWBSUBA1.58HZ(A1.)=OCHAE=IDASXA1.)=O6乩AF=IADDA1.89U(A1.>=8HI.AF=0DAAXA1.)=95H.AF=1.SE=I结果:(A1.)=95H.SF=I,AF=I1CF=O.OF=O2 2)MOVA1.05HMOVB1.,09HMU1.B1.:(AX尸002DH.SP、AF.CF.OF=OAAA:(AX)=O1.OJH:AAM;(AX>=O4O5Htt:(AX)=0103H.CF三1.SF=O»AF=1.OF=O3 .分析执行卜列指令序列后的结果:MOVA1.10I10101BANDA1.(XX)11111BXAD=(XX)IO1.O1.BORA1.,1IO(XXXX)BXA1.riIOIO1.OIBXORA1.,O(X)OII1.IB,MI-IIOIIOIOBNOTA1.I(A1.y=OO1.OOK)IB4.假设(AIJ=IOIo1.1."B,CF=O,C1.=2,写出分别执行下列指令后的法果以及标志位CF.ZF,OF的值.(1)SH1.A1.,C1.I(A1.)=IO1.1.I100B,CF=O、ZF=OxOF=I(2)SHRA1.,C1.j(A1.)=10IO1.1.B,CF=IxZF=O.OF=O(3)SARA1.C1.XAD=I1.1.OIOI1.B.CF=I.ZF=O.OF=O(4) RO1.A1.C1.:(A1.尸IO1.1.111()B.CF=O,ZF=()、OF=I(5) RCRA1.C1.I(A1.)=IO1.II1.O1.B.CE=O.Zb=O.OF=I5.设(IP)=3DXFH.(CS)=4()50H.(SP)-OFI7CH.当执行CA1.1.2(X)0:0094H后,试求出IP,CS.SP的内容,以及栈顶4个单元的内容。【忤】(CS)=2000H.dP)=0094H.栈顶FI78HFI7BH连续4个单元的内容:94.3D.50.40,6,设(DS)=2000H.(BX>=1256H.(SI)=52811I.TAB1.E的偏移量=20AIH.(23211H)=328011.(264E5H=2450H,执行下述指令后IP的内容?BX;(1P)=I256H(2) JMPTAB1.EBX;(IP)=328OH(3) JMPBX(SIi(IP>=245OH7,设当前的SP=KKXIH.执行PUSHF指令后,SP=(OFFEH),若改为执行INT20H指令后,则Sp=<<HKH>.8 .设当前(SS)=2010H,(SP)=FEoOH.(BX)=3457H,计算当前栈顶的物理地址为多少?当执行PUSHBX指令后.栈及地址和栈顶2个字节的内容分别是什么?【4】当前板顶指针(SP)=2FrH,物理地址=20100H+3)H=2FFOOII当执行PUSHBX指令后,栈顶指针(SP)=FEoO2=FD1EH,极顶物咫地址:2FDFEH.枚顶2个字节的内容分别S457H.9 .HUT指令用在什么场合?如CPU在执行H1.T指令时遇到硬件中断并返回后,以下应执行哪条指令?(yrH1.T用在使CPU处于折停状态而等恃硬件中断的场合.在执行H1.r指令遇到硬件中断并返回后将执行H1.T后面的一条指令.10 .为什么用增盘指令或减用指令设计程序时,在这类指令后面不用进位标志作为判断依据?r地成折令或M令不影响进位标志CF.11 .中断指令执行时,堆栈的内容有什么变化?中断处理子程序的人口地址是怎样得到的?【咨】中断指令执行时.堆枚内容变化如下:标志寄存落被推入堆栈,且SPM2.然后CPU将主程序的卜条指令地址即断点地址推入堆校,即段ffCS推入堆栈旦SPM2,偏移M推入堆栈,aSP减2.中断处理子程序的入口地址即中断向最,对应的中断类型号的4倍即为中断向Ift地址,在该地址处的4个字节内容,高地址单元两个字节为中断入1.1.地址的段地址.低地址单元两个字节为中断入【地址的偏移地址.12 .中断返回指令IRET和普通子程序返回指令RET在执行时,具体操作内容什么不同?【凸】IRET从堆机中依次弹出断点处指令指件IP、代同段CS内容标忑后存照的侪,而RET从堆栈中依次弹出断点处指令指针IPtf1.、代码段CS内容,不需要弹出标志寄存器的值.13 .以下是格雷码的编码表:00000,I0001.2OOI1.30010.4O1.IO5O1.1.1.60101.701.81100.9I1.Oi请用换眄指令和其它指令设计一个程序段,实现格甫眄往ASCII码的转换.【答】格雷码ASCII码数值0030H001.31HI1033H3OO1.1.32H2010037H7OIOI36H6OHO34H4O1.1.1.35H5o/1001./IOIO/IO1.1./1138H8IIO1.39119TAB1.ESEGMENTTBJ)DB30H.31H33H.32H37H.36H34H.35HA0DB0.0.38H.39HGRADB05HASC1.DADB?TB1.EENDSCODESEGMENTASSUMECS:CoDEQS:TAB1.ESTART:MOVAXJABI.EMOVDSXMOVBX.OHSETTAB.DAMOVA1.GRAXI-ATMOVASQ1.DA,A1.CODEENDSENDSTART14 .将存放在OAoOHiR元和0A02H玳元的两个无符号数字U相乘,结果存放在地址为OA(MH开始的单元中,Iyt参考程序:假设数据为字节MOVA1.,OAHMOVB1.0A02HMU1.B1.MOV004j,X15.编程计算(X÷Y)-10)+Z)X.X、Y、Z都是16位无符号数,结果存在RESUur开始的单元。【岑】参考程序KMOVADDMOVMU1.ADDADCMOVDIVMOVAX.XAX.YBXOAHBX:求税在DX.AX中AX.ZDXQH;考虑进位BX.XBX;RESU1.T,AX习题四汇编语言程序设计主聂内容,汇编语言程序设计。主要介绍近编语宫程序的设计方法与编程原理戊掌握W术运优程序、字符中处理程序、码制转换程序、子程序设计程序常用DOS和B1.OS功能调用程序、汇编语才常用伪指令.4.1分析执行E列指令序列后的结果:1>MOVAX.1234HMOVBX.OnFFHANDAX.BX【答】(AX)=OOMH2>MOVA1.OIOIO1()IBANDA1.O(X)IIIIIRUA1.)二OO(HOIoIBORA1.11(XXXXX)BZ(A1.>=IIOI()IO1BXORA1.fK×X)HHRJA1.)三IIOIIOIOBNOTA1.【答】(AIj=(X)100IOIB3)MOVD1.05HMOVAX.OAOOHMOVDS.AXMOVSI.OHMOVCX>OFHAGAIN:INCSICMPS1.D1.1.OOPNEAGAINH1.T本程序实现了什么功能?【答】在以OAOOIH开始的15个单元中查找05H4)MOVAX.DSEGADDRMOVDS.AXMOVES.AXMOVSI.OFFSETB1.ADDRMOVDI,OFFSETB2ADDRMOVCX.NC1.DREPMOVSBHI.T本程序实现r什么功能?【答】将B1.ADDR中N个字节数据传送到B2ADDR开始的15个存储单元,5)MOVAX.OHMOVDSAXMOVES.AXMOVA1.OSHMOVDI.0A三)HMOVCX,OFHC1.DAGAIN:SCASB1.OOPNEAGAINH1.T本程序实现/什么功能?【答】从胞址OAOOoH开始的15个电元中查找字节型数据05H用条件循环1.OOPNZ.控制数据05H的查找Q4.2阅读程序:I).C1.D1.EADI.O100HIMOVCX.(X)SOHXORAX.AX【答】r考程序如下,MOVA1.I(XX)OOIOBOUT43H.A1.:8255方式设置1.1.:INA1.,4IH;读BB开关状态NOP:延时OUT40H.A1.:写A口控制1.EDNOP:延时JMP1.1.8.8 级初始化程序,使8255A的PC5端输出一个负跳变.如果转求PC5舞输出一个(ft脉冲则初始化程序又是什么情况?【答】初始化程序:MOV1.OOOO1011H:PCS罚.1"控制字一A1.MOVDX.(+6H.控制IJ地址一D1.OUTDX.A1.:翼“1”控制字一控制寄存网MOVA1.(KX)01010BsPCK0"控制字一A1.OUTDX.A1.;置“0控制字一控制寄存器如果暨求PC,输入一个负脉冲则再加两条指令:MOVA1.O(XX)IO1.1.OUTDX.A1.8.9 要求通过8255,利用开关控制发光:极管。当开关S断开时,1.EDi1.ED3熄灭:当SfM合时,1.ED1.EDs依次循环发光。%8255PA1.Q行初始化WAITH)RS闭合?用介IYIgI1.AS1.1.UJ),1.MX依次发光1.>ARK1.EDr1.ED1MDAIASEGMENTPoRTjTONEQU3O3HPORT.AEQU300HPORT.BEQU301HPORT«EQU302HDATAENDSMYCODESEGMENTASSUMECS:MYCODE.DATA:DSMAINPRoCMOVXtDTMOVDSXCA1.1.INIT:8255初始化WA11,K)R:MOVDX.PORT_B湃关扫描阳环INANDJZCA1.1.JMPCSE:CA1.1.JMPMAINENDPINITPROCMOVMOVOUTCA1.1.RETIN1.TENDPF1.ASHPRoCMOVMOVOUTCA1.1.MOVOUTCA1.1.MOVOUTCA1.1.RErF1.ASHENDPDARKPROCMOVMOVOUTRETA1.DXA1.(X)OOOOOIB:育询连修在PBO的开关S状态C1.OSE:开关SWBI1.ED1.j1.ED3依次发尤DARK:开关S新开则1.ED1-1.ED3炮灭WITFORF1.ASHWAITFORDX.PORT-CONa1.100oooioba.B组力式o.ra11JfiUi.PBU输入DX.A1.DARKI>X.PORT.Aa1.Iiiiiiiob:PAOfft出低电W1.ED1.发光DX.A1.DE1.AYA1.I1.III1.Oin;PAI输出能电平,1.ED2发光DX.A1.DE1.AYA1.11()1IBWA2输出低电平.1.ED3发光DX.A1.DE1.AYDX.PoRT_Aa1.Iiiiiiiib:pa口全部第H花电平.发光.极低烛灭DX.A1.DARKENDP:软件时itDE1.AYPROCRErDE1.AYMYCODEENDPENDSENDMAIN【答】工作过程:当主机要往打印机帖出字符时.先查询打印机忙信号,如果打印机正在处理一个字符或在打印一行字符,则忙信号为1,否则为6PP:MOVA1.,8111;82S5工作方式字OUT63H.A1.:A口方式0.怆出.C4-7,i.CO-3输入MOVOUT1.OOOOIIiIB63H.A1.;PC7置1,禁止STB1.PST:INA1.,62H:读C口ANDA1.O1.H!在PCO=C?JNZ1.PST;忙,等待;不忙,送数MOVA1.D1.sC1.中字符送端1.1.AOUT60H.A1.;送数列A口MOVA1.O(X)O1.1.1.OB:将PC7置0(使STB有效)OUTNOP63H.A1.sA1.=O(X)OI1.OOB:延时MOVA1.OO(X)1111:A1.=OOOOIH1.BOUT63H.A1.:再使SIB<PC7)为18.11设-工业控制系统,有四个控制点,分别由四个对应的输入端控制,现用8255人的C口实现该系统的控制,如图132,开关长广人打开则对应发光:极管必亮,表示系统该控制点运行正常:开关闭合则对陶发光二极管不亮.说明该控制点出现故障.编写8255A的初始化程序和这段控IM程序.741.So4【答】r考程序如下:MOVOUTA1.J(X)(XKX)IB63H.A1.:8255方式设置1.I:INA1.62H清询KO状态TESTA1.O1.IIJZ1.1.1.MOVAUXX)O1(X)1BOUT63H,A1.;正常.PC4=1.,1.0%JMP1.21.1.1.:MOVA1.(XXMJI(XX)B:不正常.1.O灭OUT63H.A1.1.2:INA1.62H潜询K1.状态TESTA1.02HJZ1.21MOVA1.t(X)OOIOIIB;正常,PCS=1.1.I亮OUT63H,A1.JMP1.31.21:MOVAuxxxjioiobOUT63H.A1.1.3:INA1.62H渣询K2状态TESTA1.t(MHJZ1.31MOVA1.t(XXM)IIOIB;正常,PC6=I.1.3亮OUT63H,A1.JMP1.41.31.:MOVA1.00001100BOUT63H.A1.1.4:INA1.62II港询K3状态TESTA1.081.1.JZ1.41MOVA1.tO(X)OIIIIB;正常,PC7=I.1.3OUT63H,A1.JMP1.1.1.41.:MOVA1.(XXX)II1.OBOUT63H.A1.JMP1.I;循环佟询KO状态习题九串行接口9.I花RS-232-C标准中,信号电平与H1.电平不兼容.前RS-232-C标准的1和O分别对应什么电平?RS-232-C的电平和TT1.电平之间通常用什么器件进行转换?【答】RS-232-C将-5Y规定为“1”.格+5V-X5丫规定为"0”.将TT1.电平转换成RS-232-C电平时.中间要用到MC1488零件.反过来.用MCM89零件.构RS232-C电平转换成TT1.电平.9. 2从8251A的琳程结构中.可以存到8251A育几个寄存器和外部电路外关?一共Ie几个鼐11地址?为什么?【答】数据发送寄存器、数据接收寄存器,状态寄存罂和命令寄存器.共2个端口塘址.数据发送寄存器(只写)和接收存存踹(只谀)共用个端【1地址.命令寄存器(只写)和状态寄存三(只读)共用一个端口地址.9.3 8251A内部付哪些功使模块?其中读/写控制退林电路的主要功能是什么?【答】825IA行个数据输入缓冲寄存器和个数据输出缓冲