(I)计组课后答案(第十章部分)(DOC)_第1页
(I)计组课后答案(第十章部分)(DOC)_第2页
免费预览已结束,剩余10页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机组成课后答案第十章思考题10.110.1 机器指令的典型元素是什么?答:机器指令的典型元素是操作码,源操作数的引用,结果操作数的引用,下一 指令引用。10.210.2 什么类型的位置能保存源和目的的操作数? 答:主存(或虚存),寄存器(I/O 接口的端口)。10.310.3 若一个指令容有 4 4 个地址,每个指令的用途是什么? 答:包括两个源操作数,一个结果,以及下一指令地址。10.410.4 列出并简介指令集设计的 5 5 个重要问题?答:(1)操作指令表:应提供多少和什么样的操作,操作将是何等的复杂。(2)数据类型:对几种数据类型完成操作。(3)指令格式:指令的(位)长度、地址数目

2、、各个字段的大小等。(4)寄存器:能被指令访问的 CPI 寄存器数目以及它们的用途。(5)寻址方式:指定操作数地址的产生方式。10.510.5 在机器指令集中,典型的操作数类型是什么?答:地址、数值、字符、逻辑数据。10.610.6 压缩十进制表示数与 IRA?IRA?符代码之间的关系是什么?答:数字 0 到 9 的 IRA 弋码的样式是 011*,其中后 4 位恰恰是 0000 到 1001,即压 缩十进制数的编码。因此 7 位 IRA 弋码与 4 位压缩十进制表示之间转换是十分方便 的。10.710.7 算数移位和逻辑移位有何区别?答:逻辑移位(无符号 vv,java: 个字的各位左移或右

3、移,一端移出的位丢 失,另一端是 0 被移入。算术移位(有符号补码 ):把数据看做是有符号整数而不移符号位。算数右移(有符号补码 ):左边符号位(高位)填充。算数左移:无溢出时,算数左移和逻辑左移都相当于乘以2。如果出现溢出,算数左移和逻辑左移将产生不同的结果,但算数左移仍保留数的符号位不变。10.810.8 为何要控制传递(转移)指令?答:(1)实现一个应用需要上千条甚至上百万条指令, 若每条指令必须分立的写出,这将会是非常麻烦的事情。若一个表或者列表来处理,则可使用程序循环的方法, 一个指令序列重复执行直到所有的数据被处理。(2)所有程序都涉及到某种选择,我们希望计算机能在满足某种条件下做

4、某种 事情,另一种条件下做另一种事情。(3)大中型的计算机程序的编写,是一件较困难的任务。若将此任务分成小的 片段,每次只工作在另一种事情上,将是有益的。10.910.9 列出并简要说明生成条件的两种普通方式。 列出并简要说明实现条件转移的 两种普通方式。答:大多数机器提供了 1 位或多位的条件代码,它作为某种操作的结果被设置。 可以把这条件代码想象成一个用户可见的短寄存器。另一种能使三地址指令格式的方法是,在同一条指令内完成比较和指定转移。10.1110.11 列出为过程返回保存返回地址的三种可能位置答:寄存器,被调过程开始处,堆栈顶部。10.1210.12 什么是可重入过程?答:可重入过程

5、准许几个通过它的调用同时存在。 递归过程就是使用之一特征的。10.1310.13 汇编语言和机器语言有何不同?答:汇编语言使用符号名地址,而不是机器语言所使用的具体的物理内存地址, 比机器语言易于读写、易于调试和修改,同时也具有机器语言执行速度快, 占用 内存空间少等优点。但在编写复杂程序时具有明显的局限性, 汇编语言依赖具体 的机型,不能通用,也不能在不同机型之间移植。汇编语言是面向具体机型的, 他离不开具体计算机的指令系统。10.1410.14 什么是逆波兰表示法?答:逆波兰表示法,操作数跟随在它的两个操作数之后。 不管一个表达式有多复 杂,使用逆波兰表示法都不需要括号。10.1510.1

6、5 大数在先和小数在先有何不同?答:对于同样一个多字节数值,大数在先情况,存储器安排成从左到右、从上到 下;而小数在先的情况,存储器安排从右到左、从上到下。在两种策略中,每个 数据都有同样的地址。在任何一个给定的多字节标量值中,小数在先的字节排序 是大数在先的反序,反之亦然。端序不影响结构中数据项的次序。习题10.1a. 23b. 32 33 10.2a. 7309b. 582c. 1010 不是一个压缩十进制数,所以表达式错误!10.3a. 0; 255b. -127; 127c. -27; 127d. -128; 127e. 0; 99f.+910.416980001 0110 1001

7、1000+17980001 0111 1000 0110 0010 1100 10001 11101 1 1 01100011 1110 0110 101000110 10001 0100348400110100 1000 010010.50736+96741 0410结果是:041010.6表达式:X=(A+B*C)/(D-E*F)零地址一地址二地址三地址PUSH ALOAD EMOVE R0,EMUL R0,E,FPUSH BMUL FMUL R0,FSUB R0,D,R0PUSH CSTORETMOVE R1,DMUL R1,B,CMULLOSD DSUB R1,R0ADD R1,A,R

8、1ADDSUB TMOVE R0,BDIV X,R1,R0PUSH DSTORETMUL R0,CPUSH ELOAD BADD R0,APUSH FMUL CDIV R0,R1MULADD AMOVE X,R0SUBDIV TDIVSTORE XPOP X10.7A、数据传送:位置 x 到累加器,累加器到 xACM(0)M(X)SUBS 0aaxSUBS 000 xSUBS X-x0-xSUBS 0-x-x-xSUBS 000-xSUBS Xx0 xB、加法:将位置 x 的内容加到累加器ACM(0)MM(X)SUBS 0aayxSUBS 1a -yaa -yXSUBS 10a0XSUBS X

9、-xa0-XSUBS 0-x-a-X-a0-XSUBS 1-x-a-X-a-X-a-XSUBS 000-X-a-XSUBS Xx0-X-aXSUBS 0 xx-X-aXSUBS 000-X-aXSUBS 1a +x0a +xX10.8N O O P可 以 用 于 中 断 机 制 中 , 也 可 以 用 于 延 迟 执 行 程 序10.95 位的二进 制值逻辑左移值算数左移值0000000000000000000000110001020001020001020010040010040001130011060011060011170111014011101401000810000溢出00000溢出

10、01001910010溢出00010溢出011101411100溢出01100溢出011111511110溢出01110溢出10000-1600000溢出10000溢出10001-1500010溢出10010溢出10010-1400100溢出10100溢出10111-901110溢出11110溢出11000-810000-1610000-1611001-710010-1410010-1411101-311010-611010-611110-211100-411100-411111-111110-211110-210.10朝负无穷舍入10.11可以10.12两个八位的数相加,得到的结果的存在数大

11、于 9,则在对应位上加 610.13比较指令 CMP:目标操作数-源操作数(a)、无符号整数比较结果ZC目标 源01目标源00目标= =源10(b)、有符号整数比较结果标记目标 B 且 AB 同号时,S=0, 0=0, Z=0AB 且 AB 异号时,S=Q O=0, Z=0(无溢出)或 S=1,O=1,Z=0 (有溢出)大于等于AB 且 AB 同号时,S=0, O=0AB 且 AB 异号时,S=0, O=0 (无溢出)或 s=1, O=1 (有溢出)小于AB 且 AB 同号时,S=1, O=0AB 且 AB 异号时, S=1, O=0 (无溢出)或S=Q O=1 (有溢出)小于等于AB 且 A

12、B 同号时,S=1, O=0, Z=0AB 且 AB 异号时, S=1, O=0, Z=0(无 溢出)或 S=0, O=1, Z=0 (有溢出)不等于Z=010.14(a)符号,阶值,有效值(b)32 位全为 0(c)阶值的偏表示(d)满足,但 IEEB 还有一个-0 的表示,-0b THENSUB CX, C)置CX为0MOV AX, B ;B 勺内容传送到 AX 寄存器 CMP AX, A ; ;人人的内容与 A 的内容相比较SETGT CX ;CX = (a b)TEST JCXZ OUTCX 等于 0 贝 U 转移THENOUT(d)实现 A:=(BC)OR(D=F)MOV EAX,

13、BCMP EAX, C SETG BLMOV EAX, D CMP EAX, FMOV BH, 0 SETE BHOR BL, BH10.16a、压缩字节,一次加一个字节:AB 08 90 C245 98 EE 50F0 A0 7E 12B、压缩字,一次加两个字节AB08 90C24598 EE50F0A0 7E1210.17如果处理器利用栈来进行子程序处理,它只在执行调用和返回指令时用到栈。 以不需要面向栈的指令。10.18a. (A + B + C) * Db. (A/B) + (C/D)c. A/(B * C * (D + E)d. A + (B * (C + (D + E)/F-G)/

14、H)10.19a. AB + C + D + E +b. AB + CD + * E +c. AB * CD * + E +d. AB - CDE *-F/G/ * H *10.20AB + C-等价于(A + B) -C 要紧,由于舍入的影响10.21输入输出栈(顶在右)(A-B) / (C + DXE) 空空A-B) / (C + DXE) 空(-B) / (C + DXE) A(B) / (C + DXE) A(-)/ (C + DXE) AB(-/ (C + DXE) AB-空(C + DXE) AB-/C + DXE) AB-/(+ DXE) AB-C/(DXE) AB-C/(+XE) AB-CD/(+E) AB-CD/(+X)AB-CDE/(+X空AB-CDX+/空AB-CDX+ /空10.22 D + EA+BxCA+BxC10.23LE(C)BELE10.26#inelude10.24(A)BELE(B)BEmai n()int in teger;char *p;in teger = 0 x30313233;/* ASCII for chars 0,1,2,3*/p = (char *)&in teger;if (*p=0 & *(p+1)=1 & *(p+2)=2 & *(p+3)=3)pri ntf

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论