[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico]
[Índice de assunto]
Re: Hello, world -> nao funcionou
- Subject: Re: Hello, world -> nao funcionou
- From: Francisco Reverbel <reverbel@xxxxxxxxxx>
- Date: Wed, 26 Feb 2003 10:13:10 -0300 (EST)
On Tue, 25 Feb 2003, Tiago Motta Jorge wrote:
> Ao tentar executar o programa "Hello, World" que foi dado em classe,
> os caracteres do meu terminal foram descaracterizados: se transformaram
> em um monte de símbolos sem significado.
>
> O código com problema é:
>
> section .data
> msg db "Hello, World!", 0xa
> len equ $-msg
>
>
> section .text
> global _start
>
> _start: mov edx, len
> mov ecx, msg
> mov ebx, 1
> mov eax, 4
> int 0x80
>
> mov ebx, 0
> mov eax, 1
> int 0x80
>
>
> Andei lendo alguma coisa pela internet e fiz a seguinte modificação:
>
> section .text
> global _start
>
> msg db "Hello, World!", 0xa
> len equ $-msg
>
> _start: mov edx, len
> mov ecx, msg
> mov ebx, 1
> mov eax, 4
> int 0x80
>
> mov ebx, 0
> mov eax, 1
> int 0x80
>
> Depois disso o programa passou a funcionar corretamente. A única
> coisa que fiz foi remover a sessão .data. O que se passa?
Não sei... Acabei de testar o programa original e ele funcionou:
$ cat hello.asm
section .data
msg db "Hello, World!", 0xa
len equ $-msg
section .text
global _start
_start: mov edx, len
mov ecx, msg
mov ebx, 1
mov eax, 4
int 0x80
mov ebx, 0
mov eax, 1
int 0x80
$ nasm -f elf hello.asm
$ ld -s -o hello hello.o
$ hello
Hello, World!
$
Você está montando e rodando o programa no Linux?
Reverbel