汇编总结(一)

汇编的定位

高级语言编译过程

通俗理解:汇编语言是高级语言与机器语言之间的语言,所有的高级语言在运行在终端设备上之前,都要先编译成汇编语言,汇编语言再编译成机器语言,最终运行在终端设备上。

汇编语言是一种低级语言,也成为符号语言,在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。

汇编的特点

1.汇编是直接面向处理器的程序设计语言。处理器是在指令的控制下工作的,处理器可以识别的每一条指令称为机器指令。每一种处理器都有自己可以识别的一整套指令,称为指令集

2.汇编语言的操作的对象不是具体的数据,而是寄存器或者存储器,也就是说它是直接和寄存器和存储器打交道,这也是为什么汇编语言的执行速度要比其它语言快,但同时这也使编程更加复杂。

3.汇编语言指令是机器指令的一种符号表示,而不同类型的CPU 有不同的机器指令系统,也就有不同的汇编语言,所以,汇编语言程序与机器有着密切的关系。

汇编语言的种类

8086汇编(8086处理器是16bit的CPU)

Win32汇编

Win64汇编

ARM汇编(嵌入式、Mac、iOS)

注:我们iPhone里面用到的是ARM汇编,但是不同的设备也有差异.因CPU的架构不同.

开始学习,建议从8086开始学习,Intel 8086是一个由Intel于1978年所设计的16位微处理器芯片,是x86架构的鼻祖,非常经典。

必要常识

APP/程序的执行过程

程序执行过程

CPU总线

总线:一根根导线的集合,每个CPU芯片都有许多管脚,这些管脚和总线相连,CPU通过总线跟外部器件进行交互。


CPU

总线的分类

地址总线、数据总线、控制总线

地址总线

决定了CPU的寻址能力,8086的寻址能力是20,寻址能力是 2 ^ 20 = 1024 * 1024 = 1024 * 1KB = 1M。

数据总线

决定了CPU单次数据传输量,也就是传输速度,8086的数据总线宽度是16,所以单次最大传输2个字节的数据。(1根线1bit,8bit = 1字节,8根线一个字节,16根线2个字节)。

8088的数据总线宽度是8,8086的数据总线宽度是16,分别向内存中写入89D8H如下

控制总线

它的宽度决定了CPU对其他器件的控制能力、能有多少种控制。

注意:这里是16进制,后方的H是单词Hexadecimal的意思


8088


8086

寄存器


CPU的典型构成

对程序员来说,CPU中最主要部件是寄存器,可以通过改变寄存器的内容来实现对CPU的控制

不同的CPU,寄存器的个数、结构是不相同的(8086是16位结构的CPU,8086有14个寄存器,都是16位)

通常,CPU会先将内存中的数据存储到通用寄存器中,然后再对通用寄存器中的数据进行运算

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 8086汇编 本笔记是笔者观看小甲鱼老师(鱼C论坛)《零基础入门学习汇编语言》系列视频的笔记,在此感谢他和像他一样...
    Gibbs基阅读 37,550评论 8 114
  • 汇编总结 汇编的发展史 机械语言 由0和1组成的机器指令(如:0101 0001 1101 0110) 汇编语言(...
    iChuck阅读 1,345评论 1 8
  • 越底层越单纯!真正的程序员都需要了解的一门非常重要的语言,汇编! 机器语言 我们所写的语言最终安装在机器上的是什么...
    瑞阳gg阅读 645评论 0 0
  • 王爽汇编全书知识点大纲 第一章 基础知识 机器语言 汇编语言的产生 汇编语言的组成 存储器 cpu对存储器的读写 ...
    2c3ba901516f阅读 2,469评论 0 1
  • 如人饮水,冷暖自知 其实就想写八个字,怕你们说我敷衍 很多都是我写给自己看的,你们不一定懂。怪我喽 收到赖赖寄的成...
    小黄丫阅读 101评论 0 0