如何将不可打印的ASCII字节传递给x86_64汇编程序中的STDIN文件描述符(yasm)

时间:2018-03-20 15:25:12

标签: ascii x86-64 stdin yasm non-printing-characters

问题

假设我在x86_64汇编程序yasm(见下文)中有一个程序,该程序在某个时刻通过SYS_read系统服务请求用户输入。此输出在程序中进一步被视为字节数。用户可以轻松地提供与可打印的ASCII符号相对应的所有数字,即从0x200x7f(可能更多)。但是如何提供0x90例如?

几个字符的可能解决方案

我可以使用以下组合来提供所需的数字:

<C-S-u> 0 0 9 0

但是当需要输入许多字符时,这个解决方案可能会很乏味。

程序片段

这是负责从STDIN读取的程序的一部分。

readChar:
    mov     rax, SYS_read
    mov     rdi, STDIN
    lea     rsi, byte [rbp - 1] 
    mov     rdx, 1
    syscall

0 个答案:

没有答案