首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >汇编代码故障

问汇编代码故障
EN

Stack Overflow用户
提问于 2016-02-22 07:07:27
回答 1查看 282关注 0票数 1

我正在学习如何通过汇编,我遇到了一个奇怪的问题。我收到消息说,

collect2:错误: ld返回%1退出状态

在我收到这条消息之前,我得到了一串类似下面这样的错误。

usr/_start/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info):重定位0具有无效的符号索引11

/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info):重定位%1具有无效的符号索引% 12

/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info):重定位%2具有无效的符号索引%2

/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info):重定位%3具有无效的符号索引%2

/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info):重定位%4具有无效的符号索引% 11

/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info):重定位5具有无效的符号索引13

/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info):重定位6具有无效的符号索引13

/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info):重定位7的符号索引13无效

/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info):重定位8具有无效的符号索引12

/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info):重定位9具有无效的符号索引13

/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info):重定位10具有无效的符号索引13

/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info):重定位11具有无效的符号索引13

/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info):重定位12具有无效的符号索引13

/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info):重定位13具有无效的符号索引13

/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info):重定位14具有无效的符号索引13

/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info):重定位15具有无效的符号索引13

/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info):重定位16具有无效的符号索引13

/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info):重定位17具有无效的符号索引13

/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info):重定位18具有无效的符号索引13

/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info):重定位19具有无效的符号索引21

/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_line):重定位0具有无效的符号索引2

/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o:/build/buildd/eglibc-2.19/csu/../sysdeps/x86_64/start.S:118:首次在此处定义/usr/bin/ ld : i386输入文件的体系结构Name.o' is incompatible with i386:x86-64 output /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o: In function_start':(.text+0x20):对‘`main’的未定义引用collect2: error: ld返回1个退出状态

`_start的多重定义

我完全不知所措。我将在下面发布我的代码,我希望这只是一个小错误。

代码语言:javascript
复制
section .data                           ;Data segment
    userMsg db 'Please enter your name : ' ;Ask the user to enter a number
    lenUserMsg equ $-userMsg             ;The length of the message
    dispMsg db 'Hi my name is'
    lenDispMsg equ $-dispMsg            

 section .bss           ;Uninitialized data
    num resb 5

section .text          ;Code Segment
global _start

_start:                ;User prompt
    mov eax, 4
    mov ebx, 1
    mov ecx, userMsg
    mov edx, lenUserMsg
    int 80h


    ;Output the message 'Your name is '
    mov eax, 4
    mov ebx, 1
    mov ecx, dispMsg
    mov edx, lenDispMsg
    int 80h  

    ;Output the name entered
    mov eax, 4
    mov ebx, 1
    mov ecx, num
    mov edx, 5
    int 80h  

    ; Exit code
    mov eax, 1
    mov ebx, 0
    int 80h
EN

回答 1

Stack Overflow用户

发布于 2016-02-22 07:16:54

我现在不在linux上,但可以用nasm汇编文件没有问题

nasm -felf32 hello.asm -ohello.obj

试试看: gcc -m32 hello.obj

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35543295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档