【问题标题】:Navigate with the arrow keys within a text in console with Nasm in Linux在 Linux 中使用 Nasm 在控制台中的文本中使用箭头键导航
【发布时间】:2013-11-03 20:05:42
【问题描述】:

我正在研究一个分为两部分的项目。第一个是某种文本可视化器(在控制台中),它涉及用户可以使用箭头键在文本中导航。

现在,我什至不知道如何解决这个问题,我在 nasm 中所做的最重要的事情就是一个正则表达式分析器,仅此而已。我想我应该显示文本,但最后,不要将控制权交还给操作系统。底部 3 行,

mov eax, 1
mov ebx, 0 
int 80h

这样我就可以开始捕获箭头键了。因此,如果用户按下向上箭头键,则指针会在包含文本的缓冲区中向后移动 80 个空格,其余的键以此类推。 (那是编辑)

我真的不知道这是否可能,但是任何推荐或建议或指向我可以进一步调查的地方的链接都会很棒!

【问题讨论】:

标签: linux text assembly console nasm


【解决方案1】:

我没有 UNIX 汇编程序经验,但您可以使用 ncurses(或者更简单地限制您使用 VT-100 终端,当然您永远不会遇到任何不兼容的问题)。 以下是 VT-100 控制代码:http://ascii-table.com/ansi-escape-sequences-vt-100.php。使用stty -icanon 设置规范模式。使用传统的 fread(stdin) 从控制台读取并识别箭头键码:

up      EscA    EscOA
down    EscB    EscOB 
right   EscC    EscOC
left    EscD    EscOD.

然后使用转义序列清理屏幕并绘制新图像 - 这将是一个非常硬的代码,但汇编程序也是如此。

【讨论】:

    猜你喜欢
    • 2011-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多