assembly - nasm 检测到 eof,读取数据块
问题描述
我需要从文件中读取一些未知数量的字符。我想检测字符串的结尾(在这种情况下它是 EOF)。首先,我使用系统调用 3 从文件中读取,然后检查 rax 是否等于 0。如果我同时读取一个字符,那效果很好,但我想这样读取:
mov rax, 3
mov rbx, stdin
mov rcx, input
mov rdx, 8
int 80h
所以我读了 8 位,然后我在这些位上循环,我想检测是否有 eof。EOF 检测如下所示::
cmp r8b,0
jle loop_end
但这根本不起作用。我可以以某种方式阅读更多位fe。8. 并在 fe 位置 5 检测到 EOF?或者也许系统调用 3 可以返回读取的位数?
解决方案
推荐阅读
- javascript - TinyMCE 输入以相反的顺序写入
- regex - 在 Rust 中保存/加载编译的正则表达式?
- python - 如何在 Windows 服务中停止调度程序?
- java - 带有参数的 Volley jsonObjectRequest 不起作用
- android - Android - 在深度链接上看到的 windowBackground
- elasticsearch - Filebeat add_tags 处理器发送标签但不能在仪表板可视化中使用
- python - open_note() 缺少 1 个必需的位置参数:'docid'
- azure-data-factory-2 - 是否可以在数据工厂计划触发器/翻转窗口触发器中指定跳过日期/期间?
- .net - 从自托管 WCF 服务跟踪客户端 TLS 版本
- reactjs - Next.js 导航栏:单击来自不同的链接时突出显示不清晰