- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章习题-ddg讲解
习 题
1. 给出以下概念的解释说明。
机器指令2. 简单回答下列问题。
(1)?(2)?
(3)?(4)?(5)?..........
要求回答下列问题或完成下列任务。
(1)给出每条汇编指令的注释,并说明为什么C代码只有一个if语句而汇编代码有两条条件转移指令。
(2)按照书中图3.22给出的“if () goto …”语句形式写出汇编代码对应的C语言代码。
13.
14..
16.
回答下列问题:函数sw中的switch语句处理部分标号的取值情况如何?标号的取值在什么情况下执行default分支?哪些标号的取值会执行同一个case分支?
17..“%x %x”, x, y);
4 return x-y;
5 }
函数funct对应的汇编代码如下:
1 funct:
2 push l %ebp
3 movl %esp, %ebp
4 subl $40, %esp
5 leal -8(%ebp), %eax
6 movl %eax, 8(%esp)
7 leal -4(%ebp), %eax
8 movl %eax, 4(%esp)
9 movl $.LC0, (%esp) //将指向字符串“%x %x”的指针入栈
10 call scanf //假定scanf执行后x=15,y=20
11 movl -4(%ebp), %eax
12 subl -8(%ebp), %eax
13 leave
14 ret
假设函数funct开始执行时,R[esp]=0xbc000020,R[ebp]=0xbc000030,执行第10行call指令后,scanf从标准输入读入的值为0x16和0x100,指向字符串“%x %x”的指针为0x804c000。回答下列问题或完成下列任务。
(1)执行第3、10和13行的指令后,寄存器EBP中的内容分别是什么?
(2)执行第3、10和13行的指令后,寄存器ESP中的内容分别是什么?
(3)局部变量x和y所在存储单元的地址分别是什么?
(4)画出执行第10行指令后funct的栈帧,指出栈帧中的内容及其地址。
19.efunc的C语言代码框架如下:
1 int refunc(unsigned x) {
2 if ( )
3 return ;
4 unsigned nx = ;
5 int rv = refunc(nx) ;
6 return ;
7 }
上述递归函数过程体对应的汇编代码如下:
1 movl 8(%ebp), %ebx
2 movl $0, %eax
3 testl %ebx, %ebx
4 je .L2
5 movl %ebx, %eax
6 shrl $1, %eax
7 movl %eax, (%esp)
8 call refunc
9 movl %ebx, %edx
10 andl $1, %edx
11 leal (%edx, %eax), %eax
12 .L2:
……
ret
根据对应的汇编代码填写C代码中缺失部分,并说明函数的功能。
20..] movw (%edx, %ecx, 2), %ax S[10] S[i+2] short * AS+2*i+4 leal 4(%edx, %ecx, 2), %eax S[i]-S S[4*i+4] *(S+i-2)
22...i, j, t;
3 for (i = 0; i M; i++)
4 for (j = 0; j M; j++) {
5 t = a[i][j];
6 a[i][j] = a[j][i];
7 a[j][i] = t;
8 }
9 }
已知采用优化编译(选项-O2)后函数trans_matrix的内循环对应的汇编代码如下:
1 .L2:
2 movl (%ebx), %eax
3 movl (%esi, %ecx, 4), %edx
4 movl %eax, (%esi, %ecx, 4)
5 addl $1, %ecx
6 movl %edx, (%ebx)
7 addl $76, %ebx
8 cmpl %edi, %ecx
9 jl .L2
根据上述汇编代码,回答下列问题或完成下列任务。
(1)M的值是多少?常数M和变量j分别存放在哪个寄存器中?
(2)写出上述优化汇编代码对应的函数trans_matrix的C代码。
25.假设结构类型node的定义、函数np_
您可能关注的文档
- 第三章_空气除菌讲解.ppt
- 第三章_轨道电路讲解.ppt
- 第三章、池塘施肥讲解.ppt
- 第三章_细胞工程10讲解.ppt
- 第三章_钢的珠光体转变讲解.ppt
- 第三章_锚设备讲解.ppt
- 第三章中医全科医疗的服务模式讲解.docx
- 第三章下_抽象与接口讲解.ppt
- 第三章习题讲解.ppt
- 第三章二手车收购评估反馈讲解.ppt
- 剧本杀行业报告:内容创作规范与剧本市场拓展策略.docx
- 剧本杀行业区域市场区域文化特色与市场潜力分析报告.docx
- 剧本杀行业区域市场拓展实战案例研究.docx
- 剧本杀行业区域市场拓展路径与模式探索报告.docx
- 剧本杀行业区域市场竞争态势与品牌差异化策略研究报告.docx
- 剧本杀行业2025年西北区域市场市场细分领域竞争态势与品牌竞争策略分析研究报告.docx
- 剧本杀行业2025年西北市场拓展前景预测报告.docx
- 剧本杀行业2025年长沙市场发展潜力分析报告.docx
- 剧本杀行业2025年长三角市场竞争策略与布局分析.docx
- 医疗行业数据合规:2025年数据安全法实施后的合规监管挑战与应对.docx
最近下载
- 2024新沪教版版九年级上册化学各章节必背知识点复习提纲.docx VIP
- 高中数学-思维导图(60图).pdf VIP
- 饮水机清洁技巧课件.pptx VIP
- 放学路上作文600字.docx VIP
- 应急大队档案培训.pptx
- 人体解剖学(第二版):消化系统PPT全套教学课件.pptx VIP
- 2012年下半年小学教师资格证考试真题《教育教学知识与能力》(附答案).pdf VIP
- 18.6审理旅游纠纷案件适用法律的规定(政策与法律法规 第7版).pptx VIP
- 作风建设专题党课讲稿2篇:加强作风建设,推动高质量发展.docx VIP
- (四升五)四年级语文暑假特色作业(可修改可打印).docx VIP
文档评论(0)