首页 > 其他分享 >【韦东山RT-Thread系列教程】P1-P10笔记

【韦东山RT-Thread系列教程】P1-P10笔记

时间:2023-04-21 10:45:32浏览次数:58  
标签:RT P1 val Thread BL 地址 add 指令 子程序

1、线程在切换时,仅仅保存中间结果。例如,b=a+10 包含 tmp=a+10b=tmp 两个过程,当执行完 tmp = a+10 后,线程出现切换,那么OS需要保存这个中间结果。

2、汇编跳转指令——BL指令(即Branch And Link)
BL指令的作用之一是记录返回地址,然后执行当前指令。
如下函数:

fun()
{
  add_val(a, b);   ---> BL.W 0x0810001 add_val =>[记录A的返回地址,执行指令A]
  return 0;
}

以如下汇编语句为例分析:
BL.W 0x0810001 add_val
调用地址为 0x0810001 的子程序 add_val,并将子程序的返回地址(下一条语句,此处为 return 0)保存在 LR 寄存器。BL.W表示使用32位跳转指令进行函数调用。

3、LR(Link Register)链接寄存器
用于存放子程序的返回地址。在进入子程序之前,先将子程序的返回地址存入LR

4、C语言一条局部赋值语句,它是如何在汇编语言实现的?它的具体过程是如何的?
第一步将数值放到寄存器,第二步将寄存器的值放到栈里
举例:
【C语言】int a = 1;
【汇编】 1) MOVS r0, #0x01 2) STR r0, [sp, #0x04]

标签:RT,P1,val,Thread,BL,地址,add,指令,子程序
From: https://www.cnblogs.com/MasterBean/p/17339516.html

相关文章

  • 零数科技入选“2022数字中国TOP100”
    4月17日,德本咨询、eNET研究院和互联网周刊联合发布了“2022数字中国TOP100”名单,零数科技凭借在区块链领域的技术创新和优秀的商业落地成果,成功入选“2022数字中国TOP100”。2月27日,中共中央、国务院印发了《数字中国建设整体布局规划》(以下简称《规划》),《规划》指出要夯实数字中国......
  • SMART Modular世迈科技推出全新T6CN PCIe NVMe SSD 固态硬盘
    隶属 SGH (Nasdaq: SGH)控股集团,全球专业内存与存储解决方案领导者SMARTModular世迈科技 (“SMART”),宣布其SMARTRUGGED产品组合推出全新T6CNPCIeNVMeSSD固态硬盘产品系列。T6CN固态硬盘适用于超高性能数据中心,及需要高度安全与坚固耐用的军事、工业和电信应用。T6CN提供......
  • 如何在 .NET Core WebApi 中处理 MultipartFormDataContent 中的文件
    在上一篇文章(如何在.NETCoreWebApi中处理MultipartFormDataContent)中,我们有描述过如何以最简单的方式在.NETCoreWebApi中处理MultipartFormDataContent。基于框架层面的封装,我们可以快速的从Request.Form中分别拿到文件内容和文本内容,但是这些默认的解析方式都是建......
  • 苞米豆的多数据源 → dynamic-datasource-spring-boot-starter,挺香的!
    开心一刻2023年元旦,我妈又开始了对我的念叨妈:你到底想多少岁结婚我:60妈:60,你想找个多大的我:找个55的啊,她55我60,结婚都有退休金,不用上班不用生孩子,不用买车买房,成天就是玩儿我:而且一结婚就是白头偕老,多好我妈直接一大嘴巴子呼我脸上需求背景......
  • The Second Type of Uncertainty in Monte Carlo Tree Search
    发表时间:2020文章要点:MCTS里通常通过计算访问次数来做探索,这个被称作count-deriveduncertainty。这篇文章提出了第二种uncertainty,这种uncertainty来源于子树的大小,一个直觉的想法就是,如果一个动作对应下的子树小,那就不用探索那么多次,反之如果子树大,那就应该多探索探索。作者提......
  • RT-Mutex-3——实现分析-pi-futex与rt-mutex
    一、rt-mutex的原理PI-futex是通过rtmutex来实现的,因此我们这里简单的聊一聊内核的这个PI-awaremutex。从rtmutex的视角看任务:rt_mutex_waiter用来抽象一个阻塞在rtmutex的任务:task成员指向这个任务,lock成员指向对应的rtmutex对象,tree_entry是挂入blocker红黑......
  • JetBrains IntelliJ支持自动切换输入法插件 smart input,写代码如丝般顺滑
    对于母语为中文的开发者,写代码过程中经常需要在中/英输入法之间进行切换,而且由于不清楚当前处于哪种输入状态,有时输入到一半发现输入法错了,删除重新输入,有时切换了好几次都没有成功,实在太影响写代码了。其实,在哪个位置需要使用哪种输入法是可以确定的,既然这样就可以让IDE帮助我......
  • 洛谷 P1007 独木桥
    题目背景战争已经进入到紧要时间。你是运输小队长,正在率领运输部队向前线运送物资。运输任务像做题一样的无聊。你希望找些刺激,于是命令你的士兵们到前方的一座独木桥上欣赏风景,而你留在桥下欣赏士兵们。士兵们十分愤怒,因为这座独木桥十分狭窄,只能容纳 11 个人通过。假如有 2......
  • C#基础 Process Start 运行浏览器打开指定页面
     .NETFramework:4.7.2       IDE:VisualStudioCommunity2019        OS:Windows10x64    typesetting:Markdown codeusingSystem;usingSystem.Diagnostics;namespaceConsoleApp{classProgram{staticvoidMain(stri......
  • C#基础 Math Pow Sqrt 幂与平方根
     .NETFramework:4.7.2       IDE:VisualStudioCommunity2019        OS:Windows10x64    typesetting:Markdown codeusingSystem;namespaceConsoleApp{classProgram{staticvoidMain(string[]args){......