计算机系统第三章答案.docVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

习题

3.参考答案:

〔1〕后缀:w, 源:基址+比例变址+偏移, 目:存放器

〔2〕后缀:b, 源:存放器, 目:基址+偏移

〔3〕后缀:l, 源:比例变址, 目:存放器

〔4〕后缀:b, 源:基址, 目:存放器

〔5〕后缀:l, 源:立即数, 目:栈

〔6〕后缀:l, 源:立即数, 目:存放器

〔7〕后缀:w, 源:存放器, 目:存放器

〔8〕后缀:l, 源:基址+变址+偏移, 目:存放器

4.参考答案:

〔1〕源操作数是立即数0xFF,需在前面加‘$’

〔2〕源操作数是16位,而长度后缀是字节‘b’,不一致

〔3〕目的操作数不能是立即数寻址

〔4〕操作数位数超过16位,而长度后缀为16位的‘w’

〔5〕不能用8位存放器作为目的操作数地址所在存放器

〔6〕源操作数存放器与目操作数存放器长度不一致

〔7〕不存在ESX存放器

〔8〕源操作数地址中缺少变址存放器

5.参考答案:

表3.12题5用表

src_type

dst_type

机器级表示

char

int

movsbl%al,(%edx)

int

char

movb%al,(%edx)

int

unsigned

movl%eax,(%edx)

short

int

movswl%ax,(%edx)

unsignedchar

unsigned

movzbl%al,(%edx)

char

unsigned

movsbl%al,(%edx)

int

int

movl%eax,(%edx)

6.参考答案:

〔1〕xptr、yptr和zptr对应实参所存放的存储单元地址分别为:R[ebp]+8、R[ebp]+12、

R[ebp]+16。

〔2〕函数func的C语言代码如下:

voidfunc(int*xptr,int*yptr,int*zptr)

{

inttempx=*xptr;

inttempy=*yptr;

inttempz=*zptr;

*yptr=tempx;

*zptr=tempy;

*xptr=tempz;

}

7.参考答案:

〔1〕R[edx]=x

〔2〕R[edx]=x+y+4

〔3〕R[edx]=x+8*y

〔4〕R[edx]=y+2*x+12

〔5〕R[edx]=4*y

〔6〕R[edx]=x+y

8.参考答案:

〔1〕指令功能为:R[edx]←R[edx]+M[R[eax]]=0M[0x8049300],存放器EDX中内容改变。改变后的内容为以下运算的结果+FFFFFFF0H

00000000000000000000000010000000

00000000000000000000000010000000

11111111111111111111111111110000

100000000000000000000000001110000

+

因此,EDX中的内容改变为0根据表3.5可知,加法指令会影响OF、SF、ZF和CF标志。OF=0,ZF=0,SF=0,CF=1。

〔2〕指令功能为:R[ecx]←R[ecx]-M[R[eax]+R[ebx]]=0M[0x8049400],存放器ECX中内容改变。改变后的内容为以下运算的结果

0000

00000000000000000000000000010000

01111111111111111111111111111000

010000000000000000000000000001000

+

因此,ECX中的内容改为0根据表3.5可知,减法指令会影响OF、SF、ZF和CF标志。OF=1,ZF=0,SF=1,CF=1?0=1。

〔3〕指令功能为:R[bx]←R[bx]orM[R[eax]+R[ecx]*8+4],存放器BX中内容改变。改变后的内容为以下运算的结果:0x0100orM[0x8049384]=0100HorFF00H

00000001

0000000100000000

1111111100000000

1111111100000000

or

因此,BX中的内容改为0xFF00。由3.3.3节可知,OR指令执行后OF=CF=0;因为结果不为0,故ZF=0;因为最高位为1,故SF=1。

〔4〕test指令不改变任何通用存放器,但根据以下“与”操作改变标志:R[d

文档评论(0)

147****4268 + 关注
实名认证
文档贡献者

认真 负责 是我的态度

1亿VIP精品文档

相关文档