汇编学习笔记 第二章

2.1 80x86的基本结构

硬件系统由中央处理器(CPU),存储器(Memory),输入输出设备(Input/Output)组成,由系统总线连接。

  1. 中央处理器

    • 内部组成
      运算器、控制器、寄存器

    • 主要功能
      执行存放在内存中的指令;
      运算器用来执行算术运算,逻辑运算和数据传送等;
      控制器用来从内存中取出指令,分析指令操作码,完成操作数的存取和发出相应的控制命令等。

  2. 总线结构
    共有三条总线:数据总线(DB),地址总线(AB),控制总线(CB)

    • 数据总线:只有8位,16位,32位,64位 4种类型
    • 地址总线:8086/8088地址总线为20根,有1M的可访问地址
    • 控制总线:传送控制信息
  3. 存储器

    • 最小存储单元为字节
    • 8086/8088只能工作在实模式

2.2 寄存器

  1. 通用寄存器
    共有8个8位通用寄存器,8个16位通用寄存器,8个32位通用寄存器。

    • AX

      • 隐式使用
        • 算术运算累加器
        • 乘法中的乘数和乘积
        • 除法中的被除数,商和余数(8位除法)
        • 串操作中的操作数
      • 显示使用
        • 功能号(AH)
    • BX

      • 显示使用
        • 寻址时的基址寄存器
    • CX

      • 隐式使用
        • 循环计数器
      • 显示使用
        • 移位操作计数器
        • 串操作计数器
    • DX

      • 隐式操作
        • 乘法中的乘积高位(16位)
        • 被除数高位(32)或余数(16位)
        • I/O指令间接寻址时的端口地址寄存器
    • SP

      • 隐式操作
        • 堆栈指针
    • BP

      • 显示操作
        • 堆栈操作时的基址寄存器
    • SI

      • 隐式操作
        • 串操作时的变址
      • 显示操作
        • 间接寻址时的变址
    • DI

      • 隐式操作
        • 串操作时的目的变址寄存器
      • 显示操作
        • 间接寻址时用于地址寄存器和变址寄存器

    注:显示功能一般指改寄存器的特有功能,但需要显示调用(个人理解可能有不准确的地方)

  2. 控制寄存器

    • IP

      • 功能:存放下一条执行的指令的偏移地址
      • 特点:一般不人为修改
    • CF(进位标志)

      • 说明:最高位是否产生进位或借位,则CF=1
    • PF(奇偶标志)

      • 说明:若运算结果最低8位中,含1的个数(二进制)为偶数,PF=1
    • AF(辅助进位标志)

      • 说明:运算结果最低4位产生进位或借位,则AF=1
      • 实际用途:BCD码中判断是否进行十进制调整
    • SF (符号标志)

      • 说明:运算结果为负则SF=1
    • ZF(0标志)

      • 说明:运算结果为0则ZF=1
    • OF(溢出标志)

      • 说明:有溢出则OF=1
      • 实际用途:检测带符号数二进制加减法
    • DF(方向标志)

      • 说明:专用于串操作中地址变化方式,DF=1表示地址递减
      • 实际用途:串操作
    • IF(中断标志)

      • 允许中断,则ZF=1
    • TF(单步跟踪标志)

      • CUP进入单步工作方式,则TF=1

    注:个人认为,考试多半只涉及CF、ZF、SF、OF、DF,上述未写的其他控制标志过于复杂,懒得记忆。

  3. 段寄存器
    考试内容一般只涉及CS、DS、SS,可能涉及ES(宏定义与宏操作)。

2.3 内存组织结构

  1. 对于字地址:低字节在前,高字节在后

  2. 双字存储时,例如DX:AX,DX存放高字,AX存放低字

  3. 堆栈

    • 是在内存中划分出的一段区域,一端是固定的,另一端是浮动的

    • 固定端由SS决定

    • 浮动端由SP或ESP决定,空栈时SP指向栈底,随入栈数据类型和个数的变化,SP/ESP递减

2.4 工作模式

  1. 实模式
    物理地址的寻址方式(同一物理地址可有多种逻辑地址)
  2. 保护模式

    • 前提要求:80286以上处理器

    • 访问方式:逻辑地址表示物理地址,逻辑地址由选择符(存放于段寄存器)和偏移地址两部分组成。

    • 选择符不能直接表示段基地址,需要操作系统协调。

    • 保护模式下的段地址是间接得到的,其偏移地址可达32位,最大段长可达4G

    • 选择符的作用是映射选择描述符表中对应的描述符,从而获取描述段的基地址、段界限、访问权限和附加字段。

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