自己动手构造编译系统:编译、汇编与链接2.4 汇编程序的设计

简介:

2.4  汇编程序的设计

  


   通过对汇编器已有的了解,可以发现汇编器和编译器的实现非常相似。编译器是将高级语言翻译为汇编


言的转换程序,汇编器则是将汇编语言翻译为目标机器二进制代码的转换程序。汇编器实际就是汇编语


的“编译器”,虽然汇编语言并非高级语言。


  汇编器也包含词法分析、语法分析、语义处理、代码生成四个基本流程。但前面讨论过,本书设计的


编器面向编译器所生成的汇编代码,汇编代码的正确性由编译器保证,因此汇编器不需要进行错误检查


义的正确性检查。本书设计的汇编器结构如图2-12所示。

  


相比于编译器,汇编器的工作重点放在目标文件信息的收集和二进制指令的生成上。下面分别介绍汇编器


的基本模块。


 

图2-12  汇编器结构

相关文章
|
6月前
|
存储 自然语言处理 编译器
编译和链接(翻译环境:预编译+编译+汇编+链接​、运行环境)
编译和链接(翻译环境:预编译+编译+汇编+链接​、运行环境)
加快软盘操作速度的汇编程序源代码
加快软盘操作速度的汇编程序源代码
|
3月前
51单片机用汇编语言实现独立按键检测,每个按键有不同功能,包含按键消抖程序
51单片机用汇编语言实现独立按键检测,每个按键有不同功能,包含按键消抖程序
|
3月前
|
程序员 编译器 数据处理
汇编高手秘籍:解锁性能优化新境界,用汇编语言让你的程序飞起来!
【8月更文挑战第31天】汇编语言作为编程基石,其高效性能备受推崇。尽管现代软件开发更偏爱高级语言,但在性能要求极高的场景下,汇编优化仍不可或缺。本文通过示例代码介绍四种优化技巧:循环展开、寄存器分配、指令重排及SIMD指令使用,显著提升执行效率。同时强调分析性能瓶颈、测试优化效果及保持代码可读性的重要性,助力开发者在关键代码路径上实现性能突破。
72 0
8086 汇编笔记(五):包含多个段的程序
8086 汇编笔记(五):包含多个段的程序
|
6月前
|
编译器 开发者 C++
8086 汇编笔记(三):第一个程序
8086 汇编笔记(三):第一个程序
|
5月前
|
C语言
程序技术好文:部分ARM汇编指令解读
程序技术好文:部分ARM汇编指令解读
|
6月前
|
存储 编译器
C51汇编程序
C51汇编程序
56 5
|
6月前
|
存储 缓存 Linux
C语言编译过程——预处理、编译汇编和链接详解
C语言编译过程——预处理、编译汇编和链接详解
|
存储 Java C++
汇编语言、寄存器分类及程序计数器
汇编语言、寄存器分类及程序计数器
144 0
下一篇
无影云桌面