Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 用于系统编程的x64汇编程序_Assembly - Fatal编程技术网

Assembly 用于系统编程的x64汇编程序

Assembly 用于系统编程的x64汇编程序,assembly,Assembly,我想做系统编程,我需要组装一些我要做的东西。问题是,我找不到64位计算机的汇编程序。我试过TASM和NASM。使用TASM,它不允许我组装任何东西,而使用NASM,生成的可执行文件表示它与我的计算机不兼容。还有其他我可以使用的汇编程序吗?(我不想使用需要AT&T语法的语法)如果您运行的是windows,Visual Studio Express(免费)包括64位汇编程序ml64.exe。调用ml64.exe需要一个自定义的构建步骤,我想您第一次尝试此操作时会得到提示,但我是手动创建此步骤的。我首

我想做系统编程,我需要组装一些我要做的东西。问题是,我找不到64位计算机的汇编程序。我试过TASM和NASM。使用TASM,它不允许我组装任何东西,而使用NASM,生成的可执行文件表示它与我的计算机不兼容。还有其他我可以使用的汇编程序吗?(我不想使用需要AT&T语法的语法)

如果您运行的是windows,Visual Studio Express(免费)包括64位汇编程序ml64.exe。调用ml64.exe需要一个自定义的构建步骤,我想您第一次尝试此操作时会得到提示,但我是手动创建此步骤的。我首先创建一个空项目,然后选择project、properties、configuration manager、,并选择x64以生成64位可执行文件。对于自定义生成步骤

对于调试生成:

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、,并选择x64以生成64位可执行文件。对于自定义生成步骤

对于调试生成:

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、,并选择x64以生成64位可执行文件。对于自定义生成步骤

对于调试生成:

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、,并选择x64以生成64位可执行文件。对于自定义生成步骤

对于调试生成:

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和<