x86汇编语言学习:第一部分 预备知识(从第一章到第四章)

《x86汇编语言从实模式到保护模式》的第一部分,预备知识的准备。

第一章 十六进制计数法

第二章 处理器内存和指令

2.1 寄存器和算术逻辑部件

  • 总线:一些用于输入和输出数据的引脚和线路
  • 寄存器:对于输入的电信号需要将其锁住,因此引入了寄存器的概念
  • 算术逻辑部件:ALU模块

2.2 内存储器

内存储器,即内存,存放数据的作用。内存中的每个字节对应着一个地址。

2.4 指令和指令集

  • 指令事实上也是一堆的数字,但是这堆数字是由芯片规定好的
  • 低端字节序:高字节位于高地址,低字节位于低地址
  • 立即数:这个数已经在指令中给出,不需要再次访问内存。相反,如果指令中给出的是地址,真正的数还需要访问内存才能得到,这不能称为立即数。

    2.5 Intel 8086处理器

    2.5.1 I8086通用寄存器
  • 8个16位的通用寄存器,AX,BX,CX,DX,SI,DI,BP,SP
  • AX是累加器,(Accumulator),与它有关的指令还会做指令长度上的优化,
  • CX是计数器,(Counter)
  • DX是数据寄存器,(DATA),除了作为通用寄存器使用之外,还专门用于和外设之间进行数据传送
  • SI是源索引寄存器
  • DI是目的索引寄存器
    2.5.2 程序的重定位问题
  • 使用“绝对地址”来编写程序的话,多个程序运行就会发生地址冲突问题
    2.5.3 内存分段机制
  • 用来解决上述的程序重定位问题。即使用“相对地址”方式来解决
  • 由于代码段和数据段在机器语言中都是二进制数字表示,因此容易混淆,需要进行分段,分为代码段和数据段
  • “段地址:偏移地址”访问模式
  • 代码段寄存器(CS)和数据段寄存器(DS)
    2.5.4 8086处理器的分段机制
  • 8086有4个段寄存器,CS、DS、ES、SS
  • 8086处理器的内存地址有20位,但是寄存器地址只有16位。为了保证16位的寄存器能访问20位的内存地址,使用“段地址 « 4 + 偏移地址”的方式
  • 虽然指令的运行在我们外部看来是流水线方式的,一个接一个运行,但是在处理器内部,它有很多的优化,使得一些指令能并行处理

    第三章 汇编语言简介

    就真的是简介而已

第四章 虚拟机的安装和使用

介绍virtual box的安装,以及硬盘什么的

Share: X (Twitter) Facebook LinkedIn