汇编笔记

汇编定义

汇编大多数是指 ** 汇编语言 , 汇编程序 。把机器语言翻译成机器语言**的过程称为汇编。


高级语言与计算机交互

汇编笔记_第1张图片
91FEEFE7-BCB9-4AA8-B9CC-57713B731A8B.png
  • 汇编语言机器语言一一对应,每一条机器指令都有与之对应的汇编指令
  • 汇编语言可以通过编译得到机器语言机器语言可以通过反汇编得到汇编语言
  • 高级语言可以通过编译得到汇编语言、机器语言,但汇编和机器语言几乎无法还原成高级语言


APP/程序执行过程

汇编笔记_第2张图片
AF97957D-654E-40C6-A855-FD0DC18AD816.jpeg

总线

  • 总线:一根根导线的集合

  • 总线分类

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

    对三种分类总结
    * CPU根据地址总线内存找对应的内存地址取出对应的值,然后在根据控制总线拿到此次操作是读取还是存储,如果存储CPU会通过数据总线把要存储的数据存到内存中地址总线给的地址。如果是读取数据,内存会通过数据总线将相应的内存地址对应的值传输给CPU(如下图摘自书籍)。

汇编笔记_第3张图片
482EECCA-3A9A-4C1C-BA39-CA3AF44EFF57.png
  • 地址总线

    • 它的宽度决定CPU的寻址能力
    • 8086的地址总线宽度是20(根线),他的寻址能力是1M
    • 地址总线按照 20根线 是1M来计算

      1M是数量单位,1MB是容量单位
      计算公式
      2^10 == 1024
      2^20 == 2^10 * 2^10 == 1M
      2^30 == 2^10 * 2^10 * 2^10 == 1M * * 2^10 == 1M * 1024 == 1G
      2^32 == 1G * 2^2 = 1G * 4 = 4G
      2^40 == 1G * 2^10 = 1G * 1024 = 1024G
      10\20\30\32\40均为地址总线宽度后面是其对应的寻址能力

  • 数据总线

    • 它的宽度决定了CPU得单次数据传输量,也就是数据得传输速度
    • 8086的数据总宽度是16,所以单次最大传输2个字节的数据
    • 数据总线按照一根线是1位来计算 相当于8位一字节,1024字节1M

1Byte == 8 bit
1KB == 1024 Byte
1M == 1024 * 1024 Byte

  • 控制总线
    • 它的宽度决定了CPU对其他器件的控制能力,能有多少种控制

寄存器

  • 内部部件之间由总线连接
  • 对程序员来说,CPU中最重要的就是寄存器,可以通过改变寄存器的内容来实现对CPU的控制
  • 不同的CPU,寄存器的个数结构是不同的(8086是16位结构的cpu)
  • 8086是14个寄存器
    • 都是16位的寄存器
    • 都可以存放2个字节

**下图摘自HK **


汇编笔记_第4张图片
C7086A98-C2CE-42B4-B342-8108239D8EC1.png
汇编笔记_第5张图片
0DD5655C-7CA2-4053-9E42-9379FD00F367.png

通用寄存器

  • AX、BX、CX、DX这4个寄存器通常用来存放一般性的数据,称为通用寄存器(有时也有特定用途)
  • 通常,CPU会先将内存中的数据存储到通用寄存器中,然后再对通用寄存器中的数据进行运算
  • AX、BX、CX、DX这4个通用寄存器都是16位的
  • 上一代8086的寄存器都是8位的,为了保证兼容, AX、BX、CX、DX都可分为2个独立的8位寄存器来使用
    • H代表高位寄存器
    • L代表低位寄存器

你可能感兴趣的:(汇编笔记)