• 软考之汇编语言


        在软考学习过程中,会经常遇到,也是必考题。而且也是我们学习计算机技术的过程中,必须要掌握和理解的基础语言知识。

        什么是汇编语言?

          汇编语言是为特定的计算机设计的面向机器的符号化的程序设计语言。用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址。通常被应用在底层,硬件操作和高要求的程序优化的场合。驱动程序、嵌入式操作系统和实时运行程序都需要汇编语言。

        基本组成      

          汇编语言源程序主要由若干语句组成,主要的3类语句是:

            指令语句:机器指令语句,将其汇编后能产生相应的机器代码,这些代码被CPU直接识别并执行相应的操作。基本指令有:ADD、SUB、AND
            伪指令语句:指示汇编程序在汇编源程序时完成某些工作

            宏指令语句:多次重复使用程序段定义为宏,而宏指令是对宏的引用。

        汇编程序

          提到汇编语言,不得不说汇编程序,它是将用汇编语言编写的源程序翻译成机器指令程序。计算机一般不能直接识别汇编语言,但是经过汇编程序编译成机器指令之后即可识别。
          汇编程序一般需要两次扫描源程序才能完成翻译过程,第一次扫描时定义符号的值并创建一个符号表ST,记录汇编所遇到的符号值。第二次扫描是产生目标程序,将可执行的汇编语言翻译成对于的二进制代码机器指令。
          汇编语言的编译过程:
           词法分析:编译的第一个阶段,单词符号是基本语法单位
           语法分析:根据语法规则将单词符号序列分解成各类语法单位。

           词法和语法分析在本质上都是对源程序的结构进行分析

           语义分析:分析各语法结构的含义,检查源程序是否包含静态语义错误,并收集类型信息供后面的代码生成阶段使用。主要的一个工作是进行类型分析和检查
           只有语法和语义都正确的源程序才能翻译成正确的目标代码
           中间代码生成:根据语义分析的输出生成,与具体的机器无关。最常用的一种中间代码是与汇编语言的指令非常相似的三地址码,实现方式采用四元式
           语义分析和中间代码生成所依据的是语言的语义规则
          代码优化:可在中间代码阶段优化,也可在目标代码生成阶段进行。
             优化一般建立在对程序的控制流和数据流分析的基础之上,与具体的机器无关

          目标代码的生成:将中间代码变换成特定机器上的绝对指令代码、可重定位的指令代码或汇编指令代码

        

        小结:

          汇编语言的内容在软考中是经常遇到的,通过这几次的做题来看,这一块相对较差,出错率很高。尤其是涉及到编译过程中的一些分析,比如文法方面的知识。在这方面还需要加大努力,其实通过这次总结也会发现,这方面的内容并不是很难,相对来说都是概念性的知识,需要自己多看多总结。

       
  • 相关阅读:
    What is the difference between Serialization and Marshaling?
    IEEE Standard 754 for Binary Floating-Point Arithmetic
    没有单元测试,就很难有真正的积累。
    一般只用 20% 的代码就可以解决 80% 的问题。但要想解决剩下 20% 的问题的话,则需要额外 80% 的代码。
    为失败设计,大量引入对SRE的理解,鲁棒性高
    用git合并分支时,如何保持某些文件不被合并
    git 分支合并时如何忽略某个文件
    Golang拼接字符串的5种方法及其效率_Chrispink-CSDN博客_golang 字符串拼接效率 https://blog.csdn.net/m0_37422289/article/details/103362740
    Lua大量字符串拼接方式效率对比及原因分析
    干货 | 携程多语言平台-Shark系统的高可用演进之路
  • 原文地址:https://www.cnblogs.com/victor-grace/p/7253777.html
Copyright © 2020-2023  润新知