Assembly 用于系统编程的x64汇编程序
我想做系统编程,我需要组装一些我要做的东西。问题是,我找不到64位计算机的汇编程序。我试过TASM和NASM。使用TASM,它不允许我组装任何东西,而使用NASM,生成的可执行文件表示它与我的计算机不兼容。还有其他我可以使用的汇编程序吗?(我不想使用需要AT&T语法的语法)如果您运行的是windows,Visual Studio Express(免费)包括64位汇编程序ml64.exe。调用ml64.exe需要一个自定义的构建步骤,我想您第一次尝试此操作时会得到提示,但我是手动创建此步骤的。我首先创建一个空项目,然后选择project、properties、configuration manager、Assembly 用于系统编程的x64汇编程序,assembly,Assembly,我想做系统编程,我需要组装一些我要做的东西。问题是,我找不到64位计算机的汇编程序。我试过TASM和NASM。使用TASM,它不允许我组装任何东西,而使用NASM,生成的可执行文件表示它与我的计算机不兼容。还有其他我可以使用的汇编程序吗?(我不想使用需要AT&T语法的语法)如果您运行的是windows,Visual Studio Express(免费)包括64位汇编程序ml64.exe。调用ml64.exe需要一个自定义的构建步骤,我想您第一次尝试此操作时会得到提示,但我是手动创建此步骤的。我首
Command Line:
ml64 /c /Zi /Fo$(OutDir)\example.obj example.asm
Outputs:
$(OutDir)\example.obj
对于发布版本:
Command Line:
ml64 /c /Fo$(OutDir)\example.obj example.asm
Outputs:
$(OutDir)\example.obj
如果您运行的是windows,则Visual Studio Express(免费)包含64位汇编程序ml64.exe。调用ml64.exe需要一个自定义的构建步骤,我想您第一次尝试此操作时会得到提示,但我是手动创建此步骤的。我首先创建一个空项目,然后选择project、properties、configuration manager、
Command Line:
ml64 /c /Zi /Fo$(OutDir)\example.obj example.asm
Outputs:
$(OutDir)\example.obj
对于发布版本:
Command Line:
ml64 /c /Fo$(OutDir)\example.obj example.asm
Outputs:
$(OutDir)\example.obj
如果您运行的是windows,则Visual Studio Express(免费)包含64位汇编程序ml64.exe。调用ml64.exe需要一个自定义的构建步骤,我想您第一次尝试此操作时会得到提示,但我是手动创建此步骤的。我首先创建一个空项目,然后选择project、properties、configuration manager、
Command Line:
ml64 /c /Zi /Fo$(OutDir)\example.obj example.asm
Outputs:
$(OutDir)\example.obj
对于发布版本:
Command Line:
ml64 /c /Fo$(OutDir)\example.obj example.asm
Outputs:
$(OutDir)\example.obj
如果您运行的是windows,则Visual Studio Express(免费)包含64位汇编程序ml64.exe。调用ml64.exe需要一个自定义的构建步骤,我想您第一次尝试此操作时会得到提示,但我是手动创建此步骤的。我首先创建一个空项目,然后选择project、properties、configuration manager、
Command Line:
ml64 /c /Zi /Fo$(OutDir)\example.obj example.asm
Outputs:
$(OutDir)\example.obj
对于发布版本:
Command Line:
ml64 /c /Fo$(OutDir)\example.obj example.asm
Outputs:
$(OutDir)\example.obj
如果您使用的是Linux x86_64
$ nasm -f elf -g -F stabs FOO.asm
$ ld -o FOO FOO.o -melf_i386
生成可在32位或64位计算机上运行的32位文件。$
是Linux操作系统“bash”控制台的命令行提示符。(FOO是一个示例文件名)
再次为Linux操作系统生成64位可执行文件。微软视窗将使用另一种方式
例如,用win32或win64等命令代替elf或elf64
$nasm -hf
会给你更多的信息。
对不起,我15年前就抛弃了Windows for Linux。
我自己只是一个装配初学者,所以这是我能提供的全部。希望对您有所帮助。如果您使用的是Linux x86\u 64
$ nasm -f elf -g -F stabs FOO.asm
$ ld -o FOO FOO.o -melf_i386
生成可在32位或64位计算机上运行的32位文件。$
是Linux操作系统“bash”控制台的命令行提示符。(FOO是一个示例文件名)
再次为Linux操作系统生成64位可执行文件。微软视窗将使用另一种方式
例如,用win32或win64等命令代替elf或elf64
$nasm -hf
会给你更多的信息。
对不起,我15年前就抛弃了Windows for Linux。
我自己只是一个装配初学者,所以这是我能提供的全部。希望对您有所帮助。如果您使用的是Linux x86\u 64
$ nasm -f elf -g -F stabs FOO.asm
$ ld -o FOO FOO.o -melf_i386
生成可在32位或64位计算机上运行的32位文件。$
是Linux操作系统“bash”控制台的命令行提示符。(FOO是一个示例文件名)
再次为Linux操作系统生成64位可执行文件。微软视窗将使用另一种方式
例如,用win32或win64等命令代替elf或elf64
$nasm -hf
会给你更多的信息。
对不起,我15年前就抛弃了Windows for Linux。
我自己只是一个装配初学者,所以这是我能提供的全部。希望对您有所帮助。如果您使用的是Linux x86\u 64
$ nasm -f elf -g -F stabs FOO.asm
$ ld -o FOO FOO.o -melf_i386
生成可在32位或64位计算机上运行的32位文件。$
是Linux操作系统“bash”控制台的命令行提示符。(FOO是一个示例文件名)
再次为Linux操作系统生成64位可执行文件。微软视窗将使用另一种方式
例如,用win32或win64等命令代替elf或elf64
$nasm -hf
会给你更多的信息。
对不起,我15年前就抛弃了Windows for Linux。
我自己只是一个装配初学者,所以这是我能提供的全部。希望有帮助。GNU汇编程序也提供使用英特尔语法。您可能想看看
nasm
是否可以正常工作,您做错了什么。我猜您使用了错误的输出格式或忘记链接…还有。对于x86_64,yasm
和nasm
以及as
(gas)都可以正常工作。确保编译的架构正确。GNU汇编程序也提供使用英特尔语法。您可能想看看nasm
是否可以正常工作,您做错了什么。我猜您使用了错误的输出格式或忘记链接…还有。对于x86_64,yasm
和nasm
以及as
(gas)都可以正常工作。确保编译的架构正确。GNU汇编程序也提供使用英特尔语法。您可能想看看nasm
是否可以正常工作,您做错了什么。我猜您使用了错误的输出格式或忘记链接…还有。对于x86_64,yasm
和nasm
以及as
(gas)都可以正常工作。确保编译的架构正确。GNU汇编程序也提供使用英特尔语法。您可能想看看nasm
是否可以正常工作,您做错了什么。我猜您使用了错误的输出格式或忘记链接…还有。yasm和<