assembly nasm“尝试初始化bss段中的内存”

jm81lzqq  于 2023-01-17  发布在  其他
关注(0)|答案(1)|浏览(84)

我试图得到一个基本的感觉组装,这里是我的代码:

section .text
   global _start     ;must be declared for linker (ld)

section  .bss
   num resb 5

_start:             ;tells linker entry point
   mov  edx,len     ;message length
   mov  ecx,msg     ;message to write
.
.
.

程序未编译,并显示错误消息“警告:尝试初始化BSS段'. bss'中的内存:忽略“。
我在SO上没有找到有用的答案,有人能告诉我出了什么问题吗?

cetgtptt

cetgtptt1#

您的section .bss需要位于文本节之后或之前。您现在要做的是将代码放入bss节。相反,您应该执行以下操作:

section .rodata
    msg: db "Hello"
    len: equ $-msg

section .bss
    num resb 5

section .text
    global _start

_start:
    mov ecx, msg
    mov edx, len
.
.
.

相关问题