首页 理论教育 状态寄存器ST0和ST1的具体功能及作用

状态寄存器ST0和ST1的具体功能及作用

时间:2023-06-29 理论教育 版权反馈
【摘要】:C24x CPU有两个重要的状态寄存器:ST0和ST1,其中包含着不同的标志位和控制位。内容可被读出并保存到数据存储器或从数据存储器读出加载到ST0和ST1,用于在子程序调用或进入中断时实现CPU各种状态的保存。可以用SETC或CLRC指令对ST0和ST1中的各个位单独置1或清零。这三位用于选择8个16位辅助寄存器AR0~AR7中的一个作为当前辅助寄存器。位4 XF:XF引脚状态位。

状态寄存器ST0和ST1的具体功能及作用

C24x CPU有两个重要的状态寄存器:ST0和ST1,其中包含着不同的标志位和控制位。内容可被读出并保存到数据存储器(用SST指令,Store ST)或从数据存储器读出加载到ST0和ST1(用LST指令,Lo ad ST),用于在子程序调用或进入中断时实现CPU各种状态的保存。可以用SETC或CLRC指令对ST0和ST1中的各个位单独置1或清零。

1.状态寄存器ST0

下面给出了CPU的状态寄存器ST0的格式:

978-7-111-36250-0-Chapter03-7.jpg

位15~13 ARP:当前辅助寄存器指针(Auxilia ry Register Pointe r)。这三位(000~111)用于选择8个16位辅助寄存器AR0~AR7中的一个作为当前辅助寄存器。AR被装载时,原来的ARP被复制到辅助寄存器指针缓冲器(ARB)中。

位12 OV:溢出(Overflow)标志位。如果指令操作结果产生溢出时,则置位。如果没有溢出发生,则不改变。

位11 OVM:溢出模式(Overflow Mode)位。

●1:溢出时,A中为最大或最小值。

●0:按正常溢出。

位10保留位。

位9 INTM:中断全局屏蔽(Inte rrupt Mode)位。该位可以全局使能和禁止所有的CPU可屏蔽中断,即为可屏蔽中断的“总开关”。

●0:可屏蔽中断被使能。

●1:可屏蔽中断被禁止。

对INTM的置位或清零可以分别通过两条汇编语句SETC INTM和CLRC INTM实现。

位8~0 DP:9位数据存储器页面指针(Data Page Pointe r),用于直接寻址地址的高9位即页地址,与指令中的低7位即页内的偏移量(Offset)共同形成16位数据存储器地址。

2.状态寄存器ST1

下面给出了CPU的状态寄存器ST1的格式:

978-7-111-36250-0-Chapter03-8.jpg(www.xing528.com)

位15~13 ARB:辅助寄存器指针缓冲器(Auxilia ry Register Pointe r Buffe r),即存放ARP。

位12 CNF:片内DARAM B0配置(Configuration)位。

●0:B0映射为数据存储器。

●1:B0映射为程序存储器。

位11 TC:测试(Test/Control)标志位。该位表示位测试指令完成测试的结果。

位10 SXM:符号扩展模式(Sign⁃extension mode)位。

●1:允许符号扩展。

●0:禁止符号扩展。

位9 C:进位(Carry)位。该位为1,表明一个加法或增量操作产生了进位,或者一个减法、比较或减量操作未产生借位。

位8~5、位3~2 保留位。

位4 XF:XF引脚状态位。复位时,XF=1。

位1~0 PM:乘积移位方式位(Product shift mo de)。

●00:没有移位,复位值。

●01:左移1位。

●10:左移4位。

●11:右移6位。

详见上述表3-2。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈