All pastes #839861 Raw Edit

Unnamed

public text v1 · immutable
#839861 ·published 2007-12-31 08:04 UTC
rendered paste body
.section .data
.equ open, 5
.equ write, 4
.equ read, 3
.equ rdonly, 0
.equ stdin, 0
.equ stdout, 1
.equ linux, 0x80
.equ eof, 0

.section .comment

.section .text

.globl _start

_start:

pushl $104
call printc
subl $4, %esp

pushl $101
call printc
subl $4, %esp

pushl $108
call printc
subl $4, %esp

pushl $108
call printc
subl $4, %esp

pushl $111
call printc
subl $4, %esp

pushl $32
call printc
subl $4, %esp

pushl $119
call printc
subl $4, %esp

pushl $111
call printc
subl $4, %esp

pushl $114
call printc
subl $4, %esp

pushl $108
call printc
subl $4, %esp

pushl $100
call printc
subl $4, %esp

pushl $33
call printc
subl $4, %esp

pushl $10
call printc
subl $4, %esp

jmp exit


print:

mov $write, %eax
mov $stdout, %ebx
mov %esp, %ecx
mov $1, %edx
int $linux

exit: #we'll make this function more complex laters
        movl    $0,%ebx         # first argument: exit code
        movl    $1,%eax         # system call number (sys_exit)
        int     $linux           # call kernel


.type printc, @function
printc:
popl %ebp
#movl $, %ebp
movl $write, %eax
movl $stdout, %ebx
movl %esp, %ecx
movl $1, %edx
int $linux
pushl %ebp
ret

#So, let's do something?