Windows下NASM编译UTF-8汇编代码首行报错:期望指令
问题:Windows 11下NASM编译汇编代码报"instruction expected"错误
在Windows 11系统中,无论是通过CMake生成的Visual Studio项目调用NASM编译汇编代码,还是直接在命令行执行nasm -f win64命令,都会出现相同的错误:
hello_world.asm:1: error: parser: instruction expected
当前使用的是32位Linux平台的汇编代码,具体内容如下:
section .text global _start ; необходимо для линкера (ld) _start: ; сообщает линкеру стартовую точку mov edx,len ; длина строки mov ecx,msg ; строка mov ebx,1 ; дескриптор файла (stdout) mov eax,4 ; номер системного вызова (sys_write) int 0x80 ; вызов ядра mov eax,1 ; номер системного вызова (sys_exit) int 0x80 ; вызов ядра section .data msg db 'Hello, world!', 0xa ; содержимое строки для вывода len equ $ - msg ; длина строки
我已经尝试切换所有可能的构建预设(Debug/Release/x86/x64等),但问题仍未解决。我的NASM版本为2.16.02rc6,但有其他程序员使用相同参数和版本编译该代码却能成功。甚至下面这段极简代码也会报出相同的错误:
section .text global main main: ret
内容的提问来源于stack exchange,提问作者DaniilV
相关产品推荐
相关产品推荐

