gpt4 book ai didi

nasm - 对 WinMain@16 的 undefined reference

转载 作者:行者123 更新时间:2023-12-04 11:56:16 24 4
gpt4 key购买 nike

segment .data

msg db "Enter your ID", 0xA, 0xD
len equ $ - msg

segment .bss

id resb 10

segment .text

global _start

_start:

mov eax, 4
mov ebx, 1
mov ecx, msg
mov edx, len
int 0x80

mov eax, 3
mov ebx, 0
mov ecx, id
mov edx, 10
int 0x80

mov eax, 4
mov ebx, 1
int 0x80

_exit:

mov eax, 1;
xor ebx, ebx
int 0x80

;End

我正在尝试使用 gcc 在 c 中编译这个文件,但是程序给了我一个错误,我完全不知道问题出在哪里。和我的操作系统有关系吗?

最佳答案

该程序仅适用于 32 位 Linux。
这个程序仍然存在问题。

将“_start”更改为“main”
此外,系统调用后可能不会保留 ecx 和 edx (int 0x80)

请尝试以下示例。

组装和链接:
nasm -felf hello.asm
gcc -o 你好你好.o

segment .data

msg db "Enter your ID", 0xA
len equ $ - msg

segment .bss

id resb 10

segment .text

global main

main:

mov eax, 4
mov ebx, 1
mov ecx, msg
mov edx, len
int 0x80

mov eax, 3
mov ebx, 0
mov ecx, id
mov edx, 10
int 0x80

mov edx, eax ;; length of the string we just read in.
mov eax, 4
mov ebx, 1
mov ecx, id
int 0x80

_exit:

mov eax, 1;
xor ebx, ebx
int 0x80

;End

关于nasm - 对 WinMain@16 的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14619114/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com