微机原理王忠民版课后答案



《微机原理王忠民版课后答案》由会员分享,可在线阅读,更多相关《微机原理王忠民版课后答案(14页珍藏版)》请在文档大全上搜索。
1、部分习题答案第二章1、将十进制数转换为二进制和十六进制(1) 129.75= 1000 0001.11B = 81.CH(3) 15.625= 1111.101B = F.AH2、将下列二进制数转换为十进制和十六进制(1) 111010 B= 58 =3A H计算机中的数值和编码(2) 218.8125= 1101 1010.1101B = DA.DH 47.15625= 10 1111.0010 1B = 2F.28 H(2) 1011 1100.111B=188.875 = BC.E H(3) 0.1101 1B=0.84375 = 0.D8H(4) 11110.01 B=30.25 =1
2、E.4H3、完成下列二进制数的加减法运算(1) 1001.11 + 100.01 = (4) 01011101.0110 101101.1011 = 101111.10114、完成下列十六进制数的加减法运算(1) 745CH + 56DFH= D14B H(2)ABF.8H EF6.AH= 9C28.E H(3) 12AB.F7 + 3CD.05= 1678 .FC H (4) 6F01H EFD8H= 7F29 H5、计算下列表达式的值103.CEH(3) 18.9+ 1010.1101B + 12.6H 1011.1001 = 36.5256、选取字长n为8位和16位两种情况,求下列十进制
3、数的补码。(1)X= 33的补码:Y=+ 33的补码:0010 0001 ,0000 0000 0010 0001Z= 128 的补码:1000 0000 , 1111 1111 1000 0000N=+ 127的补码:0111 1111 ,0000 0000 0111 1111A= 65的补码:1011 1111 ,1111 1111 1011 1111B=+ 65的补码:0100 0001 ,0000 0000 0100 0001C= 96的补码:1010 0000 ,1111 1111 1010 0000(8)D=+ 96的补码:0110 0000 ,0000 0000 0110 000
4、07、写出下列用补码表示的二进制数的真值(1)X 补=1000 0000 0000 0000 HX = 1000 000000000000 H =32768(2)Y 补=0000 0001 0000 0001 HY = + 0000000100000001 H =+ 257(3)Z 补=1111 1110 1010 0101 HZ= 0000 0001 01011011 H=347(4)A 补=0000 0010 0101 0111 HA= + 0000 0010 01010111 H=+ 5998、设机器字长为8位,最高位为符号位,试对下列格式进行二进制补码运算,并判断结果是否溢出。(1)
5、43+ 843补=00101011B, 8补=00001000B43补+ 8补=00101011B+ 00001000B= 00110011B= 33H00101011B+00001000B00110011BT C s= 0, CD= 0, OF= Cs® Cd= 0 ® 0= 0 无溢出(2) 52 + 7D3 H(无溢出)(1) 43+ 833H (无溢出)(3)60 + 9096 H(溢出)72840 H(无溢出)(5) 33+ ( 37)0BA H(无溢出)90+ ( 70)60 H( 溢出)(7) 9( 7)FE H(无溢出)(8)6090E2 H(无溢出)为无符
6、号数,计算结果是否正确?x+yB= 1B8 H1110 1111 B若为带符号补码数,计算结果是否溢出?9、设有变量 xyz = 01110010B, v = 01011010B,试计算 x+y = ?, x+z= ?, y+z= ?, z+v= ?,请问: 若+1100 1001B10111000B若为无符号数若为带符号补码数/ CF=1不正确/ CF=1 , DF= 1OF = 0-不溢出x+y = 0B8 Hx+z = 61 Hy+z = 3B Hz+v = 0CC H不正确不正确不正确正确不溢出不溢出不溢出溢出第三章80X86微处理器1简述答:8086/8088CPU中BIU和EU的作
7、用,并说明其并行工作过程。(1) BIU的作用:计算20位的物理地址,并负责完成CPU与存储器或I/O端口之间的数据传送。(2) EU的作用:执行指令,并为BIU提供所需的有效地址。(3) 并行工作过程:当 EU从指令队列中取出指令执行时,BIU将从内存中取出指令补充到指令队列中。这样就实现了取指和执行指令的并行工作。2. 8086/ 8088CPU内部有哪些寄存器?其主要作用是什么?答:8086/8088CPU内部共有14个寄存器,可分为 4类:数据寄存器 4个,地址寄存器 4个,段寄 存器4个和控制寄存器2个。其主要作用是:(1) 数据寄存器:一般用来存放数据,但它们各自都有自己的特定用途
8、。AX(Accumulator)称为累加器。用该寄存器存放运算结果可使指令简化,提高指令的执行速度。 此外,所有的I/O指令都使用该寄存器与外设端口交换信息。BX(Base)称为基址寄存器。用来存放操作数在内存中数据段内的偏移地址,CX:Counter)称为计数器。在设计循环程序时使用该寄存器存放循环次数,可使程序指令简化, 有利于提高程序的运行速度。DXData)称为数据寄存器。在寄存器间接寻址的I /O指令中存放I /O端口地址;在做双字长乘除法运算时,DX与AX一起存放一个双字长操作数,其中DX存放高16位数。(2) 地址寄存器:一般用来存放段内的偏移地址。SRStack Pointer
9、)称为堆栈指针寄存器。在使用堆栈操作指令(PUSH或POP)对堆栈进行操作时, 每执行一次进栈或出栈操作,系统会自动将SP的内容减2或加2,以使其始终指向栈顶。BRBase Poin ter) 称为基址寄存器。作为通用寄存器,它可以用来存放数据,但更经常更重要 的用途是存放操作数在堆栈段内的偏移地址。SI (Source Index)称为源变址寄存器。SI存放源串在数据段内的偏移地址。DI(Destination Index)称为目的变址寄存器。DI存放目的串在附加数据段内的偏移地址。(3) 段寄存器:用于存放段地址C&Code Segment)称为代码段寄存器,用来存储程序当前使用的
10、代码段的段地址。CS的内容左移4位再加上指令指针寄存器 IP的内容就是下一条要读取的指令在存储器中的物理地址。DSData Segment)称为数据段寄存器,用来存放程序当前使用的数据段的段地址。DS的内容左移4位再加上按指令中存储器寻址方式给出的偏移地址即得到对数据段指定单元进行读写的物理地址。S&Stack Segment)称为堆栈段寄存器,用来存放程序当前所使用的堆栈段的段地址。堆栈是存 储器中开辟的按 “先进后出” 原则组织的一个特殊存储区, 主要用于调用子程序或执行中断服务程序 时保护断点和现场。ES(Extra Segment) 称为附加数据段寄存器,用来存放程序当前使用的
11、附加数据段的段地址。附 加数据段用来存放字符串操作时的目的字符串。(4) 控制寄存器IP (Instmcdon Pointer) 称为指令指针寄存器,用来存放下一条要读取的指令在代码段内的偏移 地址。用户程序不能直接访问 IP 。FLAGS称为标志寄存器,它是一个16位的寄存器,但只用了其中9位,这9位包括(个状态标志 位和3个控制标志位。它用来反映算术运算和逻辑运算结果的一些特征,或用来控制CPU的某种操作。3. 8086/ 8088CPU中有哪些寄存器可用来指示操作数在存储器中某段内的偏移地址?答:可用来指示段内偏移地址的寄存器共有6个:IP、SP、BP、BX、SI、DI4. 8086/8