首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
仔细阅读所给 C 程序及其汇编代码片段。 (1) 指出 波浪
[问答题]
仔细阅读所给 C 程序及其汇编代码片段。
(1) 指出 波浪线处的 汇编代码的作用;
(2) 补全下划线处的空白汇编代码。
添加笔记
求解答(0)
邀请回答
收藏(0)
分享
纠错
1个回答
添加回答
0
阿奻_
(1)该汇编代码序列的作用,就是给局部数组 a 赋初值。
(2)空白处汇编代码如下:
addl $24,%eax
// &a 为指向含 6 个整数的数组的指针,为 所指对象字节大小为 6 ×4 =24 字节。
// 因此,&a + 1 中的+1, 表示 为加 24 。
subl $4, %eax
// 指针 p 为指向整型变量的指针,为 所指对象字节大小为 4 字节,
// 故而 ,p-1 中-1 表示为减 4 。
pushl (%eax)
// 传递参数。因为实参为指针,故而将其值传入。
addl $16, %esp
// 回收 printf 函数 调用时 的参数空间
// 两个参数,计 8 字节,再加上调用前下调栈顶的 8 字节,共计 16 字节!
leal -8(%ebp), %esp
// 重置栈顶,指向保存的两个寄存器值的较低单元位置
// 这样,便于恢复所保存的两个寄存器
发表于 2017-05-02 13:02:45
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
编译和体系结构
上传者:
阿奻_
难度:
1条回答
0收藏
1400浏览
热门推荐
相关试题
以下指令集架构属于复杂指令集架构的是?
阿里巴巴
编译和体系结构
评论
(15)
来自
阿里巴巴2015实习生笔试题
编程题 ,按照要求创建Java 应...
Java
评论
(1)
微型计算机有三种总线,他们分别是数...
编程基础
评论
(1)
计算机系统中用于管理硬件和软件资源...
编程基础
评论
(1)
说出3个获取用户需求的方法并简述其...
用户研究
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题