2017-2018-1 20155313 《信息安全系统设计基础》第八周课下作业
2017-11-12 22:48
393 查看
2017-2018-1 20155313 《信息安全系统设计基础》第八周课下作业
课下作业1:
1 完成家庭作业4.47,4.48,4.492 相应代码反汇编成X86-64汇编
3 把上述X86-64汇编翻译成Y86汇编,并给出相应机器码
发操作过程、测试、问题解决过程博客链接
1 完成家庭作业4.47,4.48,4.49
4.47
冒泡排序实现:void bubble_a(int *data, int count){ int i,next; for(next = 1; next < count; next++){ for(i = next - 1; i >= 0; i--) if(*(data + i + 1) < *(data + i)){ int t = *(data + i + 1); *(data + i + 1) = *(data + i); *(data + i) = t; } } }
X86-64汇编:
Y86-64汇编:
机械码截图:
4.48
实现冒泡排序,要求不使用跳转,且最多使用3次条件传送。void bubble_c(int *data,int count) { int i , next; int pre_ele,next_ele; for(next = 1;next < count;next++) { for(i = next -1;i >= 0;i--) { pre_ele = *(data + i); next_ele = *(data + i + 1); *(data + i) = next_ele < pre_ele ? next_ele : pre_ele; *(data + i + 1) = pre_ele; } } }
X86-64汇编:
Y86-64汇编:
4.49
实现冒泡排序,要求不使用跳转,且最多使用1次条件传送。void bubble_c(int *data,int count) { int i , next; int pre_ele,next_ele; for(next = 1;next < count;next++) { for(i = next -1;i >= 0;i--) { pre_ele = *(data + i); next_ele = *(data + i + 1); *(data + i) = next_ele < pre_ele ? next_ele : pre_ele; *(data + i + 1) = next_ele < pre_ele ? pre_ele : next_ele; } } }
X86-64汇编:
Y86-64汇编:
相关文章推荐
- 2017-2018-1 20155313 《信息安全系统设计基础》第八周课下作业2
- 2017-2018-1 20155201 《信息安全系统设计基础》第八周课下作业
- 2017-2018-1 20155327 《信息安全系统设计基础》第八周课下作业
- 2017-2018-1 20155313 《信息安全系统设计基础》第八周学习总结
- 2017-2018-1 20155313 《信息安全系统设计基础》第八周课堂测试
- 2017-2018-1 20155230 《信息安全系统设计基础》第八周课上作业补全、课下作业
- 2017-2018-1 20155205 《信息安全系统设计基础》第八周课堂测试+课下作业
- 2017-2018-1 20155239 《信息安全系统设计基础》第八周课下作业
- 2017-2018-1 20155318 《信息安全系统设计基础》第八周课下作业
- 2017-2018-1 20155324 《信息安全系统设计基础》第八周学习总结
- 2017-2018-1 20155313 《信息安全系统设计基础》第十四周学习总结
- 2017-2018-1 20155318 《信息安全系统设计基础》第八周学习总结
- 2017-2018-1 20155235 《信息安全系统设计基础》第八周课堂测试
- 2017-2018-1 20155313 《信息安全系统设计基础》第一周学习总结
- 2017-2018-1 20155313 《信息安全系统设计基础》第五周学习总结
- 2017-2018-1 20155313 《信息安全系统设计基础》第六周学习总结
- 2017-2018-1 20155321 《信息安全系统设计基础》第八周学习总结
- 20155216 2017-2018-1 第八周课下作业2
- 20155210 2017-2018-1 第八周课下作业2