【发布时间】:2021-08-13 21:11:09
【问题描述】:
所以正如我的问题所述,如何从键盘输入中获取 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
【问题讨论】:
-
您可以使用
sys_read从输入流中获取单个字节。 -
你标记了这个 [osdev]。这是否意味着您正在编写内核代码,特别是键盘驱动程序? (如果是这样,对于什么硬件?遗留的可能模拟的 PS/2 键盘控制器?USB(更复杂),或者类似 UEFI 调用来为你处理它?)如果你不编写内核/裸 - metal / uefi 应用程序,那么您只想要求内核将输入读入您的内存。它将是代表数字的 ASCII 文本,您可以使用 NASM Assembly convert input to integer? 将其转换为二进制整数
-
还要注意
cha dw不保留任何字节。也许您的意思是section .bss/cha resw 1保留 2 个字节?