《李伯成微型计算机原理及应用》课后习题答案 .pdf》由会员分享,可在线阅读,更多相关《李伯成微型计算机原理及应用》课后习题答案 .pdf(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、李伯成微机原理习题第一章本章作业参考书目:薛钧义主编微型计算机原理与应用Intel 80X86系列机械工业出版社 2002 年 2 月第一版 陆一倩编微型计算机原理及其应用(十六位微型机)哈尔滨工业大学出版社 1994 年 8 月第四版 王永山等编微型计算机原理与应用西安电子科技大学出版社 2000 年 9 月1.1 将下列二进制数转换成十进制数:1*27+0*26+0*25+1*24+0*23+1*22+1*21+0*21=128D+0D+0D+16D+0D+0D+4D+2D=150D=1*28+0*27+1*26+1*25+0*24+1*23+1*22+0*21+0*20=256D+0D+
2、64D+32D+0D+16D+4D+0D=364D X=1101101B=1*26+1*25+0*24+1*23+1*22+0*21+1*20=64D+32D+0D+8D+4D+0D+1D=109D 1.2 将下列二进制小数转换成十进制数:(1)X=0.00111B=0*2-1+0*2-2+1*2-3+1*2-4+1*2-5=0D+0D+0.125D+0.0625D+0.03125D=0.21875D 名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 41 页 -(2)X=0.11011B=1*2-1+1*2-2+0*2-3+1*2-4+1*2-5=0.5D+0.25D+0D+0.
3、0625D+0.03125D=0.84375D(3)X=0.101101B=1*2-1+0*2-2+1*2-3+1*2-4+0*2-5+1*2-6=0.5D+0D+0.125D+0.0625D+0D+0.015625D=0.703125D 1.3 将下列十进制整数转换成二进制数:1.4 将下列十进制小数转换成二进制数:(1)X=0.75D=0.11B (2)X=0.102 D=0.0001101B 1.5 将下列十进制数转换成二进制数 (1)100.25D=0110 0100.01H (2)680.75D=0010 1010 1000.11B 1.6 将下列二进制数转换成十进制数 (1)X=1
4、001101.1011B=77.6875D (2)X=111010.00101B=58.15625D 1.7 将下列二进制数转换成八进制数101011101B=535Q1101111010010B=15722Q名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 41 页 -(3)X=110B=6Q 1.8 将下列八进制数转换成二进制数:(1)X=760Q=111110000B(2)X=32415Q=11010100001101B 1.9 将下列二进制数转换成十六进制数:X=101 0101 1110 1101B=5 5 E D H 1.10 将下列十六进制数转换成二进制数:X=ABC
5、H=1010 1011 1100 B X=3A6F.FFH=0011 1010 0110 1111.1111 1111B X=F1C3.4B=1111 0001 1100 0011.0100 1011B 1.11 将下列二进制数转换成BCD 码:(1)X=1011011.101B=1011011.101B=91.625d=1001 0001.0110BCD(2)X=1010110.001B=1010110.001=126.1 BCD 1.12 将下列十进制数转换成BCD 码:(1)X=1024D=0001 0000 0010 0100 BCD(2)X=632=0110 0011 0010 BC
6、D(3)X=103=0001 0000 0011 BCD1.13 写出下列字符的 ASCI I 码:A 41H 65D 0100 0001B 名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 41 页 -9 39H 47D *2AH 42D =3DH 45D!21H 33D 1.14 若加上偶校验码,下列字符的ASCII 码是什么?字符原码加上偶校验码之后 B 42H,0100 0010B 42H,0100 0010B 4 34H,0011 0100B B4H,1011 0100B 7 37H,0011 0111B B7H,1011 0111B =3DH,0011 1101B BD
7、H,1011 1101B!21H,0010 0001B 21H,0010 0001B?3FH 0011 1111B 3FH,0011 1111B 1.15 加上奇校验,上面的结果如何?字符原码加上奇校验码之后B 42H,0100 0010B C2H,1100 0010B 4 34H,0011 0100B 34H,0011 0100B 7 37H,0011 0111B 37H,0011 0111B =3DH,0011 1101B 3DH,0011 1101B!21H,0010 0001B A1H,1010 0001B 名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 41 页 -?3
8、FH 0011 1111B BFH,1011 1111B 1.16 计算下式:BCD=(42H/2+ABH-D9H)*0.21 BCD=F3H*0.21 BCD=(-DH)*0.21 BCD=-2.73D (2)3CH (84D)/(16Q)+8/8D=60D-84D/14D+(56/8)=60D-13D=47D 1.17 对下列十进制数,用八位二进制数写出其原码、反码和补码:(正数的反码与原码相同,负数的反码除符号位之外其余各位按位取反。正数的补码与原码相同;负数的补码除符号位以外,其余各位按位取反之后再加一。)数据原码反码补码+99 0110 0011 0110 0011 0110 001
9、1-99 1110 0011 1001 1100 1001 1101+127 0111 1111 0111 1111 0111 1111-127 1111 1111 1000 0000 1000 0001+0 0000 0000 0000 0000 0000 0000-0 1000 0000 1111 1111 0000 0000 1.18 8位二进制数原码可表示数的范围是 +127-128;8位二进制数补码可表示的数的范围是+127-127;8位二进制数反码可表示的数的范围是:+127-128;1.19 16 位二进制数的原码、补码、反码可表示的数的范围是多少?名师资料总结-精品资料欢迎下载
10、-名师精心整理-第 5 页,共 41 页 -+32767-32768、+32767-32768、+32767-32768;1.20 至少写出 3 种用二进制编码状态表示十进制数字的编码方式。8421 码、5421 码 2421码余 3 码十进制数0000 0000 0000 0011 0 0001 0001 0001 0100 1 0010 0010 1000 0101 2 0011 0011 1001 0110 3 0100 0100 1010 0111 4 0101 1000 1011 1000 5 0110 1001 1100 1001 6 0111 1010 1101 1010 7 1
11、000 1011 1110 1011 8 1001 1100 1111 1100 9 李伯成微机原理习题第二章 薛钧义主编微型计算机原理与应用Intel 80X86系列机械工业出版社 2002 年 2 月第一版 陆一倩编微型计算机原理及其应用(十六位微型机)哈尔滨工业大学出版社 1994 年 8 月第四版 王永山等编微型计算机原理与应用名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 41 页 -西安电子科技大学出版社 2000 年 9 月洪志全等编现代计算机接口技术电子工业出版社 2002 年 4 月仇玉章主编32 位微型计算机原理与接口技术清华大学出版社 2000 年 9月2.
12、1 8086CPU 的 RESET 引脚的功能是什么?答:RESET 引脚称为复位引脚,输入、三态、高电平有效;RESET 引脚将使 CPU立即结束当前操作,处理器要求RESET 信号至少要保持4 个时钟周期的高电平,才能结束它正在进行的操作。CPU 复位以后,除了代码段寄存器CS的值为 FFFFH 外,其余所有寄存器的值均为零,指令队列为空。当 RESET 回到低电平时,CPU开始执行“热启动”程序,由于此时CS的值为 FFFFH,IP 的值为 0000H,所以 CPU 复位以后执行的第一条指令的物理地址为 FFFF0H,该单元通常放置一条段间直接转移指令JMP SS:OO,SS:OO即为系
13、统程序的实际起始地址。2.2 在 8086 CPU 工作在最小模式时,(1)当 CPU 访问存储器时,要利用哪些信号?当 CPU 访问存储器时,要利用AD0AD15、WR*、RD*、IO/M*以及 A16A19;(2)当 CPU 访问外设接口时,要利用哪些信号?当 CPU访问外设接口时,同样要利用AD0-AD15、WR*、RD*以及 IO/M*,但不使用高端地址线 A16-A19;(3)当 HOLD 有效并得到响应时,CPU哪些引脚置高阻?当 HOLD 有效并得到响应时,CPU除 HOLD、HOLDA 引脚外其余所有的信号引脚均为高阻态。名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页
14、,共 41 页 -2.3略2.4说明 8086 CPU READY 信号的功能。见 P232.5 8086 CPU 的 NMI和 INTR引脚的不同有几点?两点:(1)INTR 是可以由用户用指令禁止的,(通过中断允许标志IF 的开-STI和关 CLI 进行);而 NMI不能由用户禁止;(2)INTR 是可以区分优先级别的,NMI是最高级的,没有中断优先级的排队。2.6 说明 8086CPU 内部标志寄存器各位的含义。8086 CPU的标志寄存器(PSW 或 FLAG)共有 9 个标志位,分别是:CF(Carry Flag)-进位或借位标志;PF(Parity Flag)-奇偶标志;AF(au
15、xiliary Flag)-半进位标志;ZF(Zero Flag)-结果为零标志;SF (Sign Flag)-符号标志;OF(Overflow Flag)-溢出标志;IF(Interrupt Enable Flag)-中断允许标志;DF (Direction Flag)-方向标志;TF (Trap Flag)-陷阱标志。2.7 说明 8086CPU 内部 14个寄存器的作用。名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 41 页 -8086 内部的寄存器可以分为3 类:第一类:通用寄存器:AX、BX、CX、DX、SI、DI、SP、BP,共 8 个可以存储数据或者地址的低16
16、位;AX、BX、CX和 DX可以分成 8 个 8 位的寄存器使用;SI、DI 又称变址寄存器,用于存储变址地址;SP和 BP存放指针变量值。第二类:段寄存器:CS、DS、SS、ES,共 4 个寄存器,只能存放对应段的段地址;第三类为 IP 和 FLAG,IP 在通常情况下不允许用户访问,而FLAG是用以向用户提供了解 ALU工作状态或者控制CPU 工作方式的标志寄存器。2.8 试画出 8086CPU 工作在最小模式时的总线形成示意图。(注:BHE*引脚为 34 脚-即 SS0,参见 P25状态编码表)四点说明:A、MN/MX 端接+5V,决定了 8086工作在最小模式。B、有一片 8234A,
17、作为 时钟发生器。C、有三片 8282或 74LS373,用来作为地址锁存器。D、当系统中所连接的存储器和外设比较多时,需要增加系统数据总线的驱动能力,这时,要用两片 8286/8287(74LS244 或 74LS245)作为 总线收发器。2.9 8086/8088为什么采用地址/数据引线复用技术?答:考虑到芯片成本,8086/8088 采用 40 条引线的封装结构。40 条引线引出 8086/8088 的所有信号是不够用的,采用地址/数据线复用引线方法可以解决这一矛盾,从时序逻辑的角度,地址与数据信号不会同时出现,二者可以分时复用同一组引线。名师资料总结-精品资料欢迎下载-名师精心整理-第
18、 9 页,共 41 页 -2.10 怎样确定 8086的最大或最小工作模式?最大、最小模式产生控制信号的方法有何不同?答:引线 MN/MX*的逻辑状态决定 8086 的工作模式,MN/MX*引线接高电平,8086 被设定为最小模式;MN/MX*引线接低电平,8086被设定为最大模式。最小模式下所有的控制信号由CPU相关引线直接提供;最大模式下控制信号由8288专用芯片译码后提供,8288的输入由8086 的 S2S0三条状态信号引线提供。李伯成微机原理习题第三章本章作业参考书目:1.周明德:微型计算机 IBM-PC系统原理与应用清华大学出版社 19912.王永山等:微型计算机原理与应用西安电子
19、科大出版社 19983.张怀莲:IBMPC 汇编语言程序设计电子工业出版社 1990注:本习题解中的程序仅为代码片段,可在Emu8086 version 2.57 环境下仿真运行,如果在 MASM 下进行汇编,需添加段设置以及相应的伪指令。MOV AX,00H;立即寻址SUB AX,AX;寄存器寻址MOV AX,BX;寄存器间接寻址MOV AX,TABLE;直接寻址MOV AL,ARAY1SI;寄存器相对寻址 MOV AX,BX+6;寄存器相对寻址3.1若 1KB的数据存放在 TABLE以下,试编写程序将该数据拌到NEXT 之下。程序片段如下:名师资料总结-精品资料欢迎下载-名师精心整理-第
20、10 页,共 41 页 -ORG 100hMOV CX,03FFH;数据个数LEA SI,TABLE;源区首地址LEA DI,NEXT;目的区首地址AGAIN:MOV AL,SI;MOV DI,AL;搬移INC SIINC DI;移动地址指针DEC CX;循环计数器递减JNZ AGAIN;循环未结束转HLT;暂停TABLE DB 1024 dup(A);源数据区NEXT DB 1024 dup(0);目的数据区3.2编写 10 个字(16 位二进制数)之和的程序ORG 100hLEA SI,ADD1;LEA DI,ADD2;LEA BX,SUM;MOV CL,CONT;名师资料总结-精品资料欢
21、迎下载-名师精心整理-第 11 页,共 41 页 -MOV CH,0;循环初始化CLC;进位清零MADD1:MOV AX,SI;读加数 1ADC AX,DIADD SI,2;移动源区地址指针ADD DI,2;移动目的区地址指针MOV BX,AX;回存计算结果ADD BX,2;移动“和”存储区地址指针LOOP MADD1;循环控制HLT;暂停ADD1 DB 0FEH,86H,7CH,44h,56H,1FH,24H,01H,02H,33H;加数 1ADD2 DB 56H,49H,4EH,0FH,9CH,22H,45H,11H,45H,21H;加数 2SUM DB 10 DUP(0);和存储单元CO
22、NT DB 5;循环次数3.4 某 16 位二进制数,放在DATA连续的两个单元中,试编程求其平方根和余数,将其分别存放在 ANS 和 REMAIN 中。ORG 100h MOV BL,2;除数初值AGAIN:MOV CX,NUM;预计最大循环次数MOV AL,BL;0、1 的平方根除外名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 41 页 -MUL BL;得到 2 的平方CMP AX,CX;大于原始数据么?JG EXIT;若原始数据小于 4 转 EXITMOV AX,CX;读数DIV BL;试除INC BL;除数递增JMP AGAIN;继续除EXIT:DEC BL;去除除数
23、自加MOV ANS,BL;存商MOV AL,BL;恢复余数MUL BL;SUB CX,AX;MOV REMAIN,CL;HLTNUM DW 7;ANS DB?;REMAIN DB?;3.5 在 DATA1 之下顺序存放着以ASCII 码表示的千位数,将其转换成二进制数。MOV CL,4;移位次数名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 41 页 -MOV CH,CL;循环次数MOV SI,OFFSET ASCBINCLDXOR AX,AXXOR DX,DXASCB1:LODSB AND AL,7FHCMP AL,0 ;不大于 0结束转换JL ERRCMP AL,9JG A
24、SCB2;大于9转 ASCB2SUB AL,30H ;数字形式二进制数减30HJMP ASCB3ASCB2:CMP AL,A ;大于9又小于 A结束转换JL ERRCMP AL,FJG ERR;大于F为不合理数,结束转换SUB AL,37H ;字符形式 ASCII 数减 37HASCB3:OR DL,AL名师资料总结-精品资料欢迎下载-名师精心整理-第 14 页,共 41 页 -ROL DX,CLDEC CHJNZ ASCB1ROL DX,CLMOV BIN,DX;存储转换结果ERR:NOPHLTASCBIN DB 1,B,4,3BIN DW?3.7 编写程序将 MOLT 中的一个 8 位数乘
25、以 20,乘积放在 ANS 中(用 3 种方式)。解:第一种方法:常规乘法运算ORG 100hMOV AL,MOLTMOV BL,20MUL BLMOV ANS,AXHLTMOLT DB 2ANS DW?名师资料总结-精品资料欢迎下载-名师精心整理-第 15 页,共 41 页 -第二种方法,将MOLT 连加 20 次ORG 100hMOV CX,20MOV BX,MOLTXOR AX,AXCLCADD1:ADC AX,BXLOOP ADD1MOV ANS,AXHLTMOLT DW 5ANS DW?第三种方法,将“20”连加 MOLT 次ORG 100hMOV CX,MOLTMOV BX,20X
26、OR AX,AXCLCADD1:ADC AX,BX名师资料总结-精品资料欢迎下载-名师精心整理-第 16 页,共 41 页 -LOOP ADD1MOV ANS,AXHLTMOLT DW 5ANS DW?3.8 在 DATA 之下存放 100个无符号的 8 位数,找出其最大者并将其存放在KVFF单元。ORG 100hXOR DL,DLLEA DI,KVFF;NEXT0:LEA SI,BUFFER;MOV CL,99;比较次数为 N-1 次NEXT1:MOV AL,SI;INC SI;CMP DL,AL;JNC NEXT2;MOV DL,AL;DL中始终存目前最大值NEXT2:DEC CL;JNZ
27、 NEXT1;MOV DI,DL;最大值存储名师资料总结-精品资料欢迎下载-名师精心整理-第 17 页,共 41 页 -HLTBUFFER DB ;自行定义 100 个数据KVFF DB?3.9 若将数据按大小顺序排序,试编写程序.解:此处采用“冒泡法”予以处理:ORG 100hLEA DI,BUFFER;数据区MOV BL,99;外循环次数NEXT0:MOV SI,DI;MOV CL,BL;内循环次数NEXT3:MOV AL,SI;读数INC SI;移动指针CMP AL,SI;比较JNC NEXT5;大于转 NEXT5MOV DL,SI;MOV SI-1,DL;MOV SI,AL;不大于互换
28、NEXT5:DEC CL;内循环次数减一JNZ NEXT3;名师资料总结-精品资料欢迎下载-名师精心整理-第 18 页,共 41 页 -DEC BL;外循环次数减一JNZ NEXT0HLTBUFFER DB 自行定义 100 个字节型数据3.10 在 BVFF单元中有一个 BCD数 A,试根据下列关系编写程序,计算结果存在 DES 中.A20,Y=3*A;A=60,Y=80.ORG 100hMOV AL,BVFFCMP AL,20JL EX1CMP AL,60JL EX2MOV AL,80JMP STOPEX1:MOV BL,3MUL BLJMP STOPEX2:SUB AL,20名师资料总结
29、-精品资料欢迎下载-名师精心整理-第 19 页,共 41 页 -STOP:MOV DES,ALHLTBVFF DB 8DES DB?3.11 址为 DATAB 开始的 80 个单元中,存放某班 80 个学生的某课程成绩,要求:统计=90分、8089分、7079分、6069分、60 分以下的人数,结果存放在BTRX 开始的 5 个单元中求平均成绩,结果存放在LEVEL中。解:寄存器使用分配:90 分以上在 DH,80 分以上在 DL,70 分以上在 BH,60 分以上在 BL,60 分以下在 AH,总分、均分都在 DI。ORG 100hXOR AH,AH XOR DX,DX;统计结果清零XOR
30、BX,BX ;统计结果清零LEA SI,DATALEA DI,LEVELMOV CL,CONT;总人数送循环计数器 CXgoon:MOV AL,SI ;读原始数据ADC DI,AL;累加总分 ADC DI+1,0;计算进位名师资料总结-精品资料欢迎下载-名师精心整理-第 20 页,共 41 页 -CMP AL,90 JL PP8 ;不高于 90 分者转 PP8 INC DH ;90-100分的人数加一 JMP STORPP8:CMP AL,80JL PP7 ;不高于 80 分转 PP7INC DL;80-89分的人数加一JMP STORPP7:CMP AL,70JL PP6;不高于 70 分者
31、转 PP6INC BH;70-79分的人数加一JMP STORPP6:CMP AL,60JL PP5;不高于 60 分者转 PP5INC BL;60-69分的人数加一JMP STORPP5:INC AH;低于 60分的人数加一STOR:INC SI;读下一个分数LOOP GOON名师资料总结-精品资料欢迎下载-名师精心整理-第 21 页,共 41 页 -;CX=CX-1,CX不为零转 GOON,继续统计LEA SI,BUFFER;回存统计结果MOV SI,DHINC SIMOV SI,DLINC SIMOV SI,BHINC SIMOV SI,BLINC SIMOV SI,AHMOV AX,W
32、ORD PTR DI;计算平均成绩MOV CL,CONTDIV CLMOV LEVEL,AL;回存平均成绩HLT CONT DB 10 DATA DB 30,65,99,80,75,89,100,45,60,70 BUFFER DB?,?,?,?,?名师资料总结-精品资料欢迎下载-名师精心整理-第 22 页,共 41 页 -LEVEL DB?,?3.12求两个有符号数(DATA1,DATA2)差的绝对值,结果存入 DATA3.ORG 100hMOV AL,DATA1;读入被减数SUB AL,DATA2;减去减数JC CHANGE;JMP STOR CHANGE:NEG ALSTOR:MOV D
33、ATA3,ALHLTDATA1 DB 3DATA2 DB 5DATA3 DB?3.13 存从 40000H到 4BFFH的个单元均写入55H,并再逐个读出,验证是否一致,若一致,置AL为 7EH,否则置 AL为 81H.ORG 100hMOV AX,4000H;MOV DS,AX;MOV SI,0START:MOV CX,0BFFFH名师资料总结-精品资料欢迎下载-名师精心整理-第 23 页,共 41 页 -BEGIN:MOV SI,55HMOV AL,SIINC SICMP AL,55HJNZ ERRLOOP BEGINMOV AL,7EHJMP STOPERR:MOV AL,81HSTOP
34、:HLT 3.143.15 端口 03FBH的 BIT5 为状态标志,当该位为 1 时,表示外设忙,不能接收数据;当为 0 时,表示外设闲,可以接收数据;当 CPU向端口 03F8H写入一个字节的数据时,03FBH的 BIT5 置 1,当它变为 0 状态时,又可以写入下一个数据。据此编写将起始地址为SEDAT 的50 个数据输出到 03F8H端口的程序。WAIT:MOV DX,03FBHIN AL,DXTEST AL,0010 0000B;(20H)JZ SENDJMP WAITSEND:MOV DX,3F8HMOV AL,SI;名师资料总结-精品资料欢迎下载-名师精心整理-第 24 页,共
35、41 页 -CMP AL,0AH;输出字串结束标志符JZ STOPOUT DX,ALJMP WAITSTOP:HLT3.16 口 02E0H的 BIT2 和 BIT5 同时为 1,表示端口 02E7H有一个字节型数据准备好可以用以输入,当 CPU 从该端口读入数据后,02E0端口的 BIT2 和 BIT5 就不再同时为 1;只有当 02E7H端口的数据再次准备好时,它们才会再次同时为1,据此编写从02E7H端口输入 32 个数据然后存入 A1000H单元开始的区域。MOV AX,0A000HMOV DS,AXMOV SI,1000H;设置存储区地址MOV CL,20H;输入数据个数BEGIN:
36、MOV DX,0E20HIN AL,DXTEST AL,0010 0100B;测试状态位 BIT5、BIT2JZ BEGIN;不同时为 1 继续测试MOV DX,02E7HIN AL,DX;输入数据MOV SI,AL;存到指定区域INC SI;移动地址指针名师资料总结-精品资料欢迎下载-名师精心整理-第 25 页,共 41 页 -LOOP BEGIN;循环HLT3.17 在内存 40000H开始的 16K的单元中存放着一组数据,将其顺序搬移到起始地址为A0000H的区域。解:利用字符串操作指令 MOVSB,16K即 16*1024=3FFFH。MOV AX,4000HMOV DS,AXMOV
37、AX,A000HMOV ES,AXMOV SI,0MOV DI,0MOV CX,3FFFHCLDREP MOVSB HLT3.18上题的基础上,将两个区域的数据逐个进行比较,若有错将 BL置 0,全对将 BL置 FFH。MOV AX,4000HMOV DS,AXMOV AX,A000HMOV ES,AX名师资料总结-精品资料欢迎下载-名师精心整理-第 26 页,共 41 页 -MOV SI,0MOV DI,0MOV CX,03FFHCLD AAB:CMPSBJNZ STOPLOOP AAB MOV BL,0FFHJMP EX1STOP:MOV BL,0;EX1:NOPHLT3.19 统计由 4
38、0000H单元开始的 16K 个单元中所存字符 A的个数,统计结果存放在DX寄存器中。MOV AX,4000HMOV DS,AXMOV SI,0;MOV CX,3FFFH;数据个数MOV DX,0;统计结果寄存器清零 XOR DX,DXCLD名师资料总结-精品资料欢迎下载-名师精心整理-第 27 页,共 41 页 -AAB:LODSBCMP AL,A;比较JZ AAC;字符为 A转计数LOOP AAB;循环JMP STOP;处理完毕转结束AAC:INC DX;统计结果加 1DEC CX;循环次数减 1JCXNZ AAB;CX0继续STOP:HLT3.20 编写对 AL中的数据进行“偶校验”的一
39、个过程,并将校验结果放入AL寄存器。PJY PROC NEARPUSH AXPUSH BXPUSH CXPUSH DXMOV AL,DATAND AL,ALJNP PJY1MOV AL,00H;表示为偶名师资料总结-精品资料欢迎下载-名师精心整理-第 28 页,共 41 页 -JMP EXITPJY1:MOV AL,FFH;表示为奇 EXIT:POP DXPOP CXPOP BXPOP AXRET PJY ENDPDAT DB?3.21 对 80000H开始的 256 个单元的数据加上偶校验。ORG 100hMOV AX,8000HMOV DS,AXMOV SI,0MOV CX,100HCLD
40、PAR0:LODSB;(MOV AL,SI;INC SI)TEST AL,ALJNP PAR1名师资料总结-精品资料欢迎下载-名师精心整理-第 29 页,共 41 页 -LOOP PAR0JMP STOPPAR1:OR AL,80H;MOV SI-1,ALDEC CXJNZ PAR0STOP:HLT4-1某以 8088为 CPU 的微型计算机内存RAM 区为 00000H 3FFFFH,若采用 6264、62256、2164 或 21256各需要多片芯片?解答:8088 内存单元为 8 bit,所以,从 00000H 到 3FFFFH,共需要 214 个 byte,共214*8bit,也就是共
41、占用 16K byte 空间。由于各种芯片的数据总线根数不同,所以在连接时要特别注意芯片的位数;对于如下芯片:6264 有 8 根数据线,13 根地址线,故其容量为 213*8bit,即 8Kbyte,所以需要 2 片;62256 有 8 根数据线,15根地址线,故其容量为 215*8bit,即 32 Kbyte,所以仅需要 1片;尽管题目要求只需要16K的空间,但在使用62256时不得不使用 1 片。2164 有 8 根数据线,12 根地址线,故其容量为 212*8bit,即 4Kbyte,所以需要 4 片;21256 有 1 根数据线,10 根地址线(实际为 20根,分两组),但由于仅有一
42、根数据线,要构成八位的存储器至少需要8 片,但总容量为 8*256Bit,远远超过题目的要求。名师资料总结-精品资料欢迎下载-名师精心整理-第 30 页,共 41 页 -4.2利用全地址译码将 6264 接在 8088 的系统总线上,其所占的地址范围为BE000HBFFFFH,试画出连接图。解答:6264有 13 根地址线,连接时接到系统总线的低13 位,即 A0A12,其他 7 根地址线 A19A13的 地址译码输入应该为:1011 111 B,故而有如下的连接:4.3试利用 6264 芯片,在 8088系统总线上实现0000H03FFFH 的内存区域,试画出电路连接图。解答:0000H03
43、FFFH 的地址范围为 214=16K,而 6264 芯片的容量为 8*8K,所以需要连接 2 片,其中,第一片的地址为 00000H01FFFH,第二片的地址为 02000H03FFFH,这里用 74LS138的 Y0、Y1 作为两个芯片的片选。4.4叙述 EPROM 的编程过程,说明EEPROM的编程过程。EPROM编程通常采用两种模式:标准编程和快速编程:标准编程是在 VCC、VPP、CE、OE、地址信号、数据信号有效并稳定后加入50 毫秒的 PGM 编程负脉冲,可以在写入一个数据后使OE变高而立即校验,也可以在所有数据写入后逐一校验。标准编程有两大缺陷:一是时间过长,比如 2764 全
44、片编程约需 7 分钟,时间过长;再是编程脉冲宽度稍大容易造成芯片因功耗过大而烧毁。快速编程将 PGM 的宽度减小到 100 微妙左右,显然速度加快了500 倍左右。能否使用快速编程取决于芯片的型号。EEPROM 由于可以在线擦除信息,所以可以单字节编程或自动按页编程。名师资料总结-精品资料欢迎下载-名师精心整理-第 31 页,共 41 页 -在单字节写入时,CE为低,OE为高,在 WE 加入 100 纳秒的负脉冲,写入时间包括擦除原有内容和写入新内容的时间,一般为10 毫秒以内,可以通过查询READY/BUSY的状态判定。自动按页编程用高位线决定页地址,低位线决定页容量,然后一次写入一页内容,
45、写完后查询 READY/BUSY状态,此一过程耗时在300 微秒左右,所以速度较快。4.5 已有两片 6116,现欲将其接到 8088 系统中去,其地址范围为 40000H40FFFH,试画出电路连接图;写入某数据并读出与之比较,若有错,则在DL中写入 01H,若全对,在 DL中写入 EEH,试编写此检测程序。解答:电路连接如图示:检测程序定义为一个过程,编程如下:CHKRAM PROC FARPUSH SI;PUSH DL;PUSH CX;PUSH AX;MOV CX,10000H;待检验的单元个数MOV SI,4000H;存储体段地址MOV DS,SI;名师资料总结-精品资料欢迎下载-名师
46、精心整理-第 32 页,共 41 页 -MOV SI,0000H;存储体首地址CHK:MOV AL,0FFH;MOV SI,AL;写入检验数据 FFHMOV AL,SI;读出ADD AL,01HJNZ RAMERRMOV AL,0;MOV SI,AL;写入另一格检验数据MOV AL,SI;读出AND AL,ALJNZ RAMERRMOV DL,0EEH;所有单元全对JMP RAMCHKOUTRAMERR:MOV DL,01H;发现错误单元RAMCHKOUT:POP AX;POP CX;POP DL;名师资料总结-精品资料欢迎下载-名师精心整理-第 33 页,共 41 页 -POP SI;RET
47、ENDP CHKRAM4.6 利用全地址译码将EPROM27128 接到首地址为 A0000H的内存区,试画出电路图。解答:EPROM27128 的容量为 8*16K,所以有 14 根地址线,那么如果将其接到首地址为 A0000H 内存区,高 6 位地址线的排列应该为:1010 00B,所以有如下的连接:4.7 内存地址从 40000H到 BBFFFH 共有多少 K?解答:从 40000H到 BBFFFH 的地址空间应该为 BBFFFH-40000H=7BFFFH每 K为 210,即 3FFH,7BFFFH/3FFH=1F0H=496D所以,该地址空间的范围应该为496KByte。4.8 试判
48、断 8088 系统中存储器译码器74LS138的输出 Y0、Y4、Y6和 Y7所决定的内存地址范围,电路连接见附图。解答:根 据示意图,A19、A18、A17、A16 的电平 值为1X00B,由于名师资料总结-精品资料欢迎下载-名师精心整理-第 34 页,共 41 页 -采用的是部分译码(A18未使用),所以每个地址译码输出对应的两个地址范围。Y0对应 A15、A14、A13 均为 0,所以其地址范围应该为:当 A18=0时,地址范围为:1000 0000 0000 0000 1000 0001 1111 1111 1111 B 即 80000H 81FFFH 当 A18=1 时,地址范围为:
49、1100 0000 0000 0000 1100 0001 1111 1111 1111B 即 C0000H C1FFFFHY4 对应的 A15、A14、A13 为 100,所以其地址范围应该为:当 A18=0 时,地址范围为:1000 1000 0000 0000 0000B 1000 1001 1111 1111 1111B 即 88000H 89FFFH当 A18=1时,地址范围为:1100 1000 0000 0000 0000 1100 1001 1111 1111 1111B 即 C8000HC9FFFHY6 对应的 A15、A14、A13 为 110,所以其地址范围为:当 A18
50、=0时,地址范围为:1000 1100 0000 0000 0000B 1000 1101 1111 1111 1111B 即 8C000H 8DFFFH当 A18=1 时,地址范围为:1100 1100 0000 0000 0000 B 1100 1101 1111 1111 1111B 即 CC000HCDFFFHY7 对应的 A15、A14、A14为 111,所以其地址范围为:名师资料总结-精品资料欢迎下载-名师精心整理-第 35 页,共 41 页 -当 A18=0 时,地址范围为:1000 1110 0000 0000 0000B 1000 1111 1111 1111 1111B 即