8086微处理器

嗨,大家好,在本博客中,您将了解8086微处理器的体系结构。

建筑:

通用寄存器:8086的所有通用寄存器均用于关节和逻辑运算。

  1. AX(累加器寄存器)
  2. BX(基址寄存器)
  3. CX(计数寄存器)
  4. DX(数据寄存器)
  5. SP(堆栈指针)
  6. BP(基本指针)
  7. SI(来源索引)
  8. DI(目的地索引)

描述:

累加寄存器:用于算术,逻辑和数据传输指令。在操作和除法中,涉及的数字之一必须为AX或AL。

寄存器: BX是基址寄存器.BX寄存器是寻址寄存器,它通常包含用于基址索引或寄存器间接寻址的数据指针。

计数寄存器:CX是计数寄存器,它用作循环计数器,通过它可以简化程序循环的构造。计数寄存器可用于对字符串操作和shitft / rotate指令进行计数。

数据寄存器:DX是数据寄存器,数据寄存器可用作I / O操作中的端口号,也可用于乘法和除法。

堆栈指针:这是指向程序堆栈的堆栈指针寄存器,与SS一起用于访问堆栈段。

基本指针(BP): BP是基本指针寄存器。指向堆栈段中的数据。与SP不同,我们可以使用BP来访问其他段中的数据。

源索引(SI):SI是源索引寄存器,用于指向DS寻址的数据段中的存储位置。 通过增加SI的内容,可以轻松访问连续的存储位置。

目标索引(DI): DI是目标索引寄存器,其执行与SI相同的功能。有一类指令称为字符串操作,这些指令使用DI来访问ES寻址的存储器位置。

ALU:此单元称为算术和逻辑单元。根据需要,该单元根据要执行的指令执行各种算术和逻辑运算。它可以执行算术运算,例如add,sub,mul,div,inc,dec 。 以及AND,OR,Shift旋转测试等逻辑运算。

分部寄存器:

  1. 堆栈段。
  2. 数据段。
  3. 额外细分。
  4. 指令指针。
  5. 代码段寄存器。

代码段:代码段寄存器是16位的寄存器,包含64 KB段的ig地址,带有处理器指令。处理器将CS段用于所有访问指令指针寄存器的指令引用.CS寄存器不能直接更改.CS寄存器在远距离自动更新跳转,远距离呼叫和远距离返回指示。

STACK SEGMENT(SS):这是一个16位寄存器,包含程序堆栈的64KB段地址。默认情况下,处理器假定堆栈指针和Base Pointer寄存器引用的所有数据都位于堆栈段中。SS寄存器可以直接更改使用POP指令。

数据段(DS):数据段是16位寄存器,包含具有程序数据的64KB段的地址。默认情况下,处理器假定通用寄存器引用的所有数据(实际上是寄存器)都位于该数据段中。 可以使用POP和LDS指令直接更改DS。

EXTRA SEGMENT(ES):额外段是16位寄存器,包含64KB段的地址,通常包含程序数据。默认情况下,处理器假定DI寄存器在字符串操作指令中引用了ES段.ES寄存器可以直接更改使用POP和LES指令。

指令指针(IP): 8086存取指令使用CS和IP寄存器.CS寄存器包含下一条指令的段号,而IP包含偏移量。与其他寄存器不同,该IP不能直接由一条指令操纵,也就是说,一条指令可能不包含IP作为其操作数。