第16部分-Linux x86 64位汇编 命令行参数
查看环境变量示例
.extern printf ;//调用外部的printf函数
.section .data
output:
.asciz "%s\n"
resultstr:
.ascii "Area result is %f.\n"
.section .text
.globl _start
_start:
mov %rsp, %rbp;//rsp移动到rbp
add $24, %rbp;//指向第一个环境变量
mov $0,%rcx
loop1:
cmpl $0, (%rbp)
je endit
movq $output,%rdi;//output2字符串地址
movq (%rbp),%rsi;//栈指针
call printf;//调用printf函数,打印参数数量
add $8, %rbp
loop loop1
endit:
mov $60,%rax
syscall
as -g -o paramtest.o paramtest2.s
ld -o paramtest paramtest.o -lc -I /lib64/ld-linux-x86-64.so.2
可以看到所有的环境变量的输出,这个和在系统中使用env命令是一样的。