微机原理与接口技术-基于8086和Proteus仿真(第3版)习题答案_第1页
微机原理与接口技术-基于8086和Proteus仿真(第3版)习题答案_第2页
微机原理与接口技术-基于8086和Proteus仿真(第3版)习题答案_第3页
微机原理与接口技术-基于8086和Proteus仿真(第3版)习题答案_第4页
微机原理与接口技术-基于8086和Proteus仿真(第3版)习题答案_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

PAGE10PAGE10第1章习题答案1.答:运算器功能:完成各种算术运算或逻辑运算;控制器功能:发出各种控制信息,使计算机各部件协调工作;存储器功能:存储程序和数据;输入设备:将程序和数据输入的部件;输出设备:将结果数据输出的部件。2.答:3.答:接口;4.答:5.答:CPUBIOS6.答:BIOSBasicInputOutputSystemROM7.答:略。第1章习题答案1.答:为了区别所使用的数制,一般用以下两种书写格式表示:①用括号将数字括起,后面加数制区分,数制用下标的形式给出;或bD或dO或或或q、(或h56.78(56.78)1656.78H;56.78(56.78)1056.78D。2.答:123D采用十进制,0AFH采用十六进制,77Q采用八进制,1001110B采用二进制。3.答:字长为8位的二进制数原码表示的最大值:127D,最小值:-127D;补码表示的最大值:127D,最小值:-128D。字长为16位的二进制数原码表示的最大值:32767D,最小值:-32767D;补码表示的最大值:32767D,最小值:-32768D。4.答:1101B=7DH(2)(3)72D=01001000B=48H(4)5090D=0001001111100010B=13E2H5.答:(1)11110000B=240D=F0H(2)10000000B=128D=80H(3)11111111B=255D=FFH(4)01010101B=85D=55H6.答:(1)FFH=255D=11111111B(2)ABCDH=43947D=1010101111001101B(3)123H=291D=0000000100100011B(4)FFFFH=65535D=1111111111111111B7.答:(1)字长为8位时(16)原=00010000;(16)补=00010000;字长为16位时(16)原=0000000000010000;(16)补=0000000000010000;(2)字长为8位时(-16)原=10010000;(-16)补=11110000;16位时(-16)原=1000000000010000;(-16)0000;(3)8位时(+0)=00000000(+0)补=00000000;16位时(+0)=0000000000000000(+0)补=0000000000000000;(4)8位时(-0)原=10000000(-0)补=00000000;字长为16位时(-0)原=1000000000000000;(-0)补=0000000000000000;(5)字长为8位时(127)原=01111111;(127)补=01111111;字长为16位时(127)原=0000000001111111;(127)补=0000000001111111;(6)8位时-128(-128)补=10000000;字长为16位时(-128)原=1000000010000000;(-128)补=1111111110000000;(7)8位时(121)原1001;(121)1001;字长为16位时(121)原=0000000001111001;(121)补=0000000001111001;(8)8位时(-9)原=10001001(-9)补字长为16位时(-9)原=1000000000001001;(-9)补=1111111111110111;8.答:(1)x100001(x补=000010(x原=100010(4x反=110。9.答:(1>B()B10.答:(1()1H()(EH()H。11.答:(1)000100()103)1000)10100;(5)000000()1017=0110。12.答:(1)H=8()3=59(34H66B(4)H=8()2=3(6H=13、答:十进制49123762压缩BCD码01001001B000100100011B00000111B01100010B非压缩BCD码0000010000001001B000000010000001000000011B00000111B0000011000000010BASCII码3439H313233H37H3632H第2章习题答案1.(1)答:20CPU808600000H~FFFFFH。8064位是000,16偏移地址:把某一存储单元相对于段地址的段内偏移量称为偏移地址(也称有效地址E16(2)答:TTCPUBusCce(nsuconCcl(3)答:8086CPU的控808682888086CPU2.答:EU:负责指令的执行,即从总线接口部件BIU的指令队列取指令,指令执行后向BIU送回运算结果,同时把运算结果的状态特征保存到标志寄存器中。CPUBIU8086的BIU和EU在很多时候可以并行工作,使得取指令、指令译码和执行指令这些操作构成操作流水线。①当指令队列中有两个空字节,且EU没有访问存储器和I/O接口的要求时,BIU会自动把指令取到指令队列中。EUEUBIUBIUEUBIUBIU个取指令操作,然后再去响应EU发出的访问总线的请求。③当指令队列已满,而且EU又没有总线访问时,BIU便进入空闲状态。BIU3.答:地址信号是CPU发送给内存或I/O设备的,所以地址线是单向的;CPUCPU,4.答:8086CPU中有14个寄存器。它们是:① 416AXBXCXDX;② 88AH、BH、CH、DHDL;③ SPBP、SI、DI;④ 416、DS、SSES;⑤ FR;⑥ IP。5.答:(1)加法运算的结果为:CEACH;CF=0,PF=1,AF=0,ZF=0,SF=1,OF=1;(2)加法运算的结果为:68ACH;CF=0,PF=1,AF=0,ZF=0,SF=0,OF=0;(3)加法运算的结果为:DDDDH;CF=0,PF=1,AF=0,ZF=0,SF=1,OF=0。6.答:8086CPU可寻址的存储器地址范围是00000H~FFFFFH;可寻址的I/O端口地址范围是0000H~FFFFH。7.答:由于8086CPU提供20位地址,但8086中可用来存放地址的寄存器,如IP、SP、BX、SI1664KB1MB存储器分段技术,即将整个存储器空间分为许多逻辑段,每个逻辑段的容量小于或等于64KB208.答:AHM//R1;ALM//R0。9.答:BHEA0有效的数据引脚操 作0 0AD15~AD0(一个总线周期同时访问奇体和偶体,从奇地址单元读/写字数据的高8位,从偶地址单元读/写字数据的低8位)从偶地址读/写一个字1 0AD7~AD0从偶地址读/写一个字节0 1AD15~AD8从奇地址读/写一个字节0 11 0AD15~AD8(第一个总线周期从奇字数据的低8位)AD7~AD0(第二个总线周期从偶地址单元读/写字数据的高8位)从奇地址读/写一个字10.答:80860000H;11.答:8086的A19/S6~A16/S3和AD15~AD0是复用信号,需要地址锁存器将地址信息保存起来,为外接存储器或外设提供地址信息。需要锁存的信号是:地址信号及BHE信号。12.答:8086CPU4T1、T2T3T4。T1M/IOCPUCPUT1还必ALEBHET1T2CPU164RD或写信号WRT2CPU(。在T3状态,多路总线的高4位继续提供状态信息,而多路总线的低16位上出现由CPU读出的数据或者CPU从存储器或端口写入的数据。T413.答:CPUREADYT3CPUCPUT31TW14.答:两种操作时序的不同之处发生在T1和T2状态。①在T1状态,读周期:DT/R应输出低电平;写周期:DT/R应输出高电平。②在T2状态,读周期:RD有效,而WR无效,AD15~AD0为高阻态;写周期:RD变为无效,而写信号WR变为有效,AD15~AD0在地址撤销之后立即送出要写入存储器或外设端口的数据。15.答:在最小模式下,读信号RD、ALE和DT/R、DEN等信号直接由CPU给出;在最大模式下,总线控制器8288根据S,S和S状态信号产生读信号MRDC和IORC,2 1 0ALE和DT/R、DEN也是由8288发出的,而且DEN信号的极性与CPU在最小模式下发出的DEN信号正好相反。第3章习题答案1.答:指令中关于如何求出操作数有效地址的方法称为寻址方式。8086CPU支持多种寻址方式,根据操作数的类型及来源大致分为3类:数据寻址、转移地址寻址和I/O寻址。2.答:8086汇编指令可以采用7种基本的数据寻址方式:①立即寻址;②寄存器寻址;③直接寻址;④寄存器间接寻址;⑤寄存器相对寻址;⑥基址变址寻址;⑦相对基址变址寻址。与存储器寻址方式(后5种)相比,寄存器寻址方式最快。3.答:如果指令中没有用前缀说明操作数存放在哪个段,则操作数默认存放在数据段。8086系统允许操作数存放在代码段、堆栈段或附加段。此时,就需要在指令中利用前缀指明段超越。例如:MOV ES:[1225H],AX4.答:(1)寄存器寻址方式(2)寄存器间接寻址方式,PA=10300H(3)寄存器间接寻址方式,PA=20200H(4)直接寻址方式,PA=10060H(5)基址变址寻址方式,PA=10500H(6)相对基址变址寻址方式,PA=12300H(7)直接寻址方式,PA=11000H(8)寄存器相对寻址方式,PA=10306H(9)直接寻址方式,PA=10065H5.答:(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)×××√×√××√××6.答:(1)源作的址不同MOV AX,3000H指令源作采的立即寻址方,MOV AX,[3000H]令源作采是直寻方。(2)指执后,AX值不。MOV AX,MEM指执后,AX的是MEM单元内而MOV AX,OFFSETMEM令后,AX到是MEM元的址。(3)指不。MOV AX,MEMMOV AX,MEM指令行,AX得是MEM单元的内容,而LEAAX,MEM指令执行后,AX得到的是MEM单元的地址。转的型同JMP 指实是段转而JMP NEARPTRL1指令实现的是段间转移。指的行果CMP DX,CX令后值变而SUB DX,CX指令执行后,DX的值是两寄存器值的差。作所段同MOV [BP][SI],CL指令访的是栈的储元而MOVDS:[BP][SI],CL指令访问的是数据段的存储单元。7.答:MOV BYTE PTR[BP],200(58200H)200。MOV WORD PTR[BX],20002000。8.答:当前栈顶地址是:2010:FE00HH;执行PUSHBX指令后,栈顶地址变为:2010:FDFEHH,栈顶2字节内容是:3457H。9.答:(1)=C2C=1(2)=36C=0(3)=AHC=1(4)=CHC=0(5)=87C=1(6)BC,C=010.答:(AX)CFZFOFSFPF(1)134EH00001(2)0821H00001(3)F142H10011(4)0A6910011(5)F596(6)0A690000111.答:CMPCX,DXJANEXTCMPAX,BXJNANEXTCMPDX,0JZNEXTCMPCX,DXJBENEXT12.答:。。。。。13.答:因为普通运算指令执行的是二进制数的运算,而BCD码是十进制数,所以,需要对运算结果进行十进制调整。BCDBCD码的除法运算时,在运算指令之前用十进制调整指令对被除数进行调整。14.答:

MOVCl,3SHRBX,CL15.略)16.答:COUNT=100HORG1000HD_DATADBCOUNTORG2170HDUP(?)DB COUNT/5 ENDSCODE SEGMENTASSUMECS:CODE,DS:DATA,ES:DATASTART:MOV MOV DS,AXMOV ES,AXLEA LEADI,D_DATAMOVCX,COUNTREPMOVSBMOV AL,1MOV LEA 17.答:CMP BYTEPTR[DI],ALJNZ NEXTMOV BYTEPTR[DI],''INC DILOOP AGAINMOV AH,4CHINT 21HCODE ENDSENDSTARTCODE SEGMENTASSUMECS:CODESTART:MOV AX,5678HMOV NOT AXNOT DXADD AX,1ADC DX,0MOV AH,4CHINT 21HCODE ENDSENDSTART;本程未虑出情。SEGMENTA1DW5050HA2DW? ;A1A3DW? ;A1ENDSCODE ASSUMECS:CODE,DS:DATASTART:MOV MOV DS,AXMOV AX,A1NOT AXMOV A2,AXINC AXMOV A3,AXMOV AH,4CHINT 21HCODE ENDSEND SEGMENT 5000HORG 3481HDB12HDB?,?,?ENDSCODE ASSUMECS:CODE,DS:DATASTART:MOV MOV DS,AXMOV NEG ALMOV MOV XOR MOV MOV OR MOV EXIT:MOV AH,4CHINT 21HCODE ENDSEND COUNT=1000ORG 1000H10 DUP(12H,-5,-3,0,-128,56H,98H,4,128,200)ORG 2000HDB?ENDSCODE ASSUMECS:CODE,DS:DATASTART:MOV MOV DS,AXLEA MOV DEC CXMOV INCSICMP JLE ISMINMOV AL,[SI]ISMIN:LOOP NEXTMOV MOV AH,4CHINT 21HCODE ENDSENDSTARTSEGMENTSTRING1 DB COUNT1=$-STRING1STRING2 DB COUNT2=$-STRING2IM DBNM DB'NOTENDSCODE SEGMENTASSUMECS:CODE,DS:DATASTART:MOV MOV DS,AXLEA SI,STRING1LEADI,STRING2MOVCX,COUNT1MOVBX,COUNT2CMPCX,BXJNZ MOV AL,[SI]MOV AH,[DI]CMP AL,AHJNZ INC SIINC DILOOP NEXTMOV DX,OFFSETIMMOV AH,9INT 21HJMP EXITMOV DX,OFFSETNMMOV AH,9INT 21HMOV AH,4CHINT 21HCODE ENDSEND DSEG SEGMENTDB5,6,7,8DW?DB1,10,100,20DSEG ENDSCODE SEGMENTASSUMECS:CODE,DS:DSEGSTART:MOV AX,DSEGMOV DS,AXMOV DX,0MOV CX,4LEA LEA MOV AL,[DI]MOV BL,[SI]CALL DOMULADD DX,AXINC DIINC SILOOP NEXTMOV WORDPTRMOV AH,4CHINT21HDOMULPROCMUL BLRETDOMULENDPCODE ENDSEND MOVCX,100MOVAX,SEGLISTMOVDS,AXMOVAX,SEGBLKMOVES,AXLEASI,LISTADDSI,CXLEADI,BLKADDDI,CXSTDREPMOVSBDSEG BUFFERDW8DB'12345678'DSEG ENDSCODE ASSUMECS:CODE,DS:DSEGSTART:MOV AX,DSEGMOV DS,AXMOV SAR CX,1LEA SI,BUFFERMOV DI,SIADD DI,2AGAIN:ADD SI,2MOV AL,[SI]AND AL,0FHSAL BYTEPTR[SI+1],1SAL BYTEPTR[SI+1],1SAL BYTEPTR[SI+1],1SAL BYTEPTR[SI+1],1OR AL,BYTEPTR[SI+1]MOV [DI],ALINC DILOOP AGAINEXIT:MOV AH,4CHINT 21HCODE ENDSEND JMPSHORTLAB指令是一条双字节指令。这条指令取出后,(IP)=0102H,转移目标的偏移地址=(IP)+位移量。所以,转移目标的物理地址=(CS)╳16+(IP)+位移量。(1)转移目标的物理地址=(CS)╳16+0158H(2)转移目标的物理地址=(CS)╳16+0182H(3)转移目标的物理地址=(CS)╳16+017AH(4)转移目标的物理地址=(CS)╳16+01E2H:DSEG SEGMENTORG10HDB10DB?DSEG ENDSCODE SEGMENTASSUMECS:CODE,DS:DSEGSTART:MOV AX,DSEGMOV DS,AXMOV MOV BL,ALSAL BL,1ADDAL,BLMOV CL,2SAL BL,CLADDAL,BLMOV MOV AH,4CHINT21HCODE ENDSENDDSEG ORG 10HDB10H,20HDB?,?DSEG ENDSCODE ASSUMECS:CODE,DS:DSEGSTART:MOV AX,DSEGMOV DS,AXMOV MOV MOV CL,3SAR AX,CLMOV MOV EXIT:MOV AH,4CHINT 21HCODE ENDSENDSTARTDSEG SEGMENTBLOCKDW8DUP(10H,20H,-3,-9)DSEG ENDSCODE SEGMENTASSUMECS:CODE,DS:DSEGSTART:MOV AX,DSEGMOV DS,AXLEA SI,BLOCKMOV CX,32AGAIN:MOV AX,[SI]CMP AX,0JNS NEXTNEG AXMOV [SI],AXINCSIINCSILOOP AGAINMOV AH,4CHINT 21HCODE ENDSENDSTARTDSEG SEGMENTORG 3030HDW 1234H,-1234H,?,?DSEG ENDSCODE ASSUMECS:CODE,DS:DSEGSTART:MOV AX,DSEGMOV DS,AXMOV MOV IMUL BXMOV MOV EXIT:MOV AH,4CHINT 21HCODE ENDSENDSTART第4章习题答案标号是指令的符号地址,可用作控制转移指令的操作数。标号具有3种属性:段属性、偏移属性和类型属性。变量是存储单元的符号地址。变量具有3种属性:段属性、偏移属性和类型属性。操作符所完成的运算在汇编阶段进行。略。(1)DB1DB10H DUP(1,2,5DUP(3),4)(2)DB2DB'STUDENT'(3)BD3DW12H,0ABCDH(4)COUNTEQUDB2-DB1OROROROROROR(1)=1(2)=2(3X=5(4)=H(5X=1(6)=4答:

DSEG SEGMENTSTRING DB DSEG ENDSCODE SEGMENTASSUMECS:CODE,DS:DSEGSTART:MOV AX,DSEGMOV DS,AXLEA SI,STRINGMOV CX,0AGAIN:MOV AL,[SI]CMP AL,'$'JZ NEXTINC CXINC SIJMP AGAINMOV DX,CX ;DXMOV [SI]+2,ALDEC SIMOV AL,[SI]LOOP ;字串一个符始动MOV [SI]+2,ALMOV WORDPTR[SI],DXMOV AH,4CHINT 21HCODE ENDSENDSTART1919DSEG SEGMENTDSEG SEGMENTSTRING DB 'ItisFEB&03'COUNT=$-STRINGDSEG ENDSCODE ASSUMECS:CODE,DS:DSEGSTART:MOV AX,DSEGMOV DS,AXLEASI,STRINGMOV CX,COUNTAGAIN:MOV AL,[SI]CMP JNZNEXTMOV AL,''MOV [SI],ALINCSILOOP AGAINMOV AH,4CHINT 21HCODE ENDSENDSTARTPAGE20PAGE20DSEG SEGMENTBLOCK DB4,5,-2,7,8,9,2,1,0AH,1BH,87H,23H,44H,33H,45H,28H,0DH,8EH,66H,22HCOUNT=$-BLOCKDSEG ENDSCODE SEGMENTASSUMECS:CODE,DS:DSEGSTART:MOV AX,DSEGMOV DS,AXLEA SI,BLOCKMOV CX,COUNTAGAIN:MOV AL,[SI]MOV DI,SIMOV DX,CXNEXT1:CMP AL,[DI]JGE NEXTXCHG AL,[DI]NEXT:INC DIDEC DXJNZ NEXT1MOV [SI],ALINC SILOOP AGAINMOV AH,4CHINT 21HCODE ENDSEND(3)(4)(2)(5)(1)(6)1B50H1000H1A70H150BH上表左侧的序号,表示对应操作完成后SP指向的栈顶的位置。SUB1 PROCMOV BX,AXMOVCL,4ROLBX,CLMOVAX,BXANDAX,000FHMOVCX,1000MULCX;千位在DX,AX,有效值在AX中PUSHAXMOVCL,4ROLBX,CLMOVAX,BXANDAL,0FHMOVCL,100MUL CL;百位在AXPOP CXADD AX,CX;千百在AXPUSH AXMOVCL,4ROLBX,CLMOVAX,BXANDAL,0FHMOVCL,10MUL CL;十位在AXPOP CXADD AX,CX;千百位在AXMOV CL,4ROL BX,CLAND BX,0FHADD AX,BXRETSUB1 ENDPSUB2 PROCMOV DX,0MOVCX,1000DIVCX;千位数字在AX中MOVBX,AXMOVCL,4RORBX,CL;千位数字移至BX的高4位MOVAX,DXMOVCL,100DIVCL;AL中ORBH,AL;BHMOVAL,AHMOVAH,0MOVCL,10DIVCL;十位数字在AL中,个位在AH中MOVCL,4SALAL,CLMOVBL,AL;十位数字置BL高4位OR BL,AH ;十位位置BLMOV AX,BXRETSUB2 ENDPSUB3 PROCN5:PUSH BXMOVAL,AHMOV BX,0MOVAH,0LEA DI,ASCNUMMOVCL,10CMP AX,0DIVCLJNS CHGCMPBX,0NEG JNZN6MOV BYTEPTR[DI],'-'CMPAL,0JMP NEXTJZN7CHG:MOVBX,2MOV BYTEPTR[DI],'+'N6:NEXT:ORAL,30HMOV DX,0INCDIMOV CX,10000MOV[DI],AL ;存十位DIV CX;AX中N7:CMP AL,0ORAH,30HJZ N1INCDIMOV BX,5MOV[DI],AHOR AL,30HCMPBX,0INC DIJNZSNN1:

MOV [DI],AL ;存万位MOV AX,DXMOV DX,0MOV CX,1000DIV CXCMP BX,0

SN:

MOV BX,1MOV CX,BX ;INC CX;串长=数位+1LEA DX,ASCNUMPOP BXRETN2:N3:N4:

JNZ N2CMP AL,0JZ N3MOV BX,4ORAL,30HINCDIMOV[DI],AL;存千位MOV AX,DXMOV CL,100DIV CLCMP BX,0JNZ N4CMP AL,0JZ N5MOV BX,3

SUB3 ENDPORAL,30HINCDIMOV[DI],AL;存百位

CODE SEGMENTASSUMECS:CODESTART:MOV AH,1INT 21HCMP AL,'a'JB NOCHGCMP AL,'z'JA NOCHGSUB AL,20HNOCHG:MOV DL,ALMOV AH,2INT 21HEXIT:MOV AH,4CHINT 21HCODE ENDSENDSTART;键盘输入的成绩以逗号分割NEXT:MOV [DI],ALINC DIMOV AL,0INC BHINC SICMP BL,0DHJNZ AGAINTJ:LEA DI,CJTJ1:MOV AL,[DI]CMP AL,100JZ ADDS10CMP AL,90JAE ADDS9CMP AL,80JAE ADDS8CMP AL,70JAE ADDS7CMP AL,60JAE ADDS6ADDS10:INC S10JMPTJNEXTADDS9:INC S9JMPTJNEXTADDS8:INC S8JMPTJNEXTADDS7:INCS7JMPTJNEXT;输入完毕按回车结束ADDS6:DSEG SEGMENTSTRING DB40,?,40DUP(?)INCS6TJNEXT:CJ DB10DUP(?)INCDIS6 DB?S7 DB?DECBHJNZTJ1S8 DB?S9 DB?S10DB?EXIT:MOV AH,4CHDSEG ENDSINT21HCODE SEGMENTASSUMECS:CODE,DS:DSEGCODE ENDSENDSTARTSTART:MOV AX,DSEGMOV DS,AXLEA DX,STRINGMOV AH,10INT 21HLEA DI,CJLEA SI,STRING+2MOV BH,0MOV AL,0AGAIN:MOV BL,[SI]CMP BL,','JZ NEXTCMP BL,0DHJZ NEXTSUB BL,30HMOV CL,10MUL CLADD AL,BLINC SIJMP AGAIN23PAGE24PAGE24:第5章习题答案略。第6章习题答案1.半导体存储器的分类如下:2.随机存取存储器RAM主要用来保存各种输入/输出数据、中间结果、与外存交换的信息,也ROM/4.8086CPU和存储器连接时要考虑:存储芯片数,AB、DB和一些控制信号的连接,奇、偶片的设置,地址译码方式等。5.常用的存储器地址译码方式有:全地址译码、部分地址译码、线选法。6.需要(16k8)/(10241)=128片,CPU地址线中片内寻址10位,片外4位。7.A16A1D15D8D7D0

. . . .

. . . .

. . . .A15~A0

D7~D0

A15~A0

D7~D0

A15~A0

D7~D0

A15~A0

D7~D0

A15~A0

D7~D0

A15~A0

D7~D0CSWRCSWRCSWRCSWRCS62512RAMCSWRCSWRCSWRCSWRCS

62512RAM

62512RAM

62512RAM

28512EEPROM

28512EEPROM. WR.RDWR

E

.E

.E

.E

.E

WROECS.≥1 ≥1

≥1 ≥1

≥1 ≥1BHEA0M/IOA19A18A17

. . .GY0GY0G2BYG2AYY3CY4BY5AY6Y7..74LS1388.A16A15A1D15D8D7D0

A15~A0

...D7~D0.

A15~A0

...D7~D0.

A15~A0

...D7~D0.

A15~A0

...D7~D0.

. ..A14~A0.

...D7~D0.

. ..A14~A0.

...D7~D0.WRCSWRCSWRCSWRCSWRCS62512RAMWRCSWRCSWRCSWRCSWRCS

62512RAM

62512RAM

62512RAM

28C256E2PROM

28C256E2PROMMRDCMWTC

.E

.E

.E

.E

.E

WROECS.≥1 ≥1

≥1 ≥1

≥1 ≥1BHEA0VccA19A18A17

.GGY0G2BYG2AYY3CY4BY5AY6Y7.74LS138

. . ...A19.A18 &A17A16第7章习题答案1.I/O接口的功能:对输入/输出数据进行缓冲和锁存、对信号的形式和数据的格式进行变换、对I/O端口进行寻址、提供联络信号等。(DMAI/OCPU程序查询方式:CPU与外设传输数据之前,先检查外设状态,如果外设处于“准备好”状态()CPUDMACPUDMA通道控制和I/O处理器:主CPU启动通道工作,通道控制器即从主存或通道存储器中取出相应的程序,控制数据的输入/输出。33CPU80X864.M/IO:低电平,ALE:高电平,DEN:低电平;CPU从I/O接口读取数据时,DT/R为低电平;CPU往I/O接口写入数据时,DT/R为高电平。5.在外设接口电路中,经常需要对传输过程中的信息进行锁存或缓冲,所以需要锁存器和缓冲器。6.SEGMENT2000HORG 2000HBUF DB 100 DUP(?)ENDSCODE SEGMENTASSUMEMAIN PROC START:MOVAX,DATAMOVDS,AXLEASI,BUFMOVCX,100INPUT:MOVDX,0FFE2HINAL,DX ;读状端口TESTAL,01H ;测输状态D0位JZINPUT ;未“INPUTMOVDX,0FFE0H;读取输入字符INAL,DXMOVSI],AL ;SILOOPINPUTMOVAH,4CH ;DOSINT21HCODE ENDSENDSTART7.≥1D0~D7≥1Y

74LS373

LED0D0D0~D7 Q1GLE1IOW

. .Q7OELEDQ7OECODE SEGMENTASSUMECS:CODEMAIN PROC PUSH DSMOV AX,0PUSH AXMOV DX,200H ;200HAGAIN:MOV AH,1 ;读盘冲字符INT 16HCMP AL,1BH ;若为“Esc”键则出JZ EXITMOV AL,0FFH ;灯全亮OUT DX,AL ;LEDMOV BX,5 ;,50ms软延时CALL;10ms延时NOT AL ;灯全灭MOV BX,2 ;,20ms软延时CALLDELAYJMP RETMAIN ENDPPROCNEARPUSH CXMOV CX,2801LOOP DEC BXJNZ POP CXRETDELAYENDPCODEENDSENDSTART8.CODE SEGMENTASSUMECS:CODEMAIN PROC PUSH DSMOV AX,0PUSH AXMOV DX,200H ;200HMOV CL,01H ;AGAIN:MOV AH,1 ;读键缓区符INT 16HCMP AL,1BH ;若为“Esc”键则出JZ EXITMOV AL,CLOUT DX,AL ;LEDMOV BX,50 ;,0.5sCALL;10ms延时ROLCL,1 ;1位JMP RETMAIN ENDPPROCNEARPUSH CXMOV CX,2801LOOP DEC BXJNZ POP CXRETDELAYENDPCODEENDSENDSTART第8章习题答案1.答:可编程芯片具有灵活的多种工作方式,其工作方式的设置通过软件编程实现。2.答:8255A的内部结构如图9-1所示,它由数据总线缓冲器,数据端口A、端口B和端口C,A组和B组控制电路和读/写控制逻辑4部分组成。3.答:8255A28255A0/0C44AB1/8255A13ABABABCAB/8255A2/A。8255AA工28255A4.答通过JMP AGAIN指令现环测。5.CPU的CPU/CPU6.8253的读8253/3162.6MHz660~01OUT23,44OUT558.答:8253在初始化编程时,必须遵守两条原则:①在对某个计数器设置初值之前,必须先写入控制字;(。9.答:8253初始化编程步骤是:先写控制字到8253的控制端口,再写计数器初值到相应的计数器端口。1.)OV D,03HMOV AL,50HOUT DX,ALMOV DX,201HMOV AL,120OUT DX,ALMOV DX,203HMOV AL,33H OUT DX,ALMOV DX,200HMOV OUT DX,ALMOV AL,AHOUT DX,ALMOV DX,203HMOV AL,B4H OUT DX,ALMOV DX,202HMOV OUT DX,ALMOV AL,AHOUT DX,AL11.答:0CLK变为10OUT0OUT02050H1CLK11OUT1OUT112CLK1101000H12.答:参考程序段:MOV AL,31H ;方式制字00110001B=31HMOV DX,406HOUT DX,ALMOV DX,400HMOV AX,1000HOUT DX,ALMOV AL,AHOUT DX,ALLeabx,MOV AL,01HMOV DX,406HOUT DX,ALMOV DX,400HINAL,DXMovcl,alINAL,DXMovch,alMov[bx],cxIncbxIncbxCmpcx,0Jnz lop1……13.答:参考程序段:……Moval,90HMovdx,203HOutdx,alagain:movdx,200Hinal,dxtestal,03h ;jzexittestal,01hjzdiap_1testal,02hjzdiap_2jmpagaindiap_2:moval,06hmovdx,201Houtdx,aljmpagaindiap_1:moval,3FHmovdx,201houtdx,aljmpagainexit:……异步串行通信中的异步是指发送端和接收端不使用共同的时钟,也不在数据中传送同步信号,但接收方与发送方之间必须约定传送数据的帧格式和波特率。半双工通信方式数据可从设备1发送到设备2,此时设备1是发送方,设备2是接收方;也221单工方式,数据只能向单一方向传送,只能从设备1发送到设备2,设备1是发送方,设备16.答:每秒能传输的最大字符数为:1200/(1+7+1+1)=120字符/s17.答:至少需要时间为:2000*(1+8+1)/9600≈2.1秒18.:始程:MOV AL,0DAHOUT 0C2H,AL ;设置式择令字MOV AL,37HOUT 0C2H,AL ;第9章习题答案1.2.CPU再返回到被暂时中断的程序,接着往下继续执行,这个过程称为中断。产生中断请求的设备或事件称为“中断源”。从中断源来看,中断一般可分为三类:① ② ③ )3.4.80X86和256(0~255)供CPU识别。5.CPUIFIF=1CPUINTRIF=0CPUINTR请求。886000~003H(12C26.NMI2TIF2。CPUINTRCPUIFIF=1CPUINTRCPUINTRCPUCPU响应时送出两个INTA脉冲,外设则送出中断类型码到CPU。7.答:1)用传送指令直接装入CLI IF=0,关中断MOV AX0 ES0段MOV ES,AXMOV BX0AH*4 ;BXMOV

温馨提示

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

评论

0/150

提交评论