10分钟看懂汇编程序

作者: 林檎果 | 来源:发表于2018-03-26 13:56 被阅读33次

    ISA指令集是由0和1组成的机器语言,难以记忆和阅读,因此人们发明汇编程序帮助记忆。

    汇编基本算是和机器指令一一对应的关系,可以认为是给机器指令的每个部分分别起了别名。

    一、汇编程序的组成

    1. 操作码和操作数:
      操作码如ADD表示bit[15:12]=0001,AND表示bit[15:12]=0101,操作数R0表示编号为0的寄存器。

    2. 标号:
      指向内存单元的一个符号名,有两种用途,一种用于跳转命令跳转的地址,另一种用于读取或存储指令时访问的内存位置

    3. 注释:
      以";"开头的字符串,只给人阅读的,汇编翻译程序会忽略

    另外,汇编器还定义了一些伪操作,可以让程序员指导汇编编译器的翻译过程。
    比如ORIG表示程序起始位置,FILL表示占用这个命令的下一个地址。



    二、汇编过程

    汇编编译器会做一个两遍扫描的操作。

    1. 先读一遍汇编程序,找出前面提到的汇编的标号,做出一张符号表把标号和内存地址一一对应。
    2. 再真正翻译汇编程序成机器指令,遇到标号则通过上一步生成的符号表转化为对应内存地址。

    汇编程序文件通常以".asm"结尾,编译后的结果是".obj"结尾的文件,有的汇编编译器还会生成".sym"表示符号表。

    关于我:

    linxinzhe,全栈工程师,目前供职于某500强通信企业,人工智能,区块链爱好者。

    GitHub:https://github.com/linxinzhe

    欢迎留言讨论,也欢迎关注我~
    我也会关注你的哦!

    相关文章

      网友评论

        本文标题:10分钟看懂汇编程序

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