Chinaunix

标题: freebsd下 汇编为什么有错呢 [打印本页]

作者: zhoooxiehe    时间: 2007-12-27 21:53
标题: freebsd下 汇编为什么有错呢
.section .data
        output: .asciz "The processor Vendor ID is '%s'\n"

.section .bss
        .lcomm buffer, 12

.section .text
.globl _start
_start:
        movl $0, %eax
        cpuid
        movl $buffer, %edi
        movl %ebx, (%edi)
        movl %edx, 4(%edi)
        movl %ecx, 8(%edi)
        pushl $buffer
        pushl $output
        call printf
        addl $8, %esp
        pushl $0
        call exit

编译链接:


CODE:
as -o cpuid2.o cpuid2.s
ld -o cpuid2 -lc cpuid2.o

出错:


CODE:
/usr/lib/libc.so: undefined reference to `environ'
/usr/lib/libc.so: undefined reference to `__progname'
作者: gvim    时间: 2007-12-28 09:59
用gcc 呗。把_start换成main。
gcc -o cpuid2 cpuid2.S
作者: mymtom    时间: 2007-12-28 10:59
原帖由 gvim 于 2007-12-28 09:59 发表
用gcc 呗。把_start换成main。
gcc -o cpuid2 cpuid2.S

同意,用到libc的话应该用main作为程序入口。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2