Linux 为什么/dev/stdout是“;1.

Linux 为什么/dev/stdout是“;1.,linux,gcc,Linux,Gcc,为什么mov EBX为“1”/开发/标准输出? 在unix系统上可以找到文档“1”的地方,一个进程通常有3个公共I/O通道连接到它,称为stdin/stdout/stderr。它们具有相应的文件描述符值0、1和2 这记录在:(另请参见)(“在C中,stdin、stdout和stderr是文件*,在UNIX中分别映射到文件描述符0、1和2。”-)这里是一个很好的历史概览:来自wikipedia。这篇文章追溯到20世纪50年代,讨论了Unix设计,并解释了流被标准化的原因及其价值。 SEGMENT

为什么mov EBX为“1”/开发/标准输出?
在unix系统上可以找到文档“1”

的地方,一个进程通常有3个公共I/O通道连接到它,称为stdin/stdout/stderr。它们具有相应的文件描述符值0、1和2


这记录在:(另请参见)

(“在C中,stdin、stdout和stderr是文件*,在UNIX中分别映射到文件描述符0、1和2。”-)这里是一个很好的历史概览:来自wikipedia。这篇文章追溯到20世纪50年代,讨论了Unix设计,并解释了流被标准化的原因及其价值。
SEGMENT .data ; nothing here
SEGMENT .text ; sauce
global _start
_start:
            pop ECX ; get ARGC value
            mov EAX, 4 ; sys_write()
            mov EBX, 1 ; /dev/stdout
           ;^^^^^^^^^^^
            mov EDX, 1 ; a single byte
            int 0x80
            mov EAX, 1 ; sys_exit()
                    mov EBX, 0 ; return 0
            int 0x80
SEGMENT .bss ; nothing here