微机原理课后习题答案.docx

上传人:b****5 文档编号:7670071 上传时间:2023-01-25 格式:DOCX 页数:34 大小:41.40KB
下载 相关 举报
微机原理课后习题答案.docx_第1页
第1页 / 共34页
微机原理课后习题答案.docx_第2页
第2页 / 共34页
微机原理课后习题答案.docx_第3页
第3页 / 共34页
微机原理课后习题答案.docx_第4页
第4页 / 共34页
微机原理课后习题答案.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

微机原理课后习题答案.docx

《微机原理课后习题答案.docx》由会员分享,可在线阅读,更多相关《微机原理课后习题答案.docx(34页珍藏版)》请在冰豆网上搜索。

微机原理课后习题答案.docx

微机原理课后习题答案

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

本章作业参考书目:

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

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

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

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

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

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

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

X=10010110B=

76543211+0*2+1*2+0*2+0*2+1*2+1*2+0*21*2=128D+0D+0D+16D+0D+0D+4D+2D=150D

X=101101100B

876543210+1*2+1*2+0*2+0*2+1*2=1*2+0*2+0*2+1*2=256D+0D+64D+32D+0D+16D+4D+0D=364D

X=1101101B=

6543210+1*2+1*2+0*2+1*2+1*21*2+0*2=64D+32D+0D+8D+4D+0D+1D=109D

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

(1)X=0.00111B=

-1-2-3-4-5=

0*2+1*2+0*2+1*2+1*2

0D+0D+0.125D+0.0625D+0.03125D=0.21875D

(2)X=0.11011B=

-1-2-3-4-5=

+1*2+1*2+0*21*2+1*2

0.5D+0.25D+0D+0.0625D+0.03125D=0.84375D

(3)X=0.101101B=

-1-2-3-4-5-6=

1*2+1*2+0*2+0*2+1*2+1*2

0.5D+0D+0.125D+0.0625D+0D+0.015625D=0.703125D

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

(1)X=254D=11111110B

(2)X=1039D=10000001111B

(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将下列二进制数转换成十进制数

X=1001101.1011B=77.6875D

(1)

(2)X=111010.00101B=58.15625D

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

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

(2)X=11B=1'101'111'010'010B=15722Q

(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.625=10010001.0110BCDd

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

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

(1)X=1024D=0001000000100100BCD

(2)X=632=011000110010BCD(3)X=103=000100000011BCD1.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

10100001B

,A1H00100001B,21H!

3FH00111111BBFH,10111111B

1.16计算下式:

(1)[‘B'/2+ABH-11011001B]*0.0101=(42H/2+ABH-D9H)*0.21=BCDBCD=F3H*0.21=(-DH)*0.21=-2.73D

BCDBCD

(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

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

①薛钧义主编《微型计算机原理与应用——Intel

80X86系列》

机械工业出版社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,该单元通常放置一条段间直接转移指令JMP

SS:

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内部标志寄存器各位的含义。

个9)共有FLAG或PSW的标志寄存器(8086CPU.

标志位,分别是:

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状态编码)表.

四点说明:

工作在最小模式。

8086,决定了+5V端接MN/MX、A.

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;立即寻址

寄存器寻址AX,AX;SUB

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

寄存器相对寻址;,MOVALARAY1[SI]寄存器相对寻址[BX+6];AXMOV,

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

SI,ADD1;LEA

LEADI,ADD2;

LEABX,SUM;

MOVCL,CONT;

MOVCH,0;循环初始化

CLC;进位清零

MADD1:

MOVAX,[SI];读加数1

ADCAX,[DI]

SI,2;移动源区地址指针ADD

;ADD移动目的区地址指针DI,2回存计算结果MOV[BX],AX;

移动“和”ADD存储区地址指针BX,2;循环控制MADD1LOOP;

暂停HLT;

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

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

DB10DUP(0)SUM;和存储单元

CONT

DB5;循环次数

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;移位次数

CH,CL;循环次数MOV

SI,OFFSETASCBINMOV

CLD

AX,AXXOR

DX,DXXOR

ASCB1:

LODSB

AL,7FHAND

AL,'0'CMP;不大于‘0'结束转换

JLERR

CMPAL,'9'

JGASCB2;大于‘9'转ASCB2

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

JMPASCB3

ASCB2:

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

JLERR

CMPAL,'F'

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

;字符形式AL,37HASCII数减37HSUB

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

ANS,AXMOV

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;

SI,BUFFER;NEXT0:

LEA

次N-1比较次数为CL,99;MOV

NEXT1:

MOVAL,[SI];

SI;INC

CMPDL,AL;

NEXT2;JNC

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

NEXT2:

DECCL;

JNZNEXT1;

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

HLT

BUFFERDB;自行定义100个数据

KVFFDB?

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

解:

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

ORG100h

LEADI,BUFFER;数据区

BL,99;MOV

外循环次数

NEXT0:

MOVSI,DI;

MOVCL,BL;内循环次数

MOVAL,[SI];读数NEXT3:

INCSI;移动指针

CMPAL,[SI];比较

JNCNEXT5;大于转NEXT5

MOVDL,[SI];

MOV[SI-1],DL;

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

DECNEXT5:

CL;内循环次数减一

JNZNEXT3;

BL;DEC外循环次数减一

NEXT0JNZ

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分以上在

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

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1