系列文章目录
【汇编实战】Win10配置汇编环境 VisualStudio2019
一、实验内容
C语言编写多重循环程序(大于3重),查看其反汇编代码,分析各条语句功能(分析情况需要写入实验报告),并采用汇编语言重写相同功能程序。
二、实验过程
2.1 查看反汇编代码
首先,我们使用C++编写四重循环代码,每重循环大小为10,在循环最内层对ans加一,预期答案为10000。
编写C++代码如下所示:
#include<iostream>
using namespace std;
int main(){
int ans = 0;
for(int i =0; i < 10; i++){
for(int j = 0 ;j < 10; j++){
for(int k =0 ; k< 10 ; k++){
for(int h = 0; h < 10; h++){
ans += 1;
}
}
}
}
cout << ans << endl;
return ans;
}
使用g++查看其汇编代码以及反汇编代码,分别运行如下命令行:
g++ -S .\triloop.cpp
g++ -g -c .\triloop.cpp
objdump -S triloop.o >triloop_dump.s
在文件夹下分别生成汇编文件triloop.s以及反汇编文件triloop_dump.s。本实验中我们通过查看反汇编代码triloop_dump.s分析每一行汇编代码的功能。