- 主题:请教一个汇编问题
section .data
text db "Hello, World!",10
section .text
global _start
_start:
mov rax, 1
mov rdi, 0
mov rsi, text
mov rdx, 14
syscall
mov rax, 60
mov rdi, 0
syscall
mov rdi, 0:这里的0是stdin,为什么仍然能正确输出Hello world?
--
FROM 115.171.217.*
等价c函数
sys_write(0, text, 14);
sys_exit(0);
哪里不行了?
【 在 bsdhax (BSD Hacker) 的大作中提到: 】
: section .data
: text db "Hello, World!",10
: section .text
: global _start
: _start:
: mov rax, 1
: mov rdi, 0
: mov rsi, text
: mov rdx, 14
: syscall
: mov rax, 60
: mov rdi, 0
: syscall
: mov rdi, 0:这里的0是stdin,为什么仍然能正确输出Hello world?
--
FROM 101.84.198.*
没重定向的话,stdin、stdout都是指向/dev/tty的
--
FROM 114.241.228.*
为什么使用0而不是1?
【 在 javaboy 的大作中提到: 】
: 等价c函数
: sys_write(0, text, 14);
: sys_exit(0);
: ...................
--
FROM 115.171.217.*
/dev/tty就是我运行它的那个shell吗?
【 在 z16166 的大作中提到: 】
: 没重定向的话,stdin、stdout都是指向/dev/tty的
--
FROM 115.171.217.*
文件描述符0、1、2刚开始应该都是terminal的吧
如果搞了重定向,就可能不是了
【 在 bsdhax 的大作中提到: 】
: /dev/tty就是我运行它的那个shell吗?
--
FROM 114.241.228.*
好的,多谢兄弟了
【 在 z16166 的大作中提到: 】
: 文件描述符0、1、2刚开始应该都是terminal的吧
: 如果搞了重定向,就可能不是了
:
--
FROM 115.171.217.*