Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # exemplo chamando exit() e write()
- .section .data
- output:
- .ascii "feliz aniversario mestre Wagner \o/ .\n"
- output_end:
- .equ len, output_end - output
- .section .text
- .globl _start
- _start:
- # seta 0 na stack pointer
- movl $0, %esp
- # goto
- loop:
- # mov com "l" significa que vamos usar 32bit vide tabela
- # eax deixamos o número do syscall que seria 4
- movl $4, %eax
- # $ cat unistd_32.h | grep write
- # define __NR_write 4 <-- num do syscall
- # número do descriptor 1 para out no primeiro argumento
- movl $1, %ebx
- # nossa string no segundo argumento
- movl $output, %ecx
- # tamanho da string no terceiro argumento
- movl $len, %edx
- # executa write(1,string,len);
- int $0x80
- # esp++;
- incl %esp
- # compara esp
- cmpl $33, %esp
- # enquanto for menor ou igual 33( 33 anos ?) goto loop
- jle loop
- # exit()
- movl $1, %eax
- # exit(0);
- movl $0, %ebx
- # executa o exit() fecha...
- int $0x80
Advertisement
Add Comment
Please, Sign In to add comment