第2章51系列单片机系统结构2.2存储器组织汇总.ppt

第2章51系列单片机系统结构2.2存储器组织汇总.ppt

2) ?B寄存器   B寄存器也是CPU内的通用寄存器,主要用于乘法和除法运算。   在乘法运算中,被乘数放在累加器Acc中,乘数放在B寄存器中。运算后,积的高8位存放B寄存器中,低8位存放在累加器Acc中,如:    MUL AB ;BA←A×B   在除法运算中,被除数放在累加器Acc中,除数放在B寄存器中。运算后,商放在累加器Acc中,余数放在B寄存器中。  3) 程序状态字寄存器   程序状态字寄存器PSW由标志位组成,用于存放指令运行的状态。   在MCS-51系列单片机中PSW寄存器各位含义如下: Cy——进位标志。当进行加法运算,最高位(即b7位)有进位时,或当执行减法运算,最高位有借位时,Cy为1;反之为0。 AC——辅助进位标志。当进行加法运算,b3位有进位时,或当执行减法运算,b3位有借位时,AC为1;反之为0。 OV—— 溢出标志。在计算机内,带符号数一律用补码表示。在8位二进制中,补码所能表示的范围是-128~+127,运算结果超出这一范围时,OV 标志为1,即溢出;反之为0。 P——奇偶标志。体现累加器Acc中“1”的个数的奇偶性。如果累加器Acc中“1”的个数为奇数,则P位为1;为偶数(包括0个)时,P位为0。 RS1、RS0——工作寄存器组选择位 F0——用户标志位 PSW.1——保留位。   注:在MCS-51系列单片机中,Z(零)标志对程序员不透明,只要累加器Acc为0,Z标志就为1。 例2.1 分析如下指令执行后,PSW寄存器各标志位的状态。 MOV A, ; 把立即数ADH送累加器A,5个“1”,奇偶标志位P为1 ADD A, ; ADH与7DH相加,结果存放在A中 1 0 1 0 1 1 0 1;173(无符号数),-83(带符号数) 0 1 1 1 1 1 0 1;125(无符号数),125(带符号数) ────────── 1 0 0 1 0 1 0 1 0 ;作为无符号数时,和为12AH(由于结果超出FFH,前面的“1”自动丢失,寄存器A的内容为2AH),即298;作为有符号数时,和为2AH,即42  由于b7位向前进位,因此Cy位为1;b3位也有进位,AC位也为1;而作为带符号数时,结果为42,没有超出-128~+127,OV标志位为0。事实上,两个异号数相加,结果不会溢出,OV标志位总为0。而A中含有3个“1”,因此P标志位为1。 1 0 1 0 1 1 0 1;173(无符号数),-83(带符号数) 0 1 1 1 1 1 0 1;125(无符号数),125(带符号数) ────────── 1 0 0 1 0 1 0 1 0 ; 作为无符号数时,和为12AH(由于结果超出FFH,前面的“1”自动丢失,寄存器A的内容为2AH),即298; 作为有符号数时,和为2AH,即42 由于b7位向前进位,因此Cy位为1; b3位也有进位,AC位也为1; 而作为带符号数时,结果为42,没有超出-128~+127,OV标志位为0。事实上,两个异号数相加,结果不会溢出,OV标志位总为0。而A中含有3个“1”,因此P标志位为1。 例2.2 分析如下指令执行后,PSW寄存器各标志位的状态。 MOV A, ; 把立即数0ADH送累加器A,由于立即数0ADH 中共有5个“1”,因此该指令执行后,奇偶标志位P为1 ADD A,; 0ADH与9DH相加,结果存放在A中 PWS分析       1 0 1 0 1 1 0 1 ;173(无符号数);-83(带符号数+ 1 0 0 1 1 1 0 1 ;157(无符号数);-99(带符号数)  ──────── 1 0 1 0 0 1 0 1 0 ; 作为无符号数时,和为14AH,330 作为有符号数时,和为-182 由于b7位向前进位,因此Cy位为1; b3位也有进位,AC位也为1; 作为带符号数时,结果为4AH,即+74,之所以出错,是因为-83加-99的结果为-182,超出-128~+127,OV标志位为1。    溢出条件总结: 两个同号数相加,结果可能溢出 两个异号数相加,结果肯定不会溢出 两个同号数相减,结果肯定不会溢出 而两个异号数相减,结果可能溢出 当溢出标志OV为1时,表示结果不正确。 4) 堆栈指针   在计算机内,需要一块具有“先进后出”(First In Last Out,FILO)特性的存储区,用于存放子程序调用(包括中断响应)时程序计数器PC的当前值,以及需要保存的CPU内各寄存器的值(即现场),以便子程序或中断服务程序执行结束后能正确返回主程序。这一存储区

文档评论(0)

1亿VIP精品文档

相关文档