声明:
1、本翻译仅供个人学习使用,本人没有提供技术支持的义务,也不承担由此引发的任何后果。
2、请勿用于商业用途。
3、英文来自:http://www.keil.com/support/man/docs/c51/。
4、欢迎大家共同与我交流探讨(290207203@qq.com)。
ONEREGBANK Compiler Directive
Abbreviation | OB |
Arguments | None. |
Default | None. |
µVision | Options — C51 — Misc controls. |
Description | The C51 Compiler selects registerbank 0 on entry to interrupts that do not specify theusing attribute. This is done at the beginning of the interrupt service routine with theMOV PSW,#0 instruction. This ensures that high-priority interrupts that do not use theusing attribute can interrupt lower priority interrupts that use a different registerbank. If your application uses only one registerbank for interrupts, you may use theONEREGBANK directive. This elimitates the MOV PSW,#0 instruction. |
Example | C51 SAMPLE.C ONEREGBANK #pragma OB |
ONEREGBANK 编译器伪指令
缩写 | OB |
参数 | 无。 |
缺省 | 无。 |
µVision | Options — C51 — Misc controls. |
描述 | 当不使用using属性时,C51 编译器选择寄存器组0作为中断的入口。这在中断服务程序的开始用指令MOV PSW,#0实现。 这确保未使用using属性的高优先级中断可以中断使用不同寄存器组的低优先级中断。 如果用户的中断只使用一个寄存器组, 用户使用ONEREGBANK伪指令。 它将消除指令MOV PSW,#0。 |
示例 | C51 SAMPLE.C ONEREGBANK #pragma OB |