对汇编语言基于X86处理器书中知识点的整理,可能会有自己的理解,后续也可能会有作业代码。
汇编器和链接器
汇编语言和机器语言的关系
高级语言和汇编语言的关系
什么是可移植语言
汇编语言的应用场景
汇编器和链接器
汇编器是一种工具程序,用于将汇编语言源程序转换为机器语言。
链接器的作用是将汇编器生成的单个文件组合为一个可执文件。
调试器是在程序运行状态下单步执行并检查寄存器和内存状态的工具。现在常用的调试器有OD,X64(x96)DBG(可以调试64位程序),DtDebug(一种可以调试VT的调试器)。
汇编语言和机器语言的关系
机器语言是一种能被计算机CPU理解并处理的机器语言。所有X86处理器都能理解共同的机器语言。
汇编语言与机器语言是一对一的关系,每一条汇编指令都.对应一条机器语言指令。
高级语言与汇编语言的关系
C++,JAVA,Python与汇编语言和机器语言的关系是一对多的关
系。即一条高级语言指令对应多条汇编语言。
语言的可移植性
一种语言,如果它的源程序能够在各种各样的计算机系统中进行编译和运行,我们说这种语言是可移植的。
汇编语言是一种规格较少的语言,但是由于他是以目标处理器及其机器语言的物理局限性为基础的语言,所以他是一种不可移植的语言。C++是一种移植性差的语言,JAVA和Python是可移植的语言。
汇编语言的应用场景及与高级语言的比较
应用类型 | 高级语言 | 汇编语言 |
---|---|---|
商业或科学应用程序,为单一的中型或大型平台编写 | 规范结构使其易于组织和维护大量代码 | 最小规范结构 ,因此必须有具由不同程度经验的程序员来维护结构。这导致对已有代码的维护困难 |
硬件设备驱动程序 | 语言不一定提供对硬件的直接访问。即使提供了,可能也需要难以控制的编码技术,这导致维护困难 | 对硬件的访问直接且解单。当程序较短且文档良好时易于维护 |
为不同的操作系统编写商业或科学应用程序 | 通常可移植。在每个目标操作系统上,源程序只做少量修改就能重新编译 | 需要为每个平台单独重新编写代码,每个汇编器都使用不同的语法。维护困难 |
需要直接访问硬件的嵌入式系统和电脑游戏 | 可能生成很大的可执行文件,以至于超出设备的内存容量 | 可执行代码小,运行速度快 |
来源:CSDN
作者:我是暖风啊
链接:https://blog.csdn.net/oNuanFeng/article/details/103533480