8086CPU的基本理论

基础理论部分

数制码制:

1. 有符号二进制数的补码表示:

8086CPU的基本理论_第1张图片

正数的补码是它本身,负数的补码是它绝对值的原码所有位取反再加一。

对一个有符号数,连续求两次补码还是得到原数。

2. 运算和溢出:

有符号数以补码表示时可以直接运算,运算之后的结果任是一个用补码表示的数。

两个数想减的时候计算过程是用前一个数加上后一个数的补码。

溢出的类型(若相减则变为补码相加):

  • 两个正数相加,超过上限溢出成负数:次高位相加形成进位,而最高位(符号位)相加没有进位;

  • 两个负数相加,超出下限溢出为正数:次高位相加没有形成进位,而最高位(符号位)相加进位。

  • OF 溢出标志位可以来源于最高位和次高位是否进位(借位)标志的异或。

3. 某些特殊的ASCII码值需要记住:

  • ‘0’-‘9’ : 30h-39h

  • ‘A’-‘Z’ : 41h-5ah

  • ‘a’-‘z’ : 61h-7ah

  • 空格(space): 20h

  • 回车(enter) : 0dh

  • 换行(LF): 0ah

8086基本结构

1. 外部结构:

双列直插式封装,40个引脚,16条数据线、20条地址线、16条控制线。

微处理器级总线:数据总线、地址总线、控制总线。

外部需要配置存储器(20位地址编址,可寻址1M)和I/O接口(低16位地址线编址,可寻址64K)。

8086对外部存储器和I/O接口采用独立的地址空间。

2. 寄存器组织:

通用寄存器:

  • 累加器AX(AH、AL)

  • 基址寄存器BX(BH、BL)(经常用作[BX]存储器间接寻址)

  • 计数寄存器CX(CH、CL)(循环的默认循环次数)

  • 数据寄存器DX(DH、DL)(经常用作I/O端口间接寻址)

地址寄存器:

  • 源变址寄存器SI(字符串操作指令中提供源串EA)

  • 目的变址寄存器DI(字符串操作指令中提供目的串EA)

  • 堆栈指针SP(不能他用,默认SEG为堆栈段,保存堆栈段的EA)

  • 基址指针BP(默认SEG为堆栈段,辅助堆栈操作)

段寄存器:

  • 代码段SS(EA为IP提供)

  • 数据段DS(EA为任意可用寄存器)

  • 堆栈段SS(EA为SP或者BP)

  • 附加段ES(EA为任意可用寄存器)

控制寄存器:

  • 指令指针IP(也叫程序计数器PC)

  • 状态字PSW

8086CPU的基本理论_第2张图片

3. 内部结构和功能结构:

内部结构包括:算数逻辑单元ALU、工作寄存器、控制器、I/O控制逻辑。

两个控制寄存器IP、PSW和堆栈指针SP属于控制器部分,其他寄存器属于工作寄存器部分

8086CPU的基本理论_第3张图片

功能结构包括:

  • 执行单元(EU):执行指令规定的操作

  • 总线接口单元(BIU):取指令、存取数据

8086CPU的基本理论_第4张图片

4. PSW的各位的含义:

8086CPU的基本理论_第5张图片

5. 物理地址的形成:

  • 字的对准和未对准:一个字从偶地址开始时则该字是对准的,否则是未对准;存取对准字需要一个总线周期,存取未对准字需要两个总线周期。

  • 逻辑地址表示为(段地址:偏移地址),每个段起始点地址(其高16位即为段地址)必须能被16整除,每个段最多可以有64KB空间。

  • 由逻辑地址计算物理地址:

8086CPU的基本理论_第6张图片

你可能感兴趣的:(8086CPU和汇编语言)