所以最近想学汇编,所以学了一点。我把它放到nano 中并保存为playground.asm。现在我想知道,我如何编译和运行它?我已经到处搜索了,仍然找不到。我真的很好奇,如果你甚至不会使用语言,那么学习它是没有意义的。
所以我目前正在研究汇编语言,我在终端上遇到了这个很棒的命令,gcc -S filename.cpp,它生成 C++ 源文件的汇编代码。
但是在我安装 NASM 并尝试链接和编译 .S 文件后(我也尝试通过复制粘贴 .s 文件中的代码来使用 .asm),我最终只在终端中遇到了错误。
我确信 C++ 源文件中没有错误,因为它只是一个 hello world 程序,但我知道我遗漏了一些东西,我希望有人可以为我指出。
这是C++源代码:
#include <iostream>
using namespace std;
int main ()
{
cout<<"wtf";
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这是 .s 文件代码:
.file "try1.cpp"
.text
.section .rodata
.type _ZStL19piecewise_construct, @object
.size _ZStL19piecewise_construct, 1
_ZStL19piecewise_construct:
.zero 1
.local _ZStL8__ioinit
.comm _ZStL8__ioinit,1,1
.LC0:
.string "wtf"
.text
.globl main
.type main, @function
main:
.LFB1493:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6 …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个引导加载程序,因此我需要 GNU 汇编器。我用谷歌搜索但没有找到任何有用的材料。如何安装 GNU 汇编器(而不是 GNU 编译器)?
我目前正在学习 ASM 编程,我想反汇编一个文件.c. 但是在执行命令行后
set disassembly-flavor test.c
Run Code Online (Sandbox Code Playgroud)
我使用命令:
disassembly test.c
Run Code Online (Sandbox Code Playgroud)
我的终端显示
disassemble: command not found
Run Code Online (Sandbox Code Playgroud)
有谁知道我可以在我的电脑上得到“反汇编”命令吗?
谢谢