当前位置:首页 » 编程软件 » 64的汇编编译器

64的汇编编译器

发布时间: 2024-11-20 07:05:43

‘壹’ 汇编有哪些软件

汇编编程常用的软件有多种,以下是一些主要的选项:

1. **MASM(Microsoft Macro Assembler)**:这是微软官方开发的汇编语言编译器,支持多种指令集架构,包括x86和x64。MASM拥有可视化的开发界面,编译速度快,且支持Win32Asm等特性,是Windows下开发汇编程序的利器。它提供了丰富的宏功能和调试工具,适合初学者和专业人士使用。

2. **NASM(Netwide Assembler)**:NASM是一款功能强大且免费的汇编器,支持多种操作系统平台,包括Windows、Linux和macOS。其设计初衷是为了实现编译器程序的跨平台和模块化特性。NASM的语法简洁明了,易于学习和使用,广泛应用于跨平台和嵌入式系统的汇编语言编程中。

3. **TASM(Turbo Assembler)**:TASM是Borland公司开发的汇编编译器,虽然它最初是为DOS环境设计的,但至今仍在某些老式系统和兼容性测试中保有一席之地。TASM支持多种指令集,包括Intel x86和Pentium处理器系列,具有编译快速和用户友好的特点。

4. **FASM(Flat Assembler)**:FASM是一款自由且功能强大的汇编器,以其尽可能简化汇编语言编程的设计理念而着称。它支持多种输出格式,并允许访问高级编程特性,具有编译速度快和自包含等特点。

5. **GAS(GNU Assembler)**:GAS是GNU工具链中的一部分,是GNU计划所使用的汇编器,支持多种计算机体系结构,如x86、ARM和MIPS。它是开源的,并且具有丰富的文档和社区支持。

此外,还有一些其他汇编编程软件,如RadASM等,它们也各有特色,适用于不同的开发场景和需求。在选择汇编编程软件时,需要考虑目标平台、指令集支持、编程环境以及个人偏好等因素。

‘贰’ 如何在64位的Linux系统上使用汇编和C语言混合编程 第2页

编译和链接的时候使用的指令:(AMD处理器,64位操作系统)
编译链接指令
1 nasm -f elf foo.s -o foo.o
2 gcc -c bar.c -o bar.o
3 ld -s -o foobar bar.o foo.o
汇编语言用nasm编写并用nasm编译器编译,而C语言用的是gcc编译,这些都没有问题,但是在链接的时候出错了,提示如下:
ld: i386 architecture of input file `foo.o' is incompatible with i386:x86-64 output
google了一下,意思就是nasm 编译产生的是32位的目标代码,gcc 在64位平台上默认产生的是64位的目标代码,这两者在链接的时候出错,gcc在64位平台上默认以64位的方式链接。
这样在解决的时候就会有两种解决方案:
<1> 让gcc 产生32位的代码,并在链接的时候以32位的方式进行链接
在这种情况下只需要修改编译和链接指令即可,具体如下:
32位的编译链接指令
1 nasm -f elf foo.s -o foo.o
2 gcc -m32 -c bar.c -o bar.o
3 ld -m elf_i386 -s -o foobar foo.o bar.o
具体的-m32 和 -m elf_i386 请自行查阅gcc (man gcc)

如果你是高版本的gcc(可能是由于更新内核造成的),可能简单的使用-m32 的时候会提示以下错误(使用别人的历程,自己未曾遇到):
> In file included from /usr/include/stdio.h:28:0,
> from test.c:1:
> /usr/include/features.h:323:26: fatal error: bits/predefs.h: No such file or directory
> compilation terminated.
这应该是缺少构建32 位可执行程序缺少的包,使用以下指令安装:
sudo apt-get install libc6-dev-i386
此时应该就没有什么问题了。

‘叁’ 64位系统的汇编用什么编译器呢 64位系统的DD,DW,DB占几个字节呢

用DOS DEBUG试试,DEBUG模拟的是16位,XP是32位。64位操作系统应该也一样。
你可以写段代码测试不同类型占字节
datasg segment
dd ffaabbcc,0,0,0
dw ffaa,0,0,0,0,0,0,0
db,ff,0,0,0,0,0,0,0,0,0,0,0,0,0,0
datasg ends

‘肆’ 汇编语言编译器有哪些

汇编语言编译器有多种,其中包括MASM、NASM、TASM、FASM和GAS等。

首先,MASM是微软开发的一款汇编语言编译器,它支持x86架构的计算机,并提供完整的x86指令集。MASM具有强大的功能,如宏定义、条件编译和模块化编程,使得程序员能够直接访问处理器寄存器和系统资源。此外,MASM可以与集成开发环境如Visual Studio进行集成,提高开发效率。

其次,NASM是一款跨平台的汇编语言编译器,支持多种操作系统,如Windows、Linux和macOS。NASM的设计初衷是为了实现编译器的跨平台和模块化特性,它支持80x86和x86-64平台的汇编语言编译,并可以生成可执行文件、目标文件和动态链接库。

另外,TASM是Borland公司开发的一款汇编语言编译器,被广泛用于Turbo C和Quick Basic等编译器中作为中间过渡编译。TASM能够独立编译纯汇编或Win32Asm的代码,具有编译快速、高效的特点。然而,与MASM相比,TASM的升级频率较低。

此外,FASM是一款极小体积的汇编语言编译器,支持多种操作系统和处理器架构。FASM可以生成可执行文件、目标文件和动态链接库,并且具有快速的编译速度。

最后,GAS是由GNU计划所使用的汇编器,它是一款自由软件,可以用于多种处理器架构的汇编语言编译。

总的来说,这些汇编语言编译器各有特点,适用于不同的编程需求和操作系统环境。程序员可以根据自己的需求选择适合的编译器进行汇编语言程序的开发。

热点内容
安卓手机用什么软件防止别人蹭网 发布:2024-11-20 09:37:18 浏览:837
顶级asmr助眠解压赫敏 发布:2024-11-20 09:36:34 浏览:427
帝瓦雷算法 发布:2024-11-20 09:16:11 浏览:51
怎么查看一个ip地址服务器关闭 发布:2024-11-20 09:12:26 浏览:442
金钻文件夹加密大师是啥 发布:2024-11-20 09:01:22 浏览:881
苹果看手机配置怎么看 发布:2024-11-20 09:01:15 浏览:998
mysql慢sql语句 发布:2024-11-20 09:01:14 浏览:312
电脑搭建虚拟中文服务器 发布:2024-11-20 08:58:57 浏览:525
python服务器搭建 发布:2024-11-20 08:54:56 浏览:104
文件夹标绿 发布:2024-11-20 08:54:02 浏览:816