❶ 汇编语言的编译器是用什么语言写的,为什么
直接用指令码写出第一个汇编语言编译器,然后就可以用汇编语言写新的编译器,其实很多语言都可以写汇编编译器
比如第一个C语言编译器可能是用汇编写的,但是以后的C编译器都可以用C语言来写,神奇吧,哈哈
❷ win7下学习汇编语言,用什么编译器比较合适
win7有32位和64位之分:
1、如果是32位Win7,那么任意一个编译器都是可以的。
2、如果是64位Win7的话,那么很多编译器是无法正常运行的,必须选择支持64位系统的编译器。比如“汇编语言编译器 v1.2 64位_官方版”就可以。
❸ 求汇编语言编译器
微软的是MASM32套装,可以在Windows下使用。
NASM也是一个使用较多的汇编器,搜索“NASM"即可找到。但在Windows下使用一般要求搭配适当的连接器(连接程序Link),可以使用ALink等。
❹ 汇编语言编译器是怎么编写的
编译器自举!搜索这个关键字
程序都是编译器编译的。这个是肯定的
至于第一款X语言编译器是不是直接1010101010自己写的那就不知道啦
一般开发编译器的话。有两条路选择
1.利用yacc(或者其变种)&lex(词法分析)-等工具自己生成语法模板
词法语法都可以使用这些工具自己生成
然后自己编写生成的中间码和生成的机器码就可以了
一般做编译原理类似试验都是如此的。许多编译器也的确是这样
2.自己写词法分析和语法分析。可以参考一些开源的编译器
lcc-这个是ANSI C99标准的编译器是开源的
或者nasm,watcom等编译器到www.sf.net上不少开源的编译器
总的来说。高级语言编译器比较难写
如果想快速写出一个的话
可以采用第一种做法。利用工具生成语法词法模板
先写一个简单的汇编编译器比较简单
开源的有nasm,jwasm(支持masm语法开源的编译器)
http://www.japheth.de/JWasm.html
fasm(这款编译器是自举的.就是自己可以编译自己),
http://flatassembler.net/
剩下的就是自己做好语言规则关键字map
引用高手的话。语言map做好了你的编译器也做好一半了
剩下的都是机械性的工作了。
生成x86或者arm指令。
优化工作这个很难解释.根据你所需要的做吧
毕竟可以做出一个无错,又XX的编译器已经很难得
你可以选择使用现有的编译器开发自己的编译器
然后等到你的编译器支持相当数量指令和成熟度的时候
使用自己的语法重新写一遍编译器.
这样你就可以用自己的编译器开发自己的编译器了(是不是很邪恶?)
另外举几个例子
Delphi的编译器是C++ Builder开发的。
而C++ Builder的IDE是Delphi开发的
C++ Builder的编译器是C++ Builder开发的-这个就是编译器自举了。。Delphi和C++ Builder共享一个后端化优化器。
Delphi 早期的版本的编译器是tasm直接编译的。可见Anders的汇编功力多强悍(Anders也就是后来VJ++,C#,.NET工程的核心架构师.最关键的灵魂级人物)
VC++的编译器是VC++开发的。很明显这都说明了编译器自举
自己开发自己。如果一个编译器可以做到自己编译自己。那基本上就可以实现任何功能了。
关于编译器开发的书籍可以看一下
龙书《编译原理(第二版)》
虎书《现代编译原理-C语言描述》
鲸书《高级编译器设计与实现》
建议从鲸书看起。然后是龙书
再来是虎书--虎书里面描述了许多现代编译器(正如其名)技术
例如面向对象啦,优化,垃圾回收等等.
鲸书看完基本上就可以实现一个简单的Tiny C编译器了
然后在龙书巩固,读一下语言规范,自己看一些开源的汇编编译器代码
自己就可以尝试做一个汇编语言编译器了.等到技术提高了
在尝试做一些高级语法识别,参考LCC代码做一下ANSI C99的
C语言编译器。再来就看你自己的兴趣和领悟度拉
如果想支持C++的话就得要对编译器做许多方便的研究
类似Java那种跨平台或者Ruby,Python等动态语言
虎书中也有描述。当然看自己功力了
❺ 汇编语言编译器是怎么来的
第一个软件,显然是用机器语言写的。
当用机器语言写成了文字处理软件,才能用屏幕、键盘打字。
当用机器语言写成了编译软件,才能把打好的字,编译成机器码。
❻ 汇编编译器,
如果你只是为了学习的话,推荐试试 em8086.
调试本身推荐试试 turbo debugger
汇编语言就是这样的,并不是为了方便学习而设计的。
❼ 用什么样的汇编语言编译器好
学习时,建议不要使用别人做好的集成环境,而是使用单独的汇编、连接和调试工具。
因为,汇编语言一般不是个人所学的第一门程序设计语言。使用单独的汇编工具,有助于更清楚地了解语言程序的处理生成过程,更灵活地使用命令选项。这对达到学习汇编语言的学习目的---->更深入地了解计算机系统,有很大的帮助。
我推荐使用TASM 5.0
它全兼容MASM 6,且有所增强,甚至可以在一定程度上支持面向对象技术。
它最大的优势是所配的调试程序:Turbo Debugger,功能强大,界面友好,易学易用,非常非常的棒。
如果你是在32位的操作系统如XP、WIN7等里面用它,需要将TD的工作方式设成WIN 95兼容模式运行。
如果是在64位的系统中使用,则必须要安装一个DOSBox ,在它提供的纯DOS环境中运行。
至于汇编源程序的编辑器,可以使用的工具有很多选择,比如UltraEdit就很不错。
❽ 各个汇编语言编译器有什么区别
汇编语言源程序需要经过汇编生成目标程序,这个过程由一个叫“汇编程序”的来实现(注意区分汇编语言源程序和汇编程序的区别)。。
现在也有集成开发环境的,直接去搜汇编ide。