嵌入式Linux学习笔记——汇编指令LDR、STR
2021/11/20 7:10:10
本文主要是介绍嵌入式Linux学习笔记——汇编指令LDR、STR,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
学习正点原子嵌入式第二期第八讲时,涉及汇编LDR、STR指令。
LDR R1,[R0] 是读取R0地址所对应的数据给R1寄存器。而STR R1,[R0] 则是将R1里的数据给到R0地址中,而不是和LDR语句一样,R0地址所对应的数据?(其实这是一个很笨的问题,数据给到R0地址中,与R0地址所对应的数据是一个意思,都是修改了R0地址中所对应的数据的值)。
后查阅资料个人理解:[R0] 类似于51单片机中@R0 指R0中的值作为地址所对应的数据。
同时知道了
LDR R0,0xff (没有等号为指令)即将0xff这个值所对应的地址(即地址为0xff)中的值给到寄存器R0,相当于51中MOV R0,@R1 (R1=0xff,这里想表达的是51中的以寄存器中的值为地址所对应的值这个意思,语句MOV R0,@R1 可能有错,但表达的意思没错,已经好久没看过51的书了);为什么此处不用MOV呢?MOV只能在寄存器之间移动数据,或者把立即数移动到寄存器中。
LDR R0,=0xff (有等号为伪指令)即将0xff这个值给到寄存器R0,相当于51中取立即数;LDR伪指令和MOV的作用差不多,主要区别为MOV 操作的立即数的长度为8位,LDR伪指令没有限制。
在使用LDR伪指令时,后面跟的立即数没有超过8位,那么在实际汇编的时候该LDR伪指令是会被转换为MOV的,如下图所示。
查阅资料链接为:adr adrl ldr mov总结整理 - 宋桓公 - 博客园 (cnblogs.com)
这篇关于嵌入式Linux学习笔记——汇编指令LDR、STR的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23linux 系统宝塔查看网站访问的命令是什么?-icode9专业技术文章分享
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南