汇编编译器,汇编一般用什么编译器并给个输出HelloWorld的汇编代码
来源:整理 编辑:智能门户 2023-08-27 23:02:54
本文目录一览
1,汇编一般用什么编译器并给个输出HelloWorld的汇编代码

2,学汇编用什么编译器比较好呀

3,推荐一个好用的汇编编译器
nasm免费开源软件,在Linux和windows下都可以用,支持16位和32位汇编
4,汇编语言用什么编译器
汇编语言源程序需要经过汇编生成目标程序,这个过程由一个叫“汇编程序”的来实现(注意区分汇编语言源程序和汇编程序的区别)。。
现在也有集成开发环境的,直接去搜汇编IDE。
5,汇编器和编译器有什么区别
汇编器(Assembler)是将汇编语言翻译为机器语言的程序。一般而言,汇编生成的是目标代码,需要经链接器(Linker)生成可执行代码才可以执行。 汇编语言是一种以处理器指令系统为基础的低级语言,采用助记符表达指令操作码,采用标识符表示指令操作数。作为一门语言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。常用的高级语言编译器有Microsoft公司的MASM系列和Borland公司的TASM系列编译器,还有一些小公司推出的或者免费的汇编软件包等。 编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器(Linker) → 可执行程序 (executables)高级计算机语言便于人编写,阅读交流,维护。机器语言是计算机能直接解读、运行的。编译器将汇编或高级计算机语言源程序(Source program)作为输入,翻译成目标语言(Target language)机器代码的等价程序。源代码一般为高级语言 (High-level language), 如Pascal、C、C++、Java、汉语编程等或汇编语言,而目标则是机器语言的目标代码(Object code),有时也称作机器代码(Machine code)。对于C#、VB等高级语言而言,此时编译器完成的功能是把源码(SourceCode)编译成通用中间语言(MSIL/CIL)的字节码(ByteCode)。最后运行的时候通过通用语言运行库的转换,编程最终可以被CPU直接计算的机器码(NativeCode)汇编器(比如MASM)全称是汇编编译器,用来编译汇编语言的。汇编语言的大部分命令都和机器码一一对应,而高级语言和汇编的伪指令是不和机器码一一对应的 ,因此从某种意义上说,汇编码就相当于机器码。 编译器的作用是,将源文件(.c/.cpp/.pas等)转换为目标代码(.obj/.dcu等)。这是已经是二进制代码了。 最后由连接器(Linker),将目标代码连接起来,这样就形成了可执行文件汇编器是编译器的一种编译器就是把各种编程语言编写的程序源代码翻译成cpu指令的一组程序.汇编器就是汇编语言的编译器可以理解为,编译器先把源文件转换成汇编文件,再调用汇编器和连接器生成可执行文件汇编和编译是两个完全不同的概念.汇编是指用汇编语言直接操纵机器,用汇编语言编的程序是不需要编译器进行编译的编译是指把高级语言编的程序翻译成机器语言好让机器执行,不同的高级语言有不同的编译器楼主可以看看>和>这两本书就明白了
6,汇编语言编译器是怎么编写的
编译器自举!搜索这个关键字
程序都是编译器编译的。这个是肯定的
至于第一款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等动态语言
虎书中也有描述。当然看自己功力了
文章TAG:
汇编 编译 编译器 一般 汇编编译器
大家都在看
-
自动售蛋机价格,自动售货机多少钱?一般情况下价格都差不多
2022-12-19
-
自动机械表可以戴着跑步吗,戴运动手表跑步健身
2022-12-20
-
佳能m3设置自动对焦,佳能80d自动对焦模式设置如何进行?
2023-01-04
-
lg v30 自动拍照模式,lgv30怎么玩?
2023-01-08
-
不让百度影棒自动升级,电视上出现百度影棒故障怎么办?
2023-01-10
-
为什么闹钟会自动关闭,为什么不关闭闹钟?原来是这样
2023-01-26
-
自动登陆,登陆网站须注意什么?
2023-02-07
-
小米6 自动拍,如何使用手机拍照?
2023-02-08
-
支付宝怎么样自动提现,如何珍惜赏金提现?
2023-02-09
-
暴风影音字幕自动,怎么用暴风影音?看这里!
2023-03-05
-
科学小实验自动饮水机,用装满水的瓶子做一个自动饮水机
2023-03-05
-
江苏闪派智能科技怎么样,江苏科技大学的电子信息工程怎样
2023-04-01
-
智能科技花洒怎么用,多功能自动储水式电热淋浴器怎样洗澡
2023-04-14
-
元界智能科技是干什么的,智业科技主要是做什么的
2023-04-18
-
实现办公自动化,办公自动化具体都包括那些内容
2023-05-10