文档介绍:复****上次课内容
1、CPU从功能上如何划分的。
2、各寄存器的名称、用法、特定用途。
1
时间:2010—9月10日(第二周周五)
本次课内容:
1、标志寄存器。
2、8086的存储器组织。
3、 8086的段结构。
本次课重点:
1、标志位寄存器各个标志位的含义。
2、物理地址、逻辑地址。
3、堆栈。
2
6、标志寄存器
标志(Flag)用于反映指令执行结果或控制指令执行形式
8086处理器的各种标志形成了一个16位的标志寄存器FLAGS(程序状态字PSW寄存器)
OF
11
15 12
DF
10
IF
9
TF
8
SF
7
ZF
6
5
AF
4
3
PF
2
1
CF
0
程序设计需要利用标志的状态
3
标志的分类
状态标志:
CF ZF SF PF OF AF
控制标志:
DF IF TF
4
PSW(FLAG)有关位定义
C—进位位
P—奇偶标志(结果低8位中1的个数)
A—半进位标志(低4位向高4位的进位或借位)
Z—结果为零标志
S—结果符号位
T—跟踪标志(单步运行)
I—中断允许标志
D—方向标志
O—溢出标志
O
D
I
T
S
Z
A
P
C
5
进位标志CF(Carry Flag)
当运算结果的最高有效位有进位(加法)或借位(减法)时,进位标志置1,即CF = 1;否则CF = 0。
49H + 6DH=B6H,
01001001B
+01101101B
010110110B
没有进位:CF = 0
BBH + 6AH=(1)25H,
10111011B
+01101010B
100100101B
有进位:CF = 1
6
零标志ZF(Zero Flag)
若运算结果为0,则ZF = 1;
否则ZF = 0
49H + 6DH=B6H,
01001001B
+01101101B
10110110B
结果不是零:ZF = 0
注意: ZF为1表示的结果是0
75H + 8BH=(1)00H,
01110101B
+10001011B
100000000B
结果是零:ZF = 1,CF=1
7
符号标志SF(Sign Flag)
运算结果最高位为1,则SF = 1;否则SF = 0
带符号数据用最高有效位表示数据的符号
所以,最高有效位就是符号标志的状态
字节操作时,D7 =0, SF=0,结果为正;
字节操作时,D7 =1, SF=1,结果为负;
字操作时,D15 =0, SF=0,结果为正;
字操作时,D15 =1, SF=1,结果为负。
最高位=符号位=SF
8
奇偶标志PF(Parity Flag)
当运算结果最低字节中“1”的个数为零或偶数时,PF = 1;否则PF = 0
3AH + 7CH=B6H
00111010B
+01111100B
10110110B
PF标志仅反映最低8位中“1”的个数是偶或奇,即使是进行16位字操作
结果中有5个1,是奇个数:PF = 0。
CF=0,SF=1,ZF=0
9
溢出标志OF(Overflow Flag)
若算术运算的结果有溢出,
则OF=1;否则 OF=0
49H + 6DH =B6H,
产生溢出:OF = 1
75H + 8BH =(1)26H,
没有溢出:OF = 0,CF=1
10