安徽理工大学计算机科学与技术系李歌兆《汇编语言》 (2)变址寄存器 寄存器 SI EDI S和称为变址寄存器 dex Register), 主要用于存放某个存储单元的偏移地址。 S是源变址寄存器,D是目的变址寄存器,在字符串操作中,SI 和D都具有自动增量或减量的功能。它们主要用于存放存储单 元段内的偏移量,用它们可实现多种存储器操作数的寻址方式 (在第3章有详细介绍),为以不同的地址形式访问存储单元提供 方便。 变址寄存器不可分割成8位寄存器。作为通用寄存器,也可 存储算术逻辑运算的操作数和运算结果
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》 (2) 变址寄存器 寄存器ESI、EDI、SI和DI称为变址寄存器(Index Register), 主要用于存放某个存储单元的偏移地址。 SI是源变址寄存器,DI是目的变址寄存器,在字符串操作中,SI 和DI都具有自动增量或减量的功能。它们主要用于存放存储单 元段内的偏移量,用它们可实现多种存储器操作数的寻址方式 (在第3章有详细介绍),为以不同的地址形式访问存储单元提供 方便。 变址寄存器不可分割成8位寄存器。作为通用寄存器,也可 存储算术逻辑运算的操作数和运算结果
徽理工大骨计算机科学与技术系歌兆《汇编语言》 (3)指针寄存器 寄存器EBP、ESP、BP和SP称为指针寄存器( Pointer Register),主要用于存放堆栈内存储单元的偏移量,用它们可 实现多种存储器操作数的寻址方式(在第3章有详细介绍),为以 不同的地址形式访问存储单元提供方便。 指针寄存器不可分割成8位寄存器。作为通用寄存器,也可存储 算术逻辑运算的操作数和运算结果。 SP( Stack pointer)为堆栈指针寄存器,用于存放当前堆栈段中 栈顶的偏移地址;BP( Base pointer为基址指针寄存器,用于 存放堆栈段中某一存储单元的偏移地址
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》 (3)指针寄存器 寄存器EBP、ESP、BP和SP称为指针寄存器(Pointer Register),主要用于存放堆栈内存储单元的偏移量,用它们可 实现多种存储器操作数的寻址方式(在第3章有详细介绍),为以 不同的地址形式访问存储单元提供方便。 指针寄存器不可分割成8位寄存器。作为通用寄存器,也可存储 算术逻辑运算的操作数和运算结果。 SP(Stack Pointer)为堆栈指针寄存器,用于存放当前堆栈段中 栈顶的偏移地址;BP (Base Pointer)为基址指针寄存器,用于 存放堆栈段中某一存储单元的偏移地址
安假塑工大学计算机科学与技术系兆《汇编语言》 23.22专用寄存器:IP、SP、 FLAGS 1)指令指针寄存器 IP(Instruction pointer 指令指针寄存器:8086CPU中的指令指针I,它总是保存 下一次将要从主存中取出指令的偏移地址,偏移地址的值为 该指令到所在段段首址的字节距离。在目标程序运行时, 的内容由微处理器硬件自动设置,程序不能直接访问IP,但 些指令却可改变的值,如转移指令、子程序调用指令等。 32位cPU把指令指针扩展到32位,并记作P,EP的低16位 与先前CPU中的作用相同。 (2)堆栈指针寄存器SP 用于存放当前堆栈段中栈顶的偏移地址
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》 (1)指令指针寄存器IP( Instruction Pointer ) 指令指针寄存器:8086CPU中的指令指针IP,它总是保存 下一次将要从主存中取出指令的偏移地址,偏移地址的值为 该指令到所在段段首址的字节距离。在目标程序运行时,IP 的内容由微处理器硬件自动设置,程序不能直接访问IP,但 一些指令却可改变IP的值,如转移指令、子程序调用指令等。 32位CPU把指令指针扩展到32位,并记作EIP,EIP的低16位 与先前CPU中的IP作用相同。 2.3.2.2 专用寄存器: IP、SP、FLAGS (2)堆栈指针寄存器SP 用于存放当前堆栈段中栈顶的偏移地址
安徽理工大学计算机科学与技术系李歌兆《汇编语言》 (3)标志寄存器( FLAGS/PSW) 1514131211109876543210 OF DF IF TF SF ZF AF PF CF 状态标志 控制标志 OF溢出标志 DF方向标志 SF符号标志 IF中断标志 ZF零标志 TF陷阱标志 CF进位标志 AF辅助进位标志 PF奇偶标志 注:指令的执行与标志有很大关系。 状态标志 用来记录程序运行结果的状态信息,许多指令的执 行都将相应地设置它。 控制标志 可由程序根据需要用指令设置,用于控制处理器执 行指令的方式
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》 (3)标志寄存器( FLAGS / PSW ) 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 状态标志: 控制标志: OF 溢出标志 DF 方向标志 SF 符号标志 I F 中断标志 ZF 零标志 TF 陷阱标志 CF 进位标志 AF 辅助进位标志 PF 奇偶标志 OF DF IF TF SF ZF AF PF CF 注:指令的执行与标志有很大关系。 状态标志 用来记录程序运行结果的状态信息,许多指令的执 行都将相应地设置它。 控制标志 可由程序根据需要用指令设置,用于控制处理器执 行指令的方式
要徽理工大骨计算机科学与技术系李歌池《汇编语言》 零标志zF( Zero Flag) 若运算结果为0,则zF=1,否则ZF=0。 例如: 3AH+7CH=B6H,结果不是零:ZF=0 86H+7CH=(1)00H,结果是零:zF=1 注意:ZF为1表示的结果是0
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》 零标志ZF(Zero Flag) ◼ 若运算结果为0,则ZF = 1,否则ZF = 0。 例如: 3AH + 7CH=B6H,结果不是零:ZF = 0 86H + 7CH=(1)00H,结果是零:ZF = 1 注意:ZF为1表示的结果是0