在Ubuntu中,反汇编指令通常使用GNU Assembler(GAS)或者LLVM的LLD汇编器。GAS遵循AT&T语法,而LLD遵循Intel语法。以下是两种语法的简要介绍:
%
。例如,将立即数1加载到寄存器%eax
中:
movl $1, %eax
dword ptr
、word ptr
等。例如,将立即数1加载到寄存器eax
中:
mov eax, 1
在Ubuntu中,你可以使用as
命令(GAS)或lld
命令(LLD)来编译汇编代码。例如,使用GAS编译一个名为example.s
的汇编文件:
as -o example.o example.s
使用LLD编译一个名为example.s
的汇编文件:
lld -o example.o example.s
然后,你可以使用ld
命令(GNU链接器)将编译后的目标文件链接成可执行文件:
ld -o example example.o
或者使用LLD链接器:
lld -o example example.o
最后,运行生成的可执行文件:
./example