微机原理王忠民版课后答案.docx
- 文档编号:2265248
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:18
- 大小:32.15KB
微机原理王忠民版课后答案.docx
《微机原理王忠民版课后答案.docx》由会员分享,可在线阅读,更多相关《微机原理王忠民版课后答案.docx(18页珍藏版)》请在冰豆网上搜索。
微机原理王忠民版课后答案
部分习题答案
第二章计算机中的数值和编码
1、将十进制数转换为二进制和十六进制
(1)129.75=10000001.11B=81.CH
(2)218.8125=11011010.1101B=DA.DH
(3)15.625=1111.101B=F.AH(4)47.15625=101111.00101B=2F.28H
2、将下列二进制数转换为十进制和十六进制
(1)111010B=58=3AH
(2)10111100.111B=188.875=BC.EH
(3)0.11011B=0.84375=0.D8H(4)11110.01B=30.25=1E.4H
3、完成下列二进制数的加减法运算
(1)1001.11+100.01=1110.00
(2)1101010110.1001-01100001.0011=01110101.0110
(3)00111101+10111011=11111000(4)01011101.0110-101101.1011=101111.1011
4、完成下列十六进制数的加减法运算
(1)745CH+56DFH=D14BH
(2)ABF.8H-EF6.AH=9C28.EH
(3)12AB.F7+3CD.05=1678.FCH(4)6F01H-EFD8H=7F29H
5、计算下列表达式的值
(1)128.8125+10110101.1011B+1F.2H=101010101.1010B
(2)287.68-10101010.11H+8E.EH=103.CEH
(3)18.9+1010.1101B+12.6H-1011.1001=36.525
6、选取字长n为8位和16位两种情况,求下列十进制数的补码。
(1)X=-33的补码:
11011111,111111*********1
(2)Y=+33的补码:
00100001,0000000000100001
(3)Z=-128的补码:
10000000,1111111110000000
(4)N=+127的补码:
01111111,0000000001111111
(5)A=-65的补码:
10111111,1111111110111111
(6)B=+65的补码:
01000001,0000000001000001
(7)C=-96的补码:
10100000,1111111110100000
(8)D=+96的补码:
01100000,0000000001100000
7、写出下列用补码表示的二进制数的真值
(1)[X]补=1000000000000000HX=-1000000000000000H=-32768
(2)[Y]补=0000000100000001HY=+0000000100000001H=+257
(3)[Z]补=1111111010100101HZ=-0000000101011011H=-347
(4)[A]补=0000001001010111HA=+0000001001010111H=+599
8、设机器字长为8位,最高位为符号位,试对下列格式进行二进制补码运算,并判断结果是否溢出。
(1)43+8
∵[43]补=00101011B,[8]补=00001000B
∴[43]补+[8]补=00101011B+00001000B=00110011B=33H
00101011B
+00001000B
00110011B
∵CS=0,CD=0,OF=CS⊕CD=0⊕0=0
∴无溢出
(1)43+833H(无溢出)
(2)-52+7D3H(无溢出)
(3)60+9096H(溢出)(4)72-840H(无溢出)
(5)-33+(-37)0BAH(无溢出)(6)-90+(-70)60H(溢出)
(7)―9―(―7)FEH(无溢出)(8)60-90E2H(无溢出)
9、设有变量x=11101111B,y=11001001B,z=01110010B,v=01011010B,试计算x+y=?
,x+z=?
,y+z=?
,z+v=?
,请问:
①若为无符号数,计算结果是否正确?
②若为带符号补码数,计算结果是否溢出?
x+y=11101111B+11001001B=10111000B=1B8H
11101111B
+11001001B
10111000B
①若为无符号数②若为带符号补码数
∵CF=1∴不正确∵CF=1,DF=1OF=0∴不溢出
x+y=0B8Hx+z=61Hy+z=3BHz+v=0CCH
①不正确不正确不正确正确
②不溢出不溢出不溢出溢出
第三章80X86微处理器
1.简述8086/8088CPU中BIU和EU的作用,并说明其并行工作过程。
答:
(1)BIU的作用:
计算20位的物理地址,并负责完成CPU与存储器或I/O端口之间的数据传送。
(2)EU的作用:
执行指令,并为BIU提供所需的有效地址。
(3)并行工作过程:
当EU从指令队列中取出指令执行时,BIU将从内存中取出指令补充到指令队列中。
这样就实现了取指和执行指令的并行工作。
2.8086/8088CPU内部有哪些寄存器?
其主要作用是什么?
答:
8086/8088CPU内部共有14个寄存器,可分为4类:
数据寄存器4个,地址寄存器4个,段寄存器4个和控制寄存器2个。
其主要作用是:
(1)数据寄存器:
一般用来存放数据,但它们各自都有自己的特定用途。
AX(Accumulator)称为累加器。
用该寄存器存放运算结果可使指令简化,提高指令的执行速度。
此外,所有的I/O指令都使用该寄存器与外设端口交换信息。
BX(Base)称为基址寄存器。
用来存放操作数在内存中数据段内的偏移地址,
CX(Counter)称为计数器。
在设计循环程序时使用该寄存器存放循环次数,可使程序指令简化,有利于提高程序的运行速度。
DX(Data)称为数据寄存器。
在寄存器间接寻址的I/O指令中存放I/O端口地址;在做双字长乘除法运算时,DX与AX一起存放一个双字长操作数,其中DX存放高16位数。
(2)地址寄存器:
一般用来存放段内的偏移地址。
SP(StackPointer)称为堆栈指针寄存器。
在使用堆栈操作指令(PUSH或POP)对堆栈进行操作时,每执行一次进栈或出栈操作,系统会自动将SP的内容减2或加2,以使其始终指向栈顶。
BP(BasePointer)称为基址寄存器。
作为通用寄存器,它可以用来存放数据,但更经常更重要的用途是存放操作数在堆栈段内的偏移地址。
SI(SourceIndex)称为源变址寄存器。
SI存放源串在数据段内的偏移地址。
DI(DestinationIndex)称为目的变址寄存器。
DI存放目的串在附加数据段内的偏移地址。
(3)段寄存器:
用于存放段地址
CS(CodeSegment)称为代码段寄存器,用来存储程序当前使用的代码段的段地址。
CS的内容左移4位再加上指令指针寄存器IP的内容就是下一条要读取的指令在存储器中的物理地址。
DS(DataSegment)称为数据段寄存器,用来存放程序当前使用的数据段的段地址。
DS的内容左移4位再加上按指令中存储器寻址方式给出的偏移地址即得到对数据段指定单元进行读写的物理地址。
SS(StackSegment)称为堆栈段寄存器,用来存放程序当前所使用的堆栈段的段地址。
堆栈是存储器中开辟的按“先进后出”原则组织的一个特殊存储区,主要用于调用子程序或执行中断服务程序时保护断点和现场。
ES(ExtraSegment)称为附加数据段寄存器,用来存放程序当前使用的附加数据段的段地址。
附加数据段用来存放字符串操作时的目的字符串。
(4)控制寄存器
IP(InstmcdonPointer)称为指令指针寄存器,用来存放下一条要读取的指令在代码段内的偏移地址。
用户程序不能直接访问IP。
FLAGS称为标志寄存器,它是一个16位的寄存器,但只用了其中9位,这9位包括(个状态标志位和3个控制标志位。
它用来反映算术运算和逻辑运算结果的一些特征,或用来控制CPU的某种操作。
3.8086/8088CPU中有哪些寄存器可用来指示操作数在存储器中某段内的偏移地址?
答:
可用来指示段内偏移地址的寄存器共有6个:
IP、SP、BP、BX、SI、DI
4.8086/8088CPU中标志寄存器FLAGS有哪些标志位?
它们的含义和作用如何?
答:
标志寄存器中的标志共有9个,分为两类:
状态标志6个和控制标志3个。
其作用是:
(1)状态标志:
用来反映算术和逻辑运算结果的一些特征。
CF(CarryFlag)—进位标志位。
当进行加减运算时,若最高位发生进位或借位,则CF为1,否则为0。
该标志位通常用于判断无符号数运算结果是否超出了计算机所能表示的无符号数的范围。
PF(ParityFlag)—奇偶标志位。
当指令执行结果的低8位中含有偶数个1时,PF为1,否则为0。
AF(AuxiliaryFlag)—辅助进位标志位。
当执行一条加法或减法运算指令时,若结果的低字节的低4位向高4位有进位或借位,则AF为1,否则为0。
ZF(ZeroFlag)—零标志位。
若当前的运算结果为0,则ZF为1,否则为00
SF(SignFlag)—符号标志位。
当运算结果的最高位为1时,SF=1,否则为00
OF(OverflowFlag)—溢出标志位。
当运算结果超出了带符号数所能表示的数值范围,即溢出时,OF=1,否则为0。
该标志位通常用来判断带符号数运算结果是否溢出o
(2)控制标志位:
用来控制CPU的操作,由程序设置或清除。
它们是:
TF(TrapFlag)—跟踪(陷阱)标志位。
它是为测试程序的方便而设置的。
若将TF置1,8086/8088CPU处于单步工作方式,否则,将正常执行程序。
IP(InterruptFlag)—中断允许标志位。
它是用来控制可屏蔽中断的控制标志位。
若用STI指令将IF置1,表示允许CPU接受外部从INTR引脚上发来的可屏蔽中断请求信号;若用CLI指令将IP清0,则禁止CPU接受可屏蔽中断请求信号。
IF的状态对非屏蔽中断及内部中断没有影响。
DF(DirectionFlag)—方向标志位。
若用STD将DF置1,串操作按减地址方式进行,也就是说,从高地址开始,每操作一次地址自动递减;若用CLD将DF清0,则串操作按增地址方式进行,即每操作一次地址自动递增。
5.8086/8088CPU的地址总线有多少位?
其寻址范围是多少?
答:
8086/8088地址总线有20根,寻址范围1MB
6.什么叫指令队列?
8086/8088CPU中指令队列有什么作用?
其长度分别是多少?
答:
(1)指令队列:
采用“先进先出”原则,按顺
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机原理王忠民版 课后答案 微机 原理 王忠民版 课后 答案