计算机系统基础第二次作业.docxVIP

  1. 1、本文档共4页,可阅读全部内容。
  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、对于以下ATT格式汇编指令,根据操作数的长度确定对应指令助记符中的长度后缀,并说明每个操作数的寻址方式。 (1)mov 8(%ebp, %ebx, 4), %ax (2)mov %al, 12(%ebp) (3)add ( , %ebx,4), %ebx (4)or (%ebx), %dh (5)push $0xF8 (6)mov $0xFFF0, %eax (7)test %cx, %cx (8)lea 8(%ebx, %esi), %eax 答:如下表所示: 4. 使用汇编器处理以下各行ATT格式代码时都会产生错误,请说明每一行存在什么错误。 (1)movl 0xFF, (%eax) (2)movb %ax, 12(%ebp) (3)addl %ecx, $0xF0 (4)orw $0xFFFF0, (%ebx) (5)addb $0xF8, (%dl) (6)movl %bx, %eax (7)andl %esi, %esx (8)movw 8(%ebp, , 4), %ax (1)书写错误。因为源操作数是立即数0xFF ,所以需要在前面加上‘$’ (2)由于源操作数(%ax)是16位,而长度后缀是字节‘b’,所以不一致,应改为‘movw ’ (3)目的操作数不能是立即数寻址 (4)操作数位数超过16位,而长度后缀为16位的‘w’,应改为‘orl ’ (5)不能用8位寄存器作为目的操作数地址所在寄存器 (6)源操作数寄存器与目的操作数寄存器长度不一致 (7)不存在ESX 寄存器 (8)源操作数地址中缺少变址寄存器 7. 假设变量x 和y 分别存放在寄存器EAX 和ECX 中,请给出以下每条指令执行后寄存器EDX 中的结果。 (1)leal (%eax), %edx (2)leal 4(%eax, %ecx), %edx (3)leal (%eax, %ecx, 8), %edx (4)leal 0xC(%ecx, %eax, 2), %edx (5)leal ( , %eax, 4), %edx (6)leal (%eax, %ecx), %edx (1)R[edx]=x //把eax 的值放到edx 中去 (2)R[edx]=x+y+4 //把eax+ecx+4的值放到edx 中去 (3)R[edx]=x+8*y //把eax+8*ecx的值放到edx 中去 (4)R[edx]=y+2*x+12 //把ecx+2*eax+12的值放到edx 中去 (5)R[edx]=4*x //把4*eax的值放到edx 中去 (6)R[edx]=x+y //把eax+ecx的值放到edx 中去 8.假设以下地址以及寄存器中存放的机器数如下表所示 分别说明执行以下指令或寄存中的内容交发生改变?改变后的内容是什么条件标志OF 、 SF 、 ZF 和 CF 会发生什么改变。 (1)指令功能为:R[edx]←R[edx]+M[R[eax]]=0M[0x8049300],寄存器EDX 中内容改变。改变后的 内容为以下运算的结果+FFFFFFF0H 0000 0000 0000 0000 0000 0000 1000 0000 +1111 1111 1111 1111 1111 1111 1111 0000 _______________________________________________ 1 0000 0000 0000 0000 0000 0000 0111 0000 因此,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 0000 0000 0000 0000 0000 0001 0000 +0111 1111 1111 1111 1111 1111 1111 1

文档评论(0)

软件开发 + 关注
官方认证
服务提供商

十余年的软件行业耕耘,可承接各类需求

认证主体深圳鼎云文化有限公司
IP属地湖南
统一社会信用代码/组织机构代码
91440300MA5G24KH9F

1亿VIP精品文档

相关文档