一些简单的汇编指令

硬件架构和汇编指令
一、硬件架构
ARM芯片属于精简指令集计算机(RISC:Reduced Instruction Set Computing),

它所用的指令比较简单,有如下特点: ① 对内存只有读、写指令 ② 对于数据的运算是在CPU内部实现 ③ 使用RISC指令的CPU复杂度小一点,易于设计

CPU内部有寄存器 R0-R15。以及计算单元.

后三个为程序状态寄存器:

R13:别名SP(Stack Pointer),栈指针。用来保存栈的地址 R14:别名LR(Link Register),用来保存返回地址。(A函数到B函数,B函数完成后返回A) R15:别名PC(Program Counter),程序计数器,表示当前指令地址,写入新值即可跳转

二、一些简单的汇编指令
读内存:Load

LDR R0, [R1, #4] ; 读地址 ”R1+4 “ ,得到的四个字节数据存入R0

写内存:Stroe

STR R0, [R1, #4] ; 把R0的四个字节写入到”R1+4“中去

可以在LDR或STR后加H 、 B 来表示读写 半字(Half) 字节(Byte)

ADD R0, R1, R2 ; R0 = R1 + R2

ADD R0, R1, #1 ; R0 = R1 + 1

SUB R0, R1, R2 ; R0 = R1 - R2

SUM R0, R1, #1 ; R0 = R1 - 1

比较

CMP R0, R1 ;比较R0和R1,比较的结果保存在程序状态寄存器中 PSR

跳转

B :main ; Branch, 直接跳转

执行这条指令,会导致程序状态寄存器R15(PC)寄存器中被已写入一个数值。数值为main函数的地址。CPU会从这个地址开始执行程序

BL:main ; Branch and Link, 在函数之间的跳转时,先把返回值保存在R14(LR)寄存器里再跳转

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

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

相关文章

中国科学院大学与美团发布首个交互式驾驶世界模型数据集DrivingDojo:推进交互式与知识丰富的驾驶世界模型

中国科学院大学与美团发布首个交互式驾驶世界模型数据集DrivingDojo:推进交互式与知识丰富的驾驶世界模型 Abstract 驾驶世界模型因其对复杂物理动态的建模能力而受到越来越多的关注。然而,由于现有驾驶数据集中的视频多样性有限,其卓越的建…

简述RESTFul风格的API接口

目录 传统的风格API REST风格 谓词规范 URL命令规范 避免多级URL 幂等 CURD的接口设计 REST响应 响应成功返回的状态码 重定向 错误代码 客户端 服务器 RESTful的返回格式 返回格式 从上一篇文章我们已经初步知道了怎么在VS中创建一个webapi项目。这篇文章来探讨一…

外包干了2个月,技术明显退步

回望过去,我是一名普通的本科生,于2019年通过校招有幸加入了南京某知名软件公司。那时的我,满怀着对未来的憧憬和热情,投入到了功能测试的岗位中。日复一日,年复一年,转眼间,我已经在这个岗位上…

Git协作场景

1、日常需求开发 在日常开发中,研发人员通常需要从 develop 分支创建 feature 分支进行功能开发,并在开发完成后将其合并回 develop。常规的操作流程如下: 创建 feature 分支: 研发人员从 develop 分支创建一个新的 feature 分支…

优化SpringBoot接口:异步处理提升系统吞吐量策略

作者介绍:✌️大厂全栈码农|毕设实战开发,专注于大学生项目实战开发、讲解和毕业答疑辅导。 推荐订阅精彩专栏 👇🏻 避免错过下次更新 Springboot项目精选实战案例 更多项目:CSDN主页YAML墨韵 学如逆水行舟&#xff0c…

牵手App红娘来助力,打造线上交友“好管家”

线上交友以其便捷性、广泛性和互动性等特点,正逐渐成为单身男女寻找恋爱伴侣的重要渠道。相较于传统相亲模式,线上交友不仅打破了时间和空间的限制,更以其丰富的互动功能和个性化的匹配算法,为用户提供了前所未有的交友体验。在这…

Python数据分析-航空公司客户满意度分析

一、研究背景 随着航空业的快速发展,航空公司之间的竞争愈发激烈。航空公司不再仅仅依靠价格、航班时间等基本要素来吸引客户,而更多地关注如何提升客户体验与满意度。乘客的飞行体验和满意度不仅影响了他们的忠诚度,也对航空公司在市场中的…

IJKPlayer源码分析-整体结构

根据我们的之前的老方法,采用结构化的方式来对IJKPlayer源码做个分析,首先,我们从整体的角度先把IJKPlayer的整体架构和流程讲下,让大家先有个整体的印象。 本地JNI入口 在Android环境下,JVM层载入一个本地so库流程大致…

在数据库产品中如何设计基于列和行的访问控制功能

在数据库产品中设计基于列和行的访问控制功能(Column-Level and Row-Level Access Control, CLAC 和 RLAC)是一种细粒度的权限管理方式,能够进一步提升数据安全性和灵活性。通过这种控制,数据库可以限制特定用户或角色只能访问某些…

【C++11】包装器:深入解析与实现技巧

C 包装器:深入解析与实现技巧 个人主页 C专栏 目录 引言包装器的定义与用途C 包装器的常见应用场景实现包装器的技巧使用 RAII 实现资源管理案例分析:智能指针模板包装器的应用包装器与设计模式性能优化更多应用案例总结 引言 C 是一门灵活且强大的语…

搜维尔科技:感受、握持、推动、连接和挤压虚拟物体,SenseGlove触觉反馈手套拥有先进的触觉技术、一流的可用性和功能

感受、握持、推动、连接和挤压虚拟物体,SenseGlove触觉反馈手套拥有先进的触觉技术、一流的可用性和功能 感受、握持、推动、连接和挤压虚拟物体,SenseGlove触觉反馈手套拥有先进的触觉技术、一流的可用性和功能

vue后台管理系统从0到1搭建(4)各组件的搭建

文章目录 vue后台管理系统从0到1搭建(4)各组件的搭建Main.vue 组件的初构 vue后台管理系统从0到1搭建(4)各组件的搭建 Main.vue 组件的初构 根据我们的效果来看,分析一下,我们把左边的区域分为一个组件&am…

Learn OpenGL In Qt之纹理

竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生~ 公众号: C学习与探索 | 个人主页: rainInSunny | 个人专栏: Learn OpenGL In Qt 文章目录 纹理纹理坐标纹理环绕方式纹理采样多级渐远纹理 纹理加载和创建加载纹理创建纹理 应用纹理 纹理 纹理坐标…

等保测评在各个行业的应用

等保测评的基本概念和流程 等保测评,即网络安全等级保护测评,是根据国家相关法律法规和标准,对信息系统实施安全等级划分,并针对各等级采取相应安全保护措施的过程。等保测评的流程通常包括信息系统定级、备案、安全建设、等级测评…

Element UI 的 el-tree 组件节点取消双击后的鼠标选中文字状态

要取消 Element UI 的 el-tree 组件节点双击后的鼠标选中文字状态,你可以通过以下几种方式来实现: 使用 CSS 禁止选中: 你可以在全局样式中或者特定的树节点上添加 CSS 规则,来禁止用户选择文本。例如,你可以在 el-tre…

【AWS AMI跨境备份】跨境使用 S3 备份和还原 AMI 镜像

文章目录 一、实验场景二、实验目标三、实验架构图四、涉及到AWS服务五、演示操作5.1 创建EC2实例5.2 创建映像5.3 备份AMI至Global S35.4 复制AMI从Global S3至 CN S35.5 还原AMI5.6 测试AMI 六、参考链接 一、实验场景 将 AWS Global区域的EC2实例备份至 AWS CN区域。 备份…

苍穹外卖学习笔记(二十五)

文章目录 Spring Task介绍应用场景: cron表达式例如: 入门案例 订单状态定时处理处理超时订单处理一直配送中的订单OrderMapper WebSocket介绍HTTP协议和WebSocket协议对比应用场景:入门案例1. 使用websocket.html作为WebSocket客户端2. 导入…

Windows多线程编程 互斥量和临界区使用

Windows 多线程编程允许程序同时运行多个线程,提高程序的并发性和执行效率。多线程编程中的核心概念包括线程的创建、同步、调度、数据共享和竞争条件等。本文详细介绍了 Windows 多线程编程的关键技术点,并解释如何使用线程同步机制来保证线程安全。 1…

2.2.ReactOS系统,系统调用表MainSSDT的实现

2.2.ReactOS系统,系统调用表MainSSDT的实现 2.2.ReactOS系统,系统调用表MainSSDT的实现 文章目录 2.2.ReactOS系统,系统调用表MainSSDT的实现系统调用表MainSSDTSVC_ 宏的定义sysfuncs.h函数的声明 系统调用表MainSSDT ULONG_PTR MainSSDT[…

【FFmpeg系列】:图片处理

引言 FFmpeg 是一个功能强大的多媒体处理工具,广泛应用于音视频处理领域。然而,它的图片处理能力同样不容忽视。本文将深入探讨 FFmpeg 在图片处理方面的高级技巧和优化方法,帮助您更高效地完成图片处理任务。 一、图片格式转换 1.1 基础转…