美文网首页
汇编语言

汇编语言

作者: Alex_1799 | 来源:发表于2018-04-27 13:30 被阅读0次

1.一般的编译器,是先将高级语言转换成汇编语言(中间代码),然后在汇编的基础上优化生成OBJ目标代码,最后Link成可执行文件。

2.高级语言为什么不直接编译成机器码,而编译成汇编代码?

1)其中有一个好处是方便优化和调试,因为编译器也是工具,也是机器,毕竟是机器生成的程序,不可以非常完美的,而汇编是机器指令的助记 符,一个汇编指令就对应一条机器指令(特殊指令除外),调试起来肯定会比机器指令方便的方便,这样优化起来也方便。

2)高级语言只需要编译成汇编代码就可以了,汇编代码到机器码的转换是由硬件实现即可,有必要用软件实现这样分层可以有效地减弱编译器编写的复杂性,提高了效率.就像网络通 讯的实现需要分成很多层一样,主要目的就是为了从人脑可分析的粒度来减弱复杂性。

3)如果把高级语言的源代码直接编译成机器码的话,那要做高级语言到机器码之间的映射,如果这样做的话,每个写编译器的都必须熟练机 器码。这个不是在做重复劳动么?

汇编需要是直接操作cpu的一种底层语言,可以查一下BIOS的组成,会发现除了逻辑电路之类的组件之外就是汇编语言最底层了。高级语言也都是通过编译器翻译成汇编语言,进而转化成机器指令才得以运行的。高级语言处于比较顶层的位置。

论速度来说,汇编语言使用的是可以直接操作cpu的指令,同时可以直接对内存进行操作。汇编语言的运行速度和编译速度都快于高级语言,楼主也可以使用反汇编查看一下自己写的代码被编译器翻译的汇编代码。

论简易程度,高级语言比较易于编写。往往一条高级语言都会对应一条甚至多条汇编代码。所以汇编通常适合在局部代码中进行运行速度的优化,这就是所谓的内联汇编。指的是汇编和高级语言交替使用。

汇编用在一些对运行速度有追求的地方,也可以用在破解上。

另外汇编分为好多种。不同的cpu通常有不同的汇编语言对应。

相关文章

  • 汇编语言探索(一)

    · 汇编语言 汇编语言的意义:汇编语言的产生是为了取代麻烦的机器语言。汇编语言的组成:有以下3类指令组成(汇编语言...

  • 2018-01-26

    计算机汇编语言 汇编语言(AssemblyLanguage) 是面向机器的设...

  • 汇编语言 学习笔记(三)

    汇编语言学习笔记 四、汇编语言程序格式 语句基本格式 汇编语言程序中的语句由 4 项组成,格式如下: 名字(nam...

  • 汇编语言

    汇编语言

  • 汇编语言之基础

    本系列为学习<汇编语言> 王爽版 的学习笔记 [TOC] 汇编语言是什么? 汇编语言是直接在硬件之上工作的编程语言...

  • 逆向 - 汇编 - 第一天

    reference 汇编语言与机器语言 高级语言 --(编译)-->汇编语言 --(编译)-->机器语言---->...

  • 逆向学习--汇编语言一

    一. 汇编语言 1. 汇编语言,用符号代替机器语言的,也被称为符号语言。在汇编语言中,用助记符(Mnemonic...

  • 使用系统汇编调用防止调试

    汇编语言防护

  • iOS逆向之初识别汇编

    汇编语言是使用助记符代替机器语言。 汇编语言的种类,目前讨论比较多的汇编语言有 • 8086汇编(8086处理器是...

  • 汇编入门一

    汇编语言与其它语言的关系 汇编语言的特点 对于不同型号的计算机,有着不同的结构的汇编语言,汇编指令是机器指令的助记...

网友评论

      本文标题:汇编语言

      本文链接:https://www.haomeiwen.com/subject/vcmblftx.html