c语言求三个整数的积,反汇编学习-C语言实例解析精粹-实例3求整数之积
序言
为了提高可读性,我添加了这一段,另外由于我用的是VS2017,会出现一些奇怪的错误,也一并在这里解决。
例如本次出现了这个错误(安全检查错误):错误 C4996 ‘scanf’: This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. Project1 e:\projects\c\project1\project1\no.3.c 17
解决办法:#define _CRT_SECURE_NO_WARNINGS 在代码中加上这个宏定义,最好是在最上方加。其他方法自行问度娘。
C代码
这个实例很简单,就是计算两个整数的乘积,下面看代码:
我对书中的代码稍稍添加了一些,getchar() 函数防止运行的时候一闪而过。
汇编代码
我在 int main 处下的断点,直接调试查看反汇编代码,如下:
就截取这些代码,main函数后的检查esp是否正常的代码就没截取。
0177B30h 内存信息,存着要打印出来的字符串:
新接触了一个指令:imul 指令意思是有符号数乘法运算,拓展一下, mul 是无符号数的乘法运算,指令格式如下:
r表示寄存器,32,16表示位数
m表示内存
imm表示立即数
结语
又学习了一部分,之前还没在反汇编代码中遇到imul,见得太少了,要多加练习。
PS:今天早上接到通知,要出差,很懵逼,第一次出差哎~,还好有同事一块,希望一切顺利!
如有错误,敬请指出,感谢指正! —2019-05-15 22:00:51 于苏州
c语言求三个整数的积,反汇编学习-C语言实例解析精粹-实例3求整数之积相关推荐
- c语言编程实例解析精粹,C语言实例解析精粹学习笔记——35(报数游戏)
实例35: 设由n个人站成一圈,分别被编号1,2,3,4,--,n.第一个人从1开始报数,每报数位m的人被从圈中推测,其后的人再次从1开始报数,重复上述过程,直至所有人都从圈中退出. 实例解析: 用链 ...
- 大学c语言第三章作业,华中科技大学光电子学院C语言第三章
<华中科技大学光电子学院C语言第三章>由会员分享,可在线阅读,更多相关<华中科技大学光电子学院C语言第三章(20页珍藏版)>请在装配图网上搜索. 1.第三章 简单程序设计 1. ...
- 《C语言入门指南》合集版,学习c语言有这一篇就够了?
前言: <C语言入门指南>,全文分为3篇,共计34248字,此为合集版,适用初学者入门C语言,非初学者也可以通过本文复习C语言相关知识点,强化记忆!十三肝7天才弄完,贼累了,发布这篇笔记也 ...
- python语言编程入门先学什么-初学者先学习python语言还是C语言
有人觉得应该从C语言开始入门,原因如下: 1.C语言是你上大学第一门接触的编程语言,可见它的重要性. 2.C语言是一种面向过程的语言,而Python是一种面向对象的解释型计算机程序设计语言.而你需要先 ...
- c++ 小游戏_C/C++编程笔记:C语言写推箱子小游戏,大一学习C语言练手项目
C语言,作为大多数人的第一门编程语言,重要性不言而喻,很多编程习惯,逻辑方式在此时就已经形成了.这个是我在大一学习 C语言 后写的推箱子小游戏,自己的逻辑能力得到了提升,在这里同大家分享这个推箱子小游 ...
- c语言输出三个比值为,请问如何用C语言表示数的比值
想表示最大公约数与最小公倍数之比为1:120,大概是在判断语句里,用"最小公倍数/最大公约数==120"就行了,如果符合这个条件就跳出. 代码: #include //求最大公约数 ...
- c程序设计语言第三章简答题,第3章 程序设计语言(答案).doc
第3章 程序设计语言(答案) 踩厅灾伍亥挝拳缴海梳姻麦诅吨逝谭坪趋培矮提膜肥厘脯与哩廉诛赚来打揭粤魄又罢植郎苏咳居镊型惺肘挑搜禽剔抹缝咕昔春鸵等牺阎厩退墨脸噎姨辱蹋苯拐汲饿菊淌呕点省唤乍痞兢凛鞭庶鞋克 ...
- c语言随机三位数,【分享代码】弥补c语言随机数不足
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 // Rand 3 //10的poa次方 int poww(int poa) { int poi, gett = 1; if (poa == 0) ret ...
- c 语言中三个函数,帮忙解释几个C语言中的函数?
1memcpy在两个内存空间之间拷贝字符.其函数原型为: void *memcpy( void *dest, const void *src, size_t count ); 其中dest是拷入起始地 ...
最新文章
- Spring Cloud源码分析(二)Ribbon(续)
- sqlserver存储过程循环写法
- 手机鸿蒙公测选择一个应用,鸿蒙系统公测半个月,首批“差评”很难听,但是却也很真实...
- 第三周读书笔记《程序员修炼之道》
- android调试+及JNI相关
- ubuntu安装vmware-tools
- 学计算机 数学日记,数学日记3篇
- PDF编辑器哪个好,怎么在PDF中添加图片
- I2S协议-一篇文章带你了解
- word中标题去掉前面的点
- liunx服务器日志在什么位置,系统日志查看位置(Windows+Linux)
- 慕尼黑大学计算机硕士专业,德国可以申请的英语授课的计算机硕士有哪些学校?...
- 软件性能测试模拟笔试题目
- JAVA中输出分两栏,老司机搞定Java 设置Word分栏
- 解决导出excel文件名中文乱码的问题
- html5 canvas时光隧道3D粒子动画js特效
- 【面朝大厂】面试官:你对MySQL中的索引了解多少?
- 下载kaggle比赛的数据集
- 【去后厂村开游戏厅吧】基于pp-tinypose的体感贪吃蛇游戏
- python中os库用法详解(总结)