CS一代码段寄存器指向存放指令的代码段 DS一数据段寄存器 指向数据段 ES一附加段寄存器指向数据段 SS一堆栈段寄存器 指向堆栈段 注:用CS、DS、ES、SS指向的段叫当前段 程序运行时,最多只有四个当前段。P20图2-6 个程序可任意划分为多个段。 四个寄存器的功能不同,不能互换使用。 222、通用寄存器8个 、数据寄存器:每一个可作为16位或8位寄存器使用 AX(AH,AL)一累加器 BX(BH,BL)一基址寄存器
CS-代码段寄存器 指向存放指令的代码段 DS-数据段寄存器 指向数据段 ES-附加段寄存器 指向数据段 SS-堆栈段寄存器 指向堆栈段 注:用CS、DS、ES、SS指向的段叫当前段 程序运行时,最多只有四个当前段。P20 图2-6 一个程序可任意划分为多个段。 四个寄存器的功能不同,不能互换使用。 2.2.2、通用寄存器 8个 1、数据寄存器:每一个可作为16位或8位寄存器使用 AX (AH,AL)-累加器 BX (BH,BL)-基址寄存器
CX(CH,CL)一计数寄存器 DX(DH,DL)一数据寄存器 通常用于存放操作数和操作结果。通用性好。 以上寄存器一般在指令中须指明。例外情况如下: (1)、循环指令LOOP中,CX隐含作循环计数器 (2)、两个字节数相乘指令中隐含使用AX (3)、两个字相乘指令中隐含使用AX,DX (4)、移位指令中,移位次数必须送入CL 2、地址指针寄存器常用作16位地址指针(偏移量) SP一堆栈指针 BP一基址指针
CX (CH,CL)-计数寄存器 DX (DH,DL)-数据寄存器 通常用于存放操作数和操作结果。通用性好。 以上寄存器一般在指令中须指明。例外情况如下: (1)、循环指令LOOP中,CX隐含作循环计数器。 (2)、两个字节数相乘指令中隐含使用AX (3)、两个字相乘指令中隐含使用AX,DX (4)、移位指令中,移位次数必须送入CL 2、地址指针寄存器 常用作16位地址指针(偏移量) SP-堆栈指针 BP-基址指针
当进行堆栈操作时SP隐含 变址寄存器(SⅠ、DⅠ):常用作16位地址指针(偏 移量),但在变址寻址中,SⅠ、D的内容作为段内偏移 量的一部分。 SI-源变址寄存器 DI-目的变址寄存器 SI、D在串操作指令中隐含,且不能互换 SI、D也可作为数据寄存器用 223、用于控制的奇存器 1、指令指针IP IP是指令的地址指针,在程序运行期间,CPU自动 修改IP的值,使它始终保持下一条指令的地址(偏移量)
当进行堆栈操作时SP隐含。 变址寄存器(SI、DI): 常用作16位地址指针(偏 移量),但在变址寻址中,SI、DI的内容作为段内偏移 量的一部分。 SI-源变址寄存器 DI-目的变址寄存器 SI、DI在串操作指令中隐含,且不能互换。 SI、DI也可作为数据寄存器用。 2.2.3、用于控制的寄存器 1、指令指针 IP IP是指令的地址指针,在程序运行期间,CPU自动 修改IP的值,使它始终保持下一条指令的地址(偏移量)
注:不能用指令取出IP值或给IP设置值。 可通过一些指令的执行使IP值自动得到修改 如转移指令JMP、JNE 子程序调用指令CAL 2、标志寄存器FR 9个标志位:其中6个状态标志,3个控制标志。P23 1514131211109876543210 OF DF IF TF SF ZF FAFPFCF 溢方中单符零 出向断步号值 偶 标标标标标标 标 志志志志志志 辅助进位位 进位标志位 位位位位位位 位 控制标志位
注:不能用指令取出IP值或给IP设置值。 可通过一些指令的执行使IP值自动得到修改。 如转移指令 JMP、JNE 子程序调用指令CALL 2、标志寄存器 FR 9个标志位:其中6个状态标志,3个控制标志。P23 OF DF IF TF SF ZF AF PF CF 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 进 位 标 志 位 辅 助 进 位 位 奇 偶 标 志 位 零 值 标 志 位 符 号 标 志 位 进 位 标 志 位 溢 出 标 志 位 方 向 标 志 位 中 断 标 志 位 单 步 标 志 位 控制标志位
1、进位位CF 算术运算时,如最高位产生进位或借位,CF置1,否 则置0。在移位指令中,CF也可用于保存左移、右移 生的0或1。 2、奇偶位PF 操作结果低八位中含1的个数为偶数时,PF置1,否贝 置0。PF与操作数长度无关 3、辅助进位位AF 算术运算时,低字节中低四位产生进位或借位,CF置 1,否则置0。与操作数长度无关 4、零值位ZF 运算结果为0时,ZF置1,否则置0。 5、符号位SF
1、进位位 CF 算术运算时,如最高位产生进位或借位,CF置1,否 则置0。在移位指令中,CF也可用于保存左移、右移产 生的0或1。 2、奇偶位 PF 操作结果低八位中含1的个数为偶数时,PF置1,否则 置0。PF与操作数长度无关。 3、辅助进位位 AF 算术运算时,低字节中低四位产生进位或借位,CF置 1,否则置0。与操作数长度无关。 4、零值位 ZF 运算结果为0时, ZF置1,否则置0。 5、符号位 SF