OS学习
qscdianzhi
这个作者很懒,什么都没留下…
展开
-
临界代码区 与 中断
一、 代码的临界区 代码临界区指操作系统在处理时不可分割的代码。一旦这部分代码开始执行,则不允许任何中断打扰。为确保临界段代码的执行,在进入临界段之前要关中断,而临界段代码执行完以后要立即开中断。如下关于A/D采样的代码中有这么一段:[cpp] view plain copy <span style="font-size:14px;">Int main() { _DI...转载 2018-06-25 14:06:32 · 1456 阅读 · 0 评论 -
ARM中LDR伪指令与LDR加载指令
转载于http://www.cnblogs.com/hnrainll/archive/2011/06/14/2080241.html一、ldr作为加载指令(1)格式为:LDR{条件} 目的寄存器,<存储器地址>(2)LDR指令用于从存储器中将一个32位的字数据传送到目的寄存器中。(3)指令示例:LDR R0,[R1] ;将存储器地址为R1的字数据读入寄存器R0。LDR...转载 2018-06-25 14:28:54 · 801 阅读 · 0 评论 -
ORR 指令
ORR 指令的格式为: ORR{条件}{S} 目的寄存器,操作数 1,操作数 2ORR 指令用于在两个操作数上进行逻辑或运算,并把结果放置到目的寄存器中。操作数 1应是一个寄存器,操作数 2 可以是一个寄存器,被移位的寄存器,或一个立即数。该指令常用于设置操作数 1 的某些位。 指令示例: ORR R0,R0,#3 ; 该指令设置R0的0、1位,其余位保持不变。...转载 2018-06-25 14:46:57 · 3092 阅读 · 0 评论 -
一文看懂LR寄存器的知识
不知你在DEBUG程序,又或者阅读操作系统源码时候有没细心观察,从一个普通子函数返回与异常(中断)返回的汇编指令都是BX LR,但是这两者的意义是一样的吗?这篇文章就来揭开LR寄存器的神秘面纱。当单片机涉及函数跳转或者任务调度的时候,理解MCU如何处理堆栈与改变各个通用寄存器的状态尤为重要,下面就来比较一下在不同情况下LR寄存器的意义。上图是一个简单的例子,当仿真点击“下一步”的时候,MCU就会...转载 2018-06-25 15:05:54 · 9726 阅读 · 1 评论