nuclear@51: #define ASM nuclear@51: #include nuclear@44: nuclear@44: .text nuclear@44: .globl test_proc nuclear@44: test_proc: nuclear@57: /* fork another process */ nuclear@57: movl $SYS_FORK, %eax nuclear@57: int $SYSCALL_INT nuclear@57: nuclear@57: infloop: nuclear@44: /* --- print a message --- */ nuclear@44: movl $SYS_HELLO, %eax nuclear@44: int $SYSCALL_INT nuclear@44: nuclear@57: /* --- call getpid --- */ nuclear@57: movl $SYS_GETPID, %eax nuclear@57: int $SYSCALL_INT nuclear@57: /* copy the pid to ebx to use as a sleep interval */ nuclear@57: movl %eax, %ebx nuclear@57: shl $1, %ebx nuclear@57: nuclear@44: /* --- sleep for 5 seconds --- */ nuclear@44: movl $SYS_SLEEP, %eax nuclear@57: /*movl $3, %ebx*/ nuclear@44: int $SYSCALL_INT nuclear@44: nuclear@57: jmp infloop nuclear@44: nuclear@44: .globl test_proc_end nuclear@44: test_proc_end: