汇编中多进程--初始例子

来源:互联网 发布:dnf老是网络中断2016 编辑:程序博客网 时间:2024/05/01 22:22
.section .data
msg:    .ascii "start fork/n"
    msg_len = . - msg
father_msg:    .ascii "this is father/n"
    father_msg_len = . - father_msg
child_msg:    .ascii "this is child/n"
    child_msg_len = . - child_msg
    .equ write_number, 4
    .equ stdout_number, 1
    .equ fork_number, 2
    .equ exit_number, 1
.section .text
    .globl _start
_start:
    #print msg
    movl $write_number,%eax
    movl $stdout_number, %ebx
    movl $msg, %ecx
    movl $msg_len, %edx
    int $0x80

    #invoke fork
    movl $fork_number, %eax
    int $0x80

    #return value in eax
    movl %eax, %ecx
    jecxz child
father:        
    #print father_msg
    movl $write_number, %eax
    movl $stdout_number, %ebx
    movl $father_msg, %ecx
    movl $father_msg_len, %edx
    int $0x80
    
    jmp exit
child:
    #print child_msg
    movl $write_number, %eax
    movl $stdout_number, %ebx
    movl $child_msg, %ecx
    movl $child_msg_len, %edx
    int $0x80
    
    jmp exit
exit:
    movl $exit_number,%eax
    movl $0, %ebx
    int $0x80
    
   
原创粉丝点击