我基本上是在写我的第一行汇编语言,所以这很新。 试图从程序集中简单地调用libc的“ printf”。很难找出这几行代码中的错误,不胜感激任何帮助或指针
$ uname -a
Linux Home 4.15.0-39-generic #42-Ubuntu SMP Tue Oct 23 15:48:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
你好。
.section .data
msg:
.asciz "^%s\n"
fmt:
.asciz "hello world"
.section .bss
.section .text
.globl _start
_start:
pushq $fmt
pushq $msg
call printf
addl $16, %esp
pushq $0
call exit
使用GNU工具
$ as -o hello.o hello.s
$ ld -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o hello -lc hello.o
$ ./hello
Segmentation fault (core dumped)