在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