/* Start-up */

#define STACK_SIZE              0x4000		/* The size of our stack (16KB) */
#define MULTIBOOT_HEADER_MAGIC	0x1BADB002     	/* The magic number for the Multiboot header */	
          
        .text
        .globl  _start
        
	.align  4				/* Align 32 bits boundary */
        					/* Multiboot-compliant header */	
        .long   +MULTIBOOT_HEADER_MAGIC        	/* magic */
        .long   0        			/* flags=0 */
        .long   -MULTIBOOT_HEADER_MAGIC        	/* checksum */
_start:         	        
        movl    $(stack + STACK_SIZE), %esp	/* Initialize the stack pointer */
     
        pushl   $0			        /* Reset EFLAGS */
        popf

        call    cmain				/* C main function... */
loop:   hlt
        jmp     loop
     
        .comm   stack, STACK_SIZE		/* Our stack area */

