李伯成《微型计算机原理及应用》1课后习题答案.docx

上传人:b****3 文档编号:6029279 上传时间:2023-05-09 格式:DOCX 页数:39 大小:292.26KB
下载 相关 举报
李伯成《微型计算机原理及应用》1课后习题答案.docx_第1页
第1页 / 共39页
李伯成《微型计算机原理及应用》1课后习题答案.docx_第2页
第2页 / 共39页
李伯成《微型计算机原理及应用》1课后习题答案.docx_第3页
第3页 / 共39页
李伯成《微型计算机原理及应用》1课后习题答案.docx_第4页
第4页 / 共39页
李伯成《微型计算机原理及应用》1课后习题答案.docx_第5页
第5页 / 共39页
李伯成《微型计算机原理及应用》1课后习题答案.docx_第6页
第6页 / 共39页
李伯成《微型计算机原理及应用》1课后习题答案.docx_第7页
第7页 / 共39页
李伯成《微型计算机原理及应用》1课后习题答案.docx_第8页
第8页 / 共39页
李伯成《微型计算机原理及应用》1课后习题答案.docx_第9页
第9页 / 共39页
李伯成《微型计算机原理及应用》1课后习题答案.docx_第10页
第10页 / 共39页
李伯成《微型计算机原理及应用》1课后习题答案.docx_第11页
第11页 / 共39页
李伯成《微型计算机原理及应用》1课后习题答案.docx_第12页
第12页 / 共39页
李伯成《微型计算机原理及应用》1课后习题答案.docx_第13页
第13页 / 共39页
李伯成《微型计算机原理及应用》1课后习题答案.docx_第14页
第14页 / 共39页
李伯成《微型计算机原理及应用》1课后习题答案.docx_第15页
第15页 / 共39页
李伯成《微型计算机原理及应用》1课后习题答案.docx_第16页
第16页 / 共39页
李伯成《微型计算机原理及应用》1课后习题答案.docx_第17页
第17页 / 共39页
李伯成《微型计算机原理及应用》1课后习题答案.docx_第18页
第18页 / 共39页
李伯成《微型计算机原理及应用》1课后习题答案.docx_第19页
第19页 / 共39页
李伯成《微型计算机原理及应用》1课后习题答案.docx_第20页
第20页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

李伯成《微型计算机原理及应用》1课后习题答案.docx

《李伯成《微型计算机原理及应用》1课后习题答案.docx》由会员分享,可在线阅读,更多相关《李伯成《微型计算机原理及应用》1课后习题答案.docx(39页珍藏版)》请在冰点文库上搜索。

李伯成《微型计算机原理及应用》1课后习题答案.docx

李伯成《微型计算机原理及应用》1课后习题答案

李伯成《微型计算机原理及应用》1课后习题答案

李伯成《微机原理》习题第一章

本章作业参考书目:

①薛钧义主编《微型计算机原理与应用——Intel80X86系列》

机械工业出版社2002年2月第一版

②陆一倩编《微型计算机原理及其应用(十六位微型机)》

哈尔滨工业大学出版社1994年8月第四版

③王永山等编《微型计算机原理与应用》

西安电子科技大学出版社2000年9月

1.1将下列二进制数转换成十进制数:

X=10010110B=

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

X=101101100B

=1*28+0*27+1*26+1*25+0*24+1*23+1*22+0*21+0*20

=256D+0D+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

(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.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)X=254D=11111110B

(3)X=141D=10001101B

1.4将下列十进制小数转换成二进制数:

(1)X=0.75D=0.11B

(2)X=0.102D=0.0001101B

(3)X=0.6667D=0.101010101B

1.5将下列十进制数转换成二进制数

(1)100.25D=01100100.01H

(2)680.75D=001010101000.11B

1.6将下列二进制数转换成十进制数

(1)X=1001101.1011B=77.6875D

(2)X=111010.00101B=58.15625D

1.7将下列二进制数转换成八进制数

(1)X=101011101B=101’011’101B=535Q

(3)X=110B=6Q

1.8将下列八进制数转换成二进制数:

(1)X=760Q=111'110'000B

(2)X=32415Q=11'010'100'001'101B

1.9将下列二进制数转换成十六进制数:

X=101010111101101B=55EDH

X=1100110101'1001B=11001101011001B=3359H

X=1000110001B=1000110001B=231H

1.10将下列十六进制数转换成二进制数:

X=ABCH=101010111100B

X=3A6F.FFH=0011101001101111.11111111B

X=F1C3.4B=1111000111000011.01001011B

1.11将下列二进制数转换成BCD码:

(1)X=1011011.101B=1'011'011.101B=91.625d=10010001.0110BCD

(2)X=1010110.001B=1’010’110.001=126.1BCD

1.12将下列十进制数转换成BCD码:

(1)X=1024D=0001000000100100BCD

(2)X=632=011000110010BCD

(3)X=103=000100000011BCD

1.13写出下列字符的ASCII码:

A41H65D01000001B

939H47D

*2AH42D

=3DH45D

21H33D

1.14若加上偶校验码,下列字符的ASCII码是什么?

字符原码加上偶校验码之后

B42H,01000010B42H,01000010B

434H,00110100BB4H,10110100B

737H,00110111BB7H,10110111B

=3DH,00111101BBDH,10111101B

21H,00100001B21H,00100001B

3FH00111111B3FH,00111111B

1.15加上奇校验,上面的结果如何?

字符原码加上奇校验码之后

B42H,01000010BC2H,11000010B

434H,00110100B34H,00110100B

737H,00110111B37H,00110111B

=3DH,00111101B3DH,00111101B

21H,00100001BA1H,10100001B

3FH00111111BBFH,10111111B

1.16计算下式:

(1)[‘B’/2+ABH-11011001B]*0.0101BCD=(42H/2+ABH-D9H)*0.21BCD=

=F3H*0.21BCD=(-DH)*0.21BCD=-2.73D

(2)3CH–[(84D)/(16Q)+’8’/8D]=60D-[84D/14D+(56/8)]=60D-[13]D=

=47D

1.17对下列十进制数,用八位二进制数写出其原码、反码和补码:

(正数的反码与原码相同,负数的反码除符号位之外其余各位按位取反。

正数的补码与原码相同;负数的补码除符号位以外,其余各位按位取反之后再加一。

数据原码反码补码

+99011000110110001101100011

-99111000111001110010011101

+127011111110111111101111111

-127111111111000000010000001

+0000000000000000000000000

-0100000001111111100000000

1.188位二进制数原码可表示数的范围是+127~-128;

8位二进制数补码可表示的数的范围是+127~-127;

8位二进制数反码可表示的数的范围是:

+127~-128;

1.1916位二进制数的原码、补码、反码可表示的数的范围是多少?

+32767~-32768、+32767~-32768、+32767~-32768;

1.20至少写出3种用二进制编码状态表示十进制数字的编码方式。

8421码、5421码2421码余3码十进制数

00000000000000110

00010001000101001

00100010100001012

00110011100101103

01000100101001114

01011000101110005

01101001110010016

01111010110110107

10001011111010118

10011100111111009

 

李伯成《微机原理》习题第二章

 

①薛钧义主编《微型计算机原理与应用——Intel80X86系列》

机械工业出版社2002年2月第一版

②陆一倩编《微型计算机原理及其应用(十六位微型机)》

哈尔滨工业大学出版社1994年8月第四版

③王永山等编《微型计算机原理与应用》

西安电子科技大学出版社2000年9月

④洪志全等编《现代计算机接口技术》

电子工业出版社2002年4月

⑤仇玉章主编《32位微型计算机原理与接口技术》

清华大学出版社2000年9月

2.18086CPU的RESET引脚的功能是什么?

答:

RESET引脚称为复位引脚,输入、三态、高电平有效;RESET引脚将使CPU立即结束当前操作,处理器要求RESET信号至少要保持4个时钟周期的高电平,才能结束它正在进行的操作。

CPU复位以后,除了代码段寄存器CS的值为FFFFH外,其余所有寄存器的值均为零,指令队列为空。

当RESET回到低电平时,CPU开始执行“热启动”程序,由于此时CS的值为FFFFH,IP的值为0000H,所以CPU复位以后执行的第一条指令的物理地址为FFFF0H,该单元通常放置一条段间直接转移指令JMPSS:

OO,SS:

OO即为系统程序的实际起始地址。

2.2在8086CPU工作在最小模式时,

(1)当CPU访问存储器时,要利用哪些信号?

当CPU访问存储器时,要利用AD0~AD15、WR*、RD*、IO/M*以及A16~A19;

(2)当CPU访问外设接口时,要利用哪些信号?

当CPU访问外设接口时,同样要利用AD0---AD15、WR*、RD*以及IO/M*,但不使用高端地址线A16---A19;

(3)当HOLD有效并得到响应时,CPU哪些引脚置高阻?

当HOLD有效并得到响应时,CPU除HOLD、HOLDA引脚外其余所有的信号引脚均为高阻态。

2.3略

2.4说明8086CPUREADY信号的功能。

见P23

2.58086CPU的NMI和INTR引脚的不同有几点?

两点:

(1)INTR是可以由用户用指令禁止的,(通过中断允许标志IF的开---STI和关CLI进行);而NMI不能由用户禁止;

(2)INTR是可以区分优先级别的,NMI是最高级的,没有中断优先级的排队。

2.6说明8086CPU内部标志寄存器各位的含义。

8086CPU的标志寄存器(PSW或FLAG)共有9个标志位,分别是:

CF(CarryFlag)---进位或借位标志;

PF(ParityFlag)---奇偶标志;

AF(auxiliaryFlag)----半进位标志;

ZF(ZeroFlag)-----结果为零标志;

SF(SignFlag)-----符号标志;

OF(OverflowFlag)-----溢出标志;

IF(InterruptEnableFlag)-----中断允许标志;

DF(DirectionFlag)----方向标志;

TF(TrapFlag)-----陷阱标志。

2.7说明8086CPU内部14个寄存器的作用。

8086内部的寄存器可以分为3类:

第一类:

通用寄存器:

AX、BX、CX、DX、SI、DI、SP、BP,共8个可以存储数据或者地址的低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,作为时钟发生器。

C、有三片8282或74LS373,用来作为地址锁存器。

D、当系统中所连接的存储器和外设比较多时,需要增加系统数据总线的驱动能力,这时,要用两片8286/8287(74LS244或74LS245)作为总线收发器。

2.98086/8088为什么采用地址/数据引线复用技术?

答:

考虑到芯片成本,8086/8088采用40条引线的封装结构。

40条引线引出8086/8088的所有信号是不够用的,采用地址/数据线复用引线方法可以解决这一矛盾,从时序逻辑的角度,地址与数据信号不会同时出现,二者可以分时复用同一组引线。

2.10怎样确定8086的最大或最小工作模式?

最大、最小模式产生控制信号的方法有何不同?

答:

引线MN/MX*的逻辑状态决定8086的工作模式,MN/MX*引线接高电平,8086被设定为最小模式;MN/MX*引线接低电平,8086被设定为最大模式。

最小模式下所有的控制信号由CPU相关引线直接提供;最大模式下控制信号由8288专用芯片译码后提供,8288的输入由8086的S2─S0三条状态信号引线提供。

 

李伯成《微机原理》习题第三章

本章作业参考书目:

1.周明德:

微型计算机IBM-PC系统原理与应用清华大学出版社1991

2.王永山等:

微型计算机原理与应用西安电子科大出版社1998

3.张怀莲:

IBMPC汇编语言程序设计电子工业出版社1990

注:

本习题解中的程序仅为代码片段,可在Emu8086version2.57环境下仿真运行,如果在MASM下进行汇编,需添加段设置以及相应的伪指令。

 

3.1

MOVAX,00H;立即寻址

SUBAX,AX;寄存器寻址

MOVAX,[BX];寄存器间接寻址

MOVAX,TABLE;直接寻址

MOVAL,ARAY1[SI];寄存器相对寻址

MOVAX,[BX+6];寄存器相对寻址

 

3.2若1KB的数据存放在TABLE以下,试编写程序将该数据拌到NEXT之下。

程序片段如下:

ORG100h

MOVCX,03FFH;数据个数

LEASI,TABLE;源区首地址

LEADI,NEXT;目的区首地址

AGAIN:

MOVAL,[SI];

MOV[DI],AL;搬移

INCSI

INCDI;移动地址指针

DECCX;循环计数器递减

JNZAGAIN;循环未结束转

HLT;暂停

TABLEDB1024dup('A');源数据区

NEXTDB1024dup(0);目的数据区

 

3.3编写10个字(16位二进制数)之和的程序

 

ORG100h

LEASI,ADD1;

 

LEADI,ADD2;

LEABX,SUM;

MOVCL,CONT;

MOVCH,0;循环初始化

CLC;进位清零

MADD1:

MOVAX,[SI];读加数1

ADCAX,[DI]

ADDSI,2;移动源区地址指针

ADDDI,2;移动目的区地址指针

MOV[BX],AX;回存计算结果

ADDBX,2;移动“和”存储区地址指针

LOOPMADD1;循环控制

HLT;暂停

ADD1DB0FEH,86H,7CH,44h,56H,1FH,24H,01H,02H,33H;加数1

ADD2DB56H,49H,4EH,0FH,9CH,22H,45H,11H,45H,21H;加数2

SUMDB10DUP(0);和存储单元

CONTDB5;循环次数

 

3.4某16位二进制数,放在DATA连续的两个单元中,试编程求其平方根和余数,将其分别存放在ANS和REMAIN中。

ORG100h

MOVBL,2;除数初值

AGAIN:

MOVCX,NUM;预计最大循环次数

MOVAL,BL;0、1的平方根除外

MULBL;得到2的平方

CMPAX,CX;大于原始数据么?

JGEXIT;若原始数据小于4转EXIT

MOVAX,CX;读数

DIVBL;试除

INCBL;除数递增

JMPAGAIN;继续除

EXIT:

DECBL;去除除数自加

MOVANS,BL;存商

MOVAL,BL;恢复余数

MULBL;

SUBCX,AX;

MOVREMAIN,CL;

HLT

NUMDW7;

ANSDB?

;

REMAINDB?

;

3.5在DATA1之下顺序存放着以ASCII码表示的千位数,将其转换成二进制数。

MOVCL,4;移位次数

MOVCH,CL;循环次数

MOVSI,OFFSETASCBIN

CLD

XORAX,AX

XORDX,DX

ASCB1:

LODSB

ANDAL,7FH

CMPAL,'0';不大于‘0’结束转换

JLERR

CMPAL,'9'

JGASCB2;大于‘9’转ASCB2

SUBAL,30H;数字形式二进制数减30H

JMPASCB3

ASCB2:

CMPAL,'A';大于‘9’又小于‘A’结束转换

JLERR

CMPAL,'F'

JGERR;大于‘F’为不合理数,结束转换

SUBAL,37H;字符形式ASCII数减37H

ASCB3:

ORDL,AL

ROLDX,CL

DECCH

JNZASCB1

ROLDX,CL

MOVBIN,DX;存储转换结果

ERR:

NOP

HLT

ASCBINDB'1','B,'4','3'

BINDW?

3.7编写程序将MOLT中的一个8位数乘以20,乘积放在ANS中(用3种方式)。

解:

第一种方法:

常规乘法运算

ORG100h

MOVAL,MOLT

MOVBL,20

MULBL

MOVANS,AX

HLT

MOLTDB2

ANSDW?

 

第二种方法,将MOLT连加20次

ORG100h

MOVCX,20

MOVBX,MOLT

XORAX,AX

CLC

ADD1:

ADCAX,BX

LOOPADD1

MOVANS,AX

HLT

MOLTDW5

ANSDW?

第三种方法,将“20”连加MOLT次

ORG100h

MOVCX,MOLT

MOVBX,20

XORAX,AX

CLC

ADD1:

ADCAX,BX

LOOPADD1

MOVANS,AX

HLT

MOLTDW5

ANSDW?

3.8在DATA之下存放100个无符号的8位数,找出其最大者并将其存放在KVFF单元。

ORG100h

XORDL,DL

LEADI,KVFF;

NEXT0:

LEASI,BUFFER;

MOVCL,99;比较次数为N-1次

NEXT1:

MOVAL,[SI];

INCSI;

CMPDL,AL;

JNCNEXT2;

MOVDL,AL;DL中始终存目前最大值

NEXT2:

DECCL;

JNZNEXT1;

MOV[DI],DL;最大值存储

HLT

BUFFERDB;自行定义100个数据

KVFFDB?

 

3.9若将数据按大小顺序排序,试编写程序..

解:

此处采用“冒泡法”予以处理:

ORG100h

LEADI,BUFFER;数据区

MOVBL,99;外循环次数

NEXT0:

MOVSI,DI;

MOVCL,BL;内循环次数

NEXT3:

MOVAL,[SI];读数

INCSI;移动指针

CMPAL,[SI];比较

JNCNEXT5;大于转NEXT5

MOVDL,[SI];

MOV[SI-1],DL;

MOV[SI],AL;不大于互换

NEXT5:

DECCL;内循环次数减一

JNZNEXT3;

DECBL;外循环次数减一

JNZNEXT0

HLT

BUFFERDB自行定义100个字节型数据

3.10在BVFF单元中有一个BCD数A,试根据下列关系编写程序,计算结果存在DES中.

A<20,Y=3*A;A<60,Y=A-20;A>=60,Y=80.

ORG100h

MOVAL,BVFF

CMPAL,20

JLEX1

CMPAL,60

JLEX2

MOVAL,80

JMPSTOP

EX1:

MOVBL,3

MULBL

JMPSTOP

EX2:

SUBAL,20

STOP:

MOVDES,AL

HLT

BVFFDB8

DESDB?

3.11址为DATAB开始的80个单元中,存放某班80个学生的某课程成绩,要求:

统计>=90分、80~89分、70~79分、60~69分、60分以下的人数,结果存放在BTRX开始的5个单元中

求平均成绩,结果存放在LEVEL中。

解:

寄存器使用分配:

90分以上在DH,80分以上在DL,70分以上在BH,60分以上在BL,60分以下在AH,总分、均分都在[DI]。

 

ORG100h

XORAH,AH

XORDX,DX;统计结果清零

XORBX,BX;统计结果清零

LEASI,DATA

LEADI,LEVEL

MOVCL,CONT;总人数送循环计数器CX

goon:

MOVAL,[SI];

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2