汇编知识MOV,MRS,MSR,PUSH和POP指令

news2024/9/24 11:21:26

处理器做得最多的事情就是在处理器内部来回的进行数据传递
1)    将数据从一个寄存器传递到另一个寄存器中
2)    将数据从一个寄存器传递到特殊寄存器,例如CPSR,SPSR寄存器
3)    将立即数传递到寄存器。
数据传输常用的三个指令:MOV,MRS,MSR指令


常用的存储器访问指令有两种:LDR和STR这两个指令
 
LDR指令:
  LDR主要用于存储加载数据到寄存器RX中,LDR也可以将一个立即数加载到寄存器RX中,LDR加载立即数的时候要使用“-”而不是“#”,在嵌入式开发中,LDR最常用的就是读取CPU寄存器中的值:
例如:
LDR R0, =0X0209C000 @将寄存器地址0x0209c000加载到R0中也就是R0=0x0209c000
LDR R1, [R0] @读取地址中的数据到R1寄存器中
上述代码就是读取寄存器值保存到R1寄存器中
STR指令:
   LDR指令是从寄存器中读取数据,STR就是将数据写入到寄存器中
LDR R0, =0X0209C000 @将寄存器地址0x0209c000加载到R0中也就是R0=0x0209c000
LDR R1, = 0X20000002 @R1保存要写入到寄存器的值
STR R1, [R0] @将R1中的值写入到R0中所保存的地址中

注:LDR和STR都是按照字进行读取和写入的,也就是操作的32位数据,如果要按照字节,半字进行操作的话可以在指令“LDR”后面加上B或H,例如按字节操作的指令LDRB,STRB,半字操作的指令LDRH,STRH。

PUSH和POP指令
    
     PUSH :将寄存器列表存入栈中
     POP:  从栈中恢复寄存器列表
将R0~R3,R12进行压栈以后的堆栈示意图,此时SP指向0x7fffffec。

POP{R0~R3,R12} @在恢复R0~R3,R12
出栈就是从栈顶,也就是SP当前执行的位置开始,地址依次减小来提取堆栈中的数据
到要恢复的寄存器列表中
PUSH和POP的另一种写法是STMFD SP! 和 LDMFD SP!
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2071070.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微信小程序模板与配置(三)app.json对小程序进行全局性配置

全局配置文件及常用的配置项 小程序根目录下的app.json文件是小程序的全局配置文件。常用的配置项如下: pages 记录当前小程序所有页面的存放路径window 全局设置小程序窗口的外观tabBar 设置小程序底部的tabBar效果style 是否启用新版的组件样式 一、全局配置-w…

Python测试框架Pytest的使用

pytest基础功能 pytset功能及使用示例1.assert断言2.参数化3.运行参数4.生成测试报告5.获取帮助6.控制用例的执行7.多进程运行用例8.通过标记表达式执行用例9.重新运行失败的用例10.setup和teardown函数 pytset功能及使用示例 1.assert断言 借助python的运算符号和关键字实现不…

解决 VMware 中 Ubuntu文件系统磁盘空间不足

目录 问题引入 解决方案 第一步、在VMware中扩展容量: 第二步、查看磁盘空间使用情况: 第三步、安装分区工具: 第四步、启动该分区工具: 第五步、操作分区: 第六步、修改挂载文件夹的读写权限: 第七…

全网最全的yolo系列转换工具,从txt转xml,再从xml转txt,亲自测试好用

在训练yolo的过程中,难免涉及标注的数据格式转化,经过了几次修改和迭代,最终把转化代码跟大家一起分享。 先把xml转txt部分的代码分享一下,py_convert_xml2txt.py: # -*- coding:utf-8 -*-import os import shutil im…

GRAPHCARE:双向图神经网络 + 个性化知识图谱 + 大模型,打开医疗保健预测领域之门

GRAPHCARE:双向图神经网络 个性化知识图谱 大模型,医疗保健预测领域 关系图双向图神经网络个性化知识图谱GRAPHCARE框架创意视角 如果取消双向图神经网络,直接用医学大模型分析,还能做医疗保健预测领域吗?使用双向图…

防患未然:构建AIGC时代下开发团队应对突发技术故障与危机的全面策略

文章目录 一、快速响应与精准问题定位1. 实时监控与预警系统2. 高效的日志管理和分析3. 分布式追踪与调用链分析4. 紧急响应机制 二、建立健全的应急预案与备份机制1. 制定详尽的应急预案2. 定期应急演练3. 数据备份与快速恢复4. 冗余部署与负载均衡 三、事后总结与持续改进1. …

MATLAB 低版本Matlab-读取LAS格式点云文件并可视化(78)

las格式的文件属于标准的激光点云文件,也是最常见的点云文件,下面是读取并可视化方法 MATLAB 低版本Matlab-读取LAS格式点云文件并可视化(78) 一、LAS文件简介二、算法实现1.代码2.下载地址总结之前介绍过MATLAB自带的Las文件读取函数:(稳定,推荐使用该方法) MATLAB 读取…

第135天:内网安全-横向移动非约束委派约束委派数据库攻防

案例一: 横向移动-原理利用-非约束委派 该案例建立了解即可,真实环境应该不可能有人这样配置 非约束委派的原理和利用场景 原理: 机器 A (域控)访问具有非约束委派权限的机器 B 的服务,会把当前认证用户&#x…

【数据结构6】AVL树、AVL树的旋转-左旋和右旋、二叉搜索树的扩展应用-B树(B-Tree)、B+树

1 AVL树 2 AVL树的旋转-左旋和右旋 2.1 AVL树的旋转实现 3 二叉搜索树的扩展应用-B树 3.2 B树 1 AVL树 AVL树:AVL树是一棵自平衡的二叉搜索树。AVL树具有以下性质:根的左右子树的高度之差的绝对值不能超过1根的左右子树都是平衡二叉树平均情况下,二叉搜…

基于.net的外卖点单系统的设计与实现/基于asp.net的外卖系统

基于.net的外卖点单系统的设计与实现 摘 要 国内餐饮行业的快速发展,人们为了能够更加方便地管理用户点单,外卖点单系统被人们开发出来从而更好地方便管理用户点单,一个完美的外卖点单系统已经成为各个餐饮店的追求目标。 本系统asp.net利用…

ssrf攻击fastcgi复现

文章目录 环境搭建使用网页查看开始攻击 环境搭建 在/usr/local/nginx/html下新建一个php文件 phpinfo.php 1.php <?php highlight_file(__FILE__); $url $_GET[url]; $curl curl_init($url); curl_setopt($curl, CURLOPT_HEADER, 0); $responseText curl_exec($curl)…

Transformer模型中的PositionEmbedding实现:让你的NLP项目飞起来!

在自然语言处理的海洋中&#xff0c;Transformer模型如同一艘巨轮&#xff0c;承载着对文本理解和生成的无限可能。 然而&#xff0c;即使是最强大的模型&#xff0c;也需借助一些关键组件来达到其最佳性能。 其中&#xff0c;PositionEmbedding便是这样一把钥匙&#xff0c;…

BUG——GT911上电后中断一直触发

版型&#xff1a;正点原子 I.MX6UL MINI板 屏幕&#xff1a;7寸 1024*600 ATK-MD0700R V1.4 我的建议是买7寸屏幕就不要Mini板&#xff0c;因为Mini板太小装不下7寸屏幕&#xff0c;你需要一个更大的板子 简介&#xff1a; 算是作为一个后来者对这一现象的补充。解决方案就…

如何使用ssm实现开放式教学评价管理系统+vue

TOC ssm121开放式教学评价管理系统vue 第1章 绪论 1.1 背景及意义 系统管理也都将通过计算机进行整体智能化操作&#xff0c;对于开放式教学评价管理系统所牵扯的管理及数据保存都是非常多的&#xff0c;例如个人中心、教师管理、学生管理、游客管理、评价信息管理、综合评…

如何系统化的学习 Redis?

搭建完整的知识框架和架构体系 张无剑&#xff1a;恭喜码哥&#xff0c;恭喜靓仔&#xff0c;网络资料很多&#xff0c;但碎片化严重&#xff0c;我如何才能成为 Redis 高手&#xff0c;建立完整的知识框架&#xff1f; Redis 是广受欢迎的 NoSQL 数据库&#xff0c;唯快不破是…

class_4:条件语句和逻辑运算符

mood_index int(input("对象今天的心情怎么样&#xff01;"))if mood_index > 80:print("今天可以好好happy一下了")print("O(∩_∩)O哈哈~") else:print("今天还是乖乖的吧&#xff01;否则小命不保") #BMI 体重 /&#xff08;身…

热血传奇经典1.85原始珍藏版单机安装教程+GM+假人+无需虚拟机

今天给大家带来一款单机游戏的架设&#xff1a;热血传奇经典1.85原始珍藏版。 另外&#xff1a;本人承接各种游戏架设&#xff08;单机联网&#xff09; 本人为了学习和研究软件内含的设计思想和原理&#xff0c;带了架设教程仅供娱乐。 教程是本人亲自搭建成功的&#xff0…

编程之路:在Bug的迷宫中寻找出口

编程是一种艺术&#xff0c;也是一种科学。它要求我们既要有创造性的思维&#xff0c;又要有严谨的逻辑。在这条充满挑战的道路上&#xff0c;每个人都会遇到挫折&#xff0c;这些挫折可能来自于一个难以解决的Bug&#xff0c;一个复杂的算法&#xff0c;或者是在实现某个功能时…

UDS诊断系列之十九 读取故障码(DTC)

一、读取符合条件的DTC数量 通过调用19服务的01子功能&#xff0c;我们可以轻松地读取符合特定条件的故障码数量。重要的是要意识到&#xff0c;此功能仅提供故障码的数量&#xff0c;而不包含任何额外的信息。这意味着&#xff0c;虽然你可以获得故障码的总数&#xff0c;但不…

【SQL】关注者数量

目录 题目 分析 代码 题目 表&#xff1a; Followers ------------------- | Column Name | Type | ------------------- | user_id | int | | follower_id | int | ------------------- (user_id, follower_id) 是这个表的主键&#xff08;具有唯一值的列的组合&am…