如何获取键盘 ASCII 输入并将其保存到 x86_64 程序集中的 .data 中的值?
How to get keyboard ASCII input and save it to a value in .data in x86_64 Assembly?
正如我的问题所述,如何从键盘输入中获取 ASCII 键码作为整数值,然后我想将该值保存在 .data 内的数据字中,这样我就可以将数据字放入不同的功能。
input:
; get ASCII for keyboard input
; save ASCII into cha
push rbp
mov rdi, cha
call kernel_input
pop rbp
section .data
cha dw
您应该能够通过调用 x64 的 SYS_READ 系统调用来存储单个字节。这是根据您的示例修改的一些代码。
input:
; get ASCII for keyboard input
; save ASCII into cha
push rbp
mov rdx, 1 ; max length
mov rsi, cha ; buffer
mov rdi, 0 ; stdin
mov rax, 0 ; sys_read
syscall
pop rbp
section .data
cha dw 0
我建议查找 system calls in Linux 以了解更多详细信息。
正如我的问题所述,如何从键盘输入中获取 ASCII 键码作为整数值,然后我想将该值保存在 .data 内的数据字中,这样我就可以将数据字放入不同的功能。
input:
; get ASCII for keyboard input
; save ASCII into cha
push rbp
mov rdi, cha
call kernel_input
pop rbp
section .data
cha dw
您应该能够通过调用 x64 的 SYS_READ 系统调用来存储单个字节。这是根据您的示例修改的一些代码。
input:
; get ASCII for keyboard input
; save ASCII into cha
push rbp
mov rdx, 1 ; max length
mov rsi, cha ; buffer
mov rdi, 0 ; stdin
mov rax, 0 ; sys_read
syscall
pop rbp
section .data
cha dw 0
我建议查找 system calls in Linux 以了解更多详细信息。