環境搭建:
系統 Ubuntu18.04
CPU i5 x86架構
GCC 7.4.0
第一個彙編程序
代碼:
#first.s
.code64
.section .bss
.comm output,100
.section .text
.global _start
_start:
leaq output,%rdi
movq $1,(%rdi)
leaq -4(%rdi),%rax
movq $1,%rax
movq $0,%rbx
int $0x80
編譯腳本的編寫
#!/bin/sh
as $1.s -o $1.o -gstabs
ld --dynamic-link /lib64/ld-linux-x86-64.so.2 $1.o -o $1.exe -lc
解析:
gstabs選項作用:調試版,結合gdb可單步調試代碼.
dynamic-link選項作用: 指定動態鏈接庫,我的環境用到的上述.so庫.
lc選項作用:指定鏈接C庫