什么是指令系统

  • 计算机的指令系统就是指该计算机能够执行的全部指令的集合
  • 每种计算机都有它支持的指令集合
  • 16位8086指令系统是Intel 80x86系列微处理器指令系统的基础

调试程序DEBUG

  • DEBUG是常用的汇编语言级调试工具,为汇编语言的程序员提供了分析指令、跟踪程序的有效手段
  • 常用命令:
    • -A汇编
    • -U反汇编
    • -T单步执行
    • -G断点执行
    • -D数据显示
    • -R寄存器

8086的寄存器组

  • 对程序员来说,8086内部结构的最重要的是其寄存器组
    • 8个通用寄存器
    • 1个指令指针寄存器
    • 1个标志寄存器
    • 4个段寄存器

image-20240722220134643

8086的通用寄存器

  • 8086的16位通用寄存器是:AX BX CX DX SI DI BP SP
  • 其中前4个数据寄存器都还可以分成高8位和低8位两个独立的寄存器
  • 8086的8位通用寄存器是:AH BH CH DH AL BL CL DL
  • 对其中某8位的操作,并不影响另外对应8位的数据

数据寄存器

  • 数据寄存器用来存放计算的结果和操作数,也可以存放地址
  • 每个寄存器又有它们各自的专用目的
    • AX——累加器,使用频率最高,用于算术。逻辑运算以及与外设传送信息等
    • BX——基址寄存器,常用做存放存储器地址
    • CX——计数器,作为循环和串操作等指令中的隐含计数器
    • DX——数据寄存器,常用来存放双字长数据的高16位,或存放外设端口地址

变址寄存器

  • 变址寄存器常用于存储器寻址时提供地址
    • SI是源变址寄存器(Source)
    • DI是目的变址寄存器(Destination)
  • 串操作类指令中,SI和DI具有特别的功能

指针寄存器

  • 指针寄存器用于寻址内存堆栈内的数据
  • SP为堆栈指针寄存器,指示栈顶的偏移地址
  • SP不能再用于其他目的,具有专用目的
  • BP为基址指针寄存器,表示数据在堆栈段中的基地址
  • SP和BP寄存器与SS段寄存器联合使用以确定堆栈段中的存储单元地址

堆栈(Stack)

  • 堆栈是主存中一个特殊的区域
  • 它采用先进后出FILO(First In Last Out)后进先出LIFO(Last In First Out)的原则进行存取操作,而不是随机存取操作方式
  • 堆栈通常由处理器自动维持。在8086中,由堆栈段寄存器SS和堆栈指针寄存器SP共同指示