上面4个16位寄存器都具有通用性,从而提高了指令系统的 灵活性。但在有些指令中,这些通用寄存器还各自有特定的用 法,如下表所示。 表2-1寄存器主要用途 寄存器 操作 寄存器 操作 字乘,字除,字IO 变量移位, 循环移位 AL 字节乘,字节除,字节/O, 字乘,字除 查表转换,十进制运算 间接IO AH 字节乘,字节除 P 堆栈操作 BX 查表转换 数据串操作指令 C 数据串操作指令,循环指令 DI数据串操作指令
上面4个16位寄存器都具有通用性,从而提高了指令系统的 灵活性。但在有些指令中,这些通用寄存器还各自有特定的用 法 ,如下表所示。 表2-1 寄存器主要用途 寄存器 操作 寄存器 操作 AX 字乘,字除,字I/O CL 变量移位, 循环移位 AL 字节乘,字节除,字节I/O, 查表转换,十进制运算 DX 字乘,字除, 间接I/O AH 字节乘,字节除 SP 堆栈操作 BX 查表转换 SI 数据串操作指令 CX 数据串操作指令,循环指令 DI 数据串操作指令
(2)指针和变址寄存器(见教材P25表2-1) 8086有4个16位的指针或变址寄存器(SI、DI、SP BP SI( Source index):源变址寄存器 DI( Destination Index):目的变址寄存器 SP( Stack Point):堆栈指针,基址指针 BP( Base point):基址指针 指针寄存器 系统中有两个16位的指针寄存器SP和BP BP称为基址指针寄存器,用于存放偏移量,通常和SS段寄 存器配合使用,在间接寻址中用于定位堆栈段中的内存单元 SP称为堆栈指针,用于存放偏移量,只能和SS段寄存器配 合使用,且始终指向堆栈的栈顶,在堆栈指令中隐含的使用它来 定位栈顶数据
(2)指针和变址寄存器 (见教材P25表2-1) 8086有4个16位的指针或变址寄存器( SI 、 DI 、 SP 、 BP )。 SI( Source Index ):源变址寄存器 DI( Destination Index ):目的变址寄存器 SP( Stack Point ):堆栈指针,基址指针 BP( Base Point ):基址指针 ➢指针寄存器 系统中有两个16位的指针寄存器SP和BP. BP 称为基址指针寄存器,用于存放偏移量,通常和SS段寄 存器配合使用,在间接寻址中用于定位堆栈段中的内存单元。 SP 称为堆栈指针,用于存放偏移量,只能和SS段寄存器配 合使用,且始终指向堆栈的栈顶,在堆栈指令中隐含的使用它来 定位栈顶数据
注:BX称为基址寄存器,可以用于存放偏移量或者是偏移量的 部分(后面介绍指令寻址方式时会详细分析),通常和DS、ES这 两个段寄存器配合使用,用于定位数据段或附加段中的内存单元 变址寄存器 系统中有两个16位的变址寄存器SI和D,都用于指令的变址 寻址方式。 SI称为源变址寄存器,用于存放偏移量或偏移量的-部分, 通常和DS、ES这两个段寄存器配合使用,用于定位数据段或附加 段中的内存单元。在串操作指令中,用于指明源串偏移量。 D称为目的变址寄存器,用于存放偏移量或偏移量的—部分 通常和DS、ES这两个段寄存器配合使用,用于定位数据段或附加 段中的内存单元。在串操作指令中,用于指明目的串偏移量
注:BX称为基址寄存器,可以用于存放偏移量或者是偏移量的一 部分(后面介绍指令寻址方式时会详细分析),通常和DS、ES这 两个段寄存器配合使用,用于定位数据段或附加段中的内存单元。 ➢变址寄存器 系统中有两个16位的变址寄存器SI和DI,都用于指令的变址 寻址方式。 SI 称为源变址寄存器,用于存放偏移量或偏移量的一部分, 通常和DS、ES这两个段寄存器配合使用,用于定位数据段或附加 段中的内存单元。在串操作指令中,用于指明源串偏移量。 DI 称为目的变址寄存器,用于存放偏移量或偏移量的一部分, 通常和DS、ES这两个段寄存器配合使用,用于定位数据段或附加 段中的内存单元。在串操作指令中,用于指明目的串偏移量
(3)指令指针及标志寄存器 8086的指令指针及标志寄存器包括IP、SP和PSW3个16位寄 存器。IP、PSW是系统中的两个16位控制寄存器 >指令指针寄存器I IP用来控制cPU的指令执行顺序,用于存放偏移量,只能和 代码段寄存器CS配合使用,可以确定当前所要取的指令的内存地 址,且始终指向代码段中下一条将要读取到CPU指令队列的那条 指令。 顺序执行程序时,CPU每取一个指令字节,IP自动加1,指向 下一个要读取的字节;修改P中内容的操作是CPU在每读取一条 指令到指令队列后自动进行的,使它指向要读取的下一条指令。 跳转指令中可以隐含的修改IP寄存器中的内容
(3) 指令指针及标志寄存器 8086的指令指针及标志寄存器包括IP、SP和PSW 3个 16位寄 存器。 IP、 PSW是系统中的两个16位控制寄存器。 ➢ 指令指针寄存器IP IP 用来控制CPU的指令执行顺序,用于存放偏移量,只能和 代码段寄存器CS配合使用,可以确定当前所要取的指令的内存地 址,且始终指向代码段中下一条将要读取到CPU指令队列的那条 指令。 顺序执行程序时,CPU每取一个指令字节,IP自动加1,指向 下一个要读取的字节;修改IP中内容的操作是CPU在每读取一条 指令到指令队列后自动进行的,使它指向要读取的下一条指令。 跳转指令中可以隐含的修改IP寄存器中的内容
标志寄存器PSW 标志寄存器PSW(处理器状态字),用来存放8086/8088CPU 在工作过程中的状态。 PSW为16位寄存器,其中共有9个标志位,可分成两类 类为状态标志,一类为控制标志。 状态标志:表示前一步操作(如加、减等)执行以后,ALU所 处的状态,后续操作可以根据这些状态标志进行判断,实现转移 控制标志:可以通过指令人为设置,用以对某一种特定的功能 起控制作用(如中断屏蔽等),反映了人们对微机系统工作方式 的可控制性。 PSW中各标志位的安排如下表所万 5141312 109876 543210 OF DF IFTF SF ZF AF PF CF
➢ 标志寄存器PSW 标志寄存器PSW(处理器状态字),用来存放8086/8088CPU 在工作过程中的状态。 PSW为16位寄存器,其中共有9个标志位,可分成两类:一 类为状态标志,一类为控制标志。 状态标志:表示前一步操作(如加、减等)执行以后,ALU所 处的状态,后续操作可以根据这些状态标志进行判断,实现转移; 控制标志:可以通过指令人为设置,用以对某一种特定的功能 起控制作用(如中断屏蔽等),反映了人们对微机系统工作方式 的可控制性。 PSW中各标志位的安排如下表所示。 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 OF DF IF TF SF ZF AF PF CF