Compiler Explorer 是一个可以在线生成汇编的网站,适合刚入门的新手一个学习汇编的地方。在论坛里很多前辈都说:学习汇编的最好方式之一,就是自己去打打代码,对着代码看汇编,这是最快的学习方式。而 Compiler Explorer 就很好地实现了这样的功能,打开 Compiler Explorer,左边是输入代码的地方,右边则会实时编译并生成汇编代码显示。
以一个简单的 while 求和代码为例,在左边输入代码,右边就会出现如下所示的汇编代码。两个方框内还有相对应的颜色高亮显示。
例如在上面这段代码中与 sum 相关的两个语句是:
int sum = 0;
sum += i;
根据图中所对应的颜色,可以看出这两个语句,所对应的汇编代码分别是:
mov DWORD PTR [rbp-8], 0
mov eax, DWORD PTR [rbp-4]
add DWORD PTR [rbp-8], eax
以初学者的视角来看,如果不知道 mov 指令的用法,还可以将鼠标移动到 mov 指令上,就会显示出 mov 指令的简单介绍。
如果想要进一步了解 mov 指令,还可以右键选择 View assembly documentation 查看文档。
在该页面下,会有一个 mov 指令的个人整理文档可供查看。
此外,该网站还可以用汇编代码生成对应的流程图。在 Add new 选项下点击「Graph output」,就可以再显示出代码的执行流程图。