使用NASM汇编时为何提示不存在的行号出现语法报错?
问题根因
你提供的代码片段最后一行存在语法错误:
mov cl 0x02
NASM的x86汇编语法要求,mov指令的两个操作数之间必须用逗号分隔,这行漏写了逗号,是触发报错的直接原因。
修复方法
将对应行修改为:
mov cl, 0x02
行号不匹配的说明
NASM统计行号时会将整个编译单元的所有行纳入计数,包括:
- 文件开头的空行、注释行
- 用
%include指令引入的外部头文件、汇编文件的所有行 - 预处理阶段生成的隐式行
你当前看到的代码片段行数不等于NASM统计的全局行数,所以会出现报错行号在当前可见代码中找不到的情况。
内容的提问来源于stack exchange,提问作者notCoder
相关产品推荐
相关产品推荐

