19.08.2013 Views

ARM7TDMI-S(Rev 4)技术参考手册 - Read

ARM7TDMI-S(Rev 4)技术参考手册 - Read

ARM7TDMI-S(Rev 4)技术参考手册 - Read

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

广州周立功单片机发展有限公司 Tel (020)38730976 38730916 Fax 38730925 http //www.zlgmcu.com<br />

2.7.4 在 Thumb 状态中访问高寄存器<br />

状态中访问高寄存器<br />

在 Thumb 状态中 高寄存器 r8 r15 不是标准寄存器集的一部分 汇编语言程序员对它们的访问受<br />

到限制 但可以将它们用于快速暂存<br />

可以使用 MOV 指令的特殊变量将一个值从低寄存器 r0 r7 转移到高寄存器 或者从高寄存器到低<br />

寄存器 CMP 指令可用于比较高寄存器和低寄存器的值 ADD 指令可用于将高寄存器的值与低寄存器的<br />

值相加 详细信息请参考 ARM 体系结构参考手册<br />

2.8 程序状态寄存器<br />

程序状态寄存器<br />

<strong>ARM7TDMI</strong>-S 内核包含 1 个 CPSR 和 5 个 SPSR 供异常处理程序使用 程序状态寄存器<br />

保持条件代码标志<br />

控制中断的使能和禁止<br />

设置处理器操作模式<br />

位的分配如图 2-6 所示<br />

条件代码标志 保留 控制位<br />

31 30 29 28 27 26 25 24 23 8 7 6 5 4 3 2 1 0<br />

N Z C V<br />

溢出<br />

进位或借位或扩展<br />

零<br />

负或小于<br />

- 13 -<br />

I F T M4 M3 M2 M1 M0<br />

模式位<br />

状态位<br />

FIQ禁止<br />

IRQ禁止<br />

图 2-6 程序状态寄存器格式<br />

注 为了保持与将来的 ARM 处理器兼容 并且作为一种良好的习惯 在更改 CPSR 时 我们强烈建<br />

议您使用读 写 修改的方法<br />

2.8.1 条件代码标志<br />

件代码标志<br />

N, Z, C 和 V 位都是条件代码标志 可以通过算术和逻辑操作来设置这些位 这些标志还可通过 MSR<br />

和 LDM 指令进行设置 <strong>ARM7TDMI</strong>-S 处理器对这些位进行测试以决定是否执行一条指令<br />

在 ARM 状态中 所有指令都可按条件来执行 在 Thumb 状态中 只有分支指令可条件执行 更详细<br />

的信息请参考 ARM 体系结构参考手册<br />

2.8.2 控制位<br />

控制位<br />

PSR 的最低 8 位为控制位<br />

中断禁止位<br />

T 位<br />

模式位<br />

它们分别是<br />

当发生异常时 控制位改变 当处理器在一个特权模式下操作时 可用软件操作这些位<br />

中断禁止位<br />

中断禁止位<br />

中断禁止位<br />

I 和 F 位都是中断禁止位<br />

当 I 位置位时 IRQ 中断被禁止<br />

当 F 位置位时 FIQ 中断被禁止

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!