int main() {
/* Jaguar says RAR, not m00. 
   Allocates 12 bytes on the stack
   read(0, stackaddr, 12) then write(1, stackaddr, 12)
*/
__asm__("

xor	%eax, %eax #clearing ze registers (the syscall)
xor	%ebx, %ebx #the first parameter 
xor	%edx, %edx #the final parameter!
mov	%esp, %ecx #store the beginning address of the stack!
push	$0x20202020 # push 4byes (spaces)
push	$0x20202020 # same deal
push	$0x20202020 # same deal
mov	$0x0b, %dl # I want to allocate 12 bytes
mov	$0x00, %bl # I want to use stdin as my file descriptor
mov	$0x03, %al # This is for my call to read()
int	$0x80 # Do it!
mov	%eax, %edx # move the bytes read to edx
xor	%eax, %eax # go ahead and xor my register against itself (zeroed)
mov	$0x04, %al # set the syscall to write
int	$0x80 # call my int for write keeping %ecx where it was
xor	%eax, %eax # clear out eax
mov	$0x01, %al # going for an exit
int	$0x80 # and I am gone :) 

");
return 0;
}
