c - 您如何将以下代码转换为英特尔汇编代码 (x86)?
问题描述
我正在尝试转换为 x86 程序集,以帮助我更好地理解 x86 程序集中的编码概念,但我什至对如何开始编写此代码感到困惑。
int temp = 0;
int acc = 0;
for(int i = 0; i < 20; i++)
{
temp = temp + i;
if (temp > 5)
{
acc = acc * temp;
}
}
printf(“Answer is %d\n", acc);
解决方案
如果使用 Visual Studio 之类的 IDE,则可以针对 x86 平台并使用“反汇编”窗口查看程序集。
请记住,标志会改变生成的程序集,所以我会确保相应地调整优化。
推荐阅读
- python - 给定x,y轴上数组的不同位置,如何获得两个数组之间的空间距离
- c - 如何使用糟糕的 Windows 套接字在 https GET 请求中发送包含 unicode 字符的 cookie
- javascript - 无法将我的应用程序部署到 Heroku。错误:clean-webpack-plugin 只接受一个选项对象
- python - python-用networkx获取网络节点的度数
- javascript - 如何重复 SVG 多个部分的关键帧动画?
- javascript - 在 React Hook 中设置对象
- pylint - 如何防止尝试 lint python 代码时收到的 pylint 错误?
- php - CakePHP 3.8.0 中使用 AJAX 的依赖(链式)下拉菜单
- c# - 是否可以使用别名映射到枚举?
- visual-studio-2015 - EF5 代码优先迁移是否可以在 Visual Studio 之外搭建?