三级嵌入式 汇编指令汇总

                                                     ARM条件码

EQ                      相等

NE                      不相等

CS/HS                无符号大于等于

CC/LO                无符号小于

HI                      无符号大于

LS                     无符号小于等于

 

GE                    带符号大于等于

LT                     带符号小于

GT                   带符号大于

LE                    带符号小于等于

 

VS                 溢出

VC                 没有溢出

MI                 负数

 

LDR R0, [R1]                                将存储器地址为R1的字数据读入寄存器R0

LDR R0, [R1, R2]                          将存储器地址为R1+R2的字数据读入寄存器R0

LDR R0, [R1, #8]                           将存储器地址为R1+8的字数据读入寄存器R0       

LDR R0, [R1, R2]!                       将存储器地址为R1+R2的字数据读入寄存器R0, 并将新的地址R1+R2写入R1

LDR R0, [R1, #8]!                        将存储器地址为R1+8的字数据读入寄存器R0,并将新的地址R1+8写入R1   

LDR R0, [R1], R2                            将存储器地址为R1的字数据读入寄存器R0 ,并将新的地址R1+R2写入R1

LDR R0, [R1, R2, LSL#2]!               将存储器地址为R1+R2*4的字数据读入寄存器R0 并将新地址R1+R2*4写入R1

 

LDRB R0, [R1, #8] 将存储器地址为R1+8的字节数据读入寄存器R0 , 并将R0的高24位清零

LDRH R0,[R1, R2] 将存储器地址为R1+R2的半字数据读入寄存器R0 , 并将R0的高16位清零

 

MOV  R1, R0            将寄存器R0的值传送到寄存器R1

MOV PC, R14           将寄存器R14的值传送到PC

MOV R1, R0, LSL#3      将寄存器R0的值左移3位后传送到R1

CMP     R1, R0         将寄存器R1的值与寄存器R0的值相减

CMN     R1, R0         将寄存器R1的值与寄存器R0的值相加

TST  R1  #0xffe         将寄存器R1的值与立即数0xffe按位与

TEQ R1, R2                 将寄存器R1的值与R2按位异或

 

AND      逻辑与

ORR     逻辑或

EOR     异或

SUB           减法

RSB       反向减

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

相关文章

【Verilog HDL】语句的并发执行

1. 实践得到的启发 先从一个简单的现象得出结论,Verilog语句是并发执行的! 同时,这也是**$monitor系统任务为全局有效**的一个重要支持因素,如果没有并发,它是完不成这项功能的实现的。 众所周知,高级语…

linux下 最常用基本命令

常用命令 基本命令 pwd 打印绝对路径 ls 路径 列举文件名 ls 列举文件的权限 属于哪个用户 容量大小 修改…

【数字逻辑】第四章 组合逻辑电路:端口设计 端口拓展的方法

1. 端口设计的方法 1.1 数据选择器 以四选一数据选择器为例,需要的不同接口类型为 输入端口 数据输入端口地址输入端口使能端(控制与拓展) 输出端口 数据输出端口 2. 端口拓展的方法——层次建模思想 2.0 两个拓展方向 2.0.1 “数组型…

GCC及Makefile基本使用教程

GCC .c c原始程序 .C/.cc/.cxx c原始程序 .m objective-C原始程序 .i 已经预处理过的c原始程序 .ii 已经预处理过的c原始程序 .s/.S 汇编原始程序 .h 预处理头文件 .o 目标文件 .a/.so 编译后的库文件 -E 生成预处理文件 -S 生成编译过的汇编文件 -c 目标文件 .o -o…

【Verilog HDL】第三章 reg和net及其一组类型的区别——充分运用实验思维

0 确定问题的讨论层级与范围 本文讨论的层次是 数字逻辑与Verilog HDL语言 讨论的范围是: 数据存储而不是讨论逻辑 1 线网类型 1.1 wire类型 这个暂时没什么好说的,一般常用的就是wire类型,需要注意的是: 默认是标量&…

linux中标准I/O 文件I/O 及库

标准 I / O fopen() 函数打开文件的方式 r / rb 只读 文件必须存在 r / rb 读写 文件必须存在 w / wb 只写 文件存在则长度清零 不存在则创建 w / wb 读写 其他 同w a / ab 同w 且写入的数据会被追加到文件末尾 a / ab 读写 数据在文件末尾追加 其…

【C/C++ 汇编语言 Verilog】越界截断——数据越界问题的多角度分析

0 前言 0.1 讨论层级和范围 讨论层级 计算机底层:硬件层次与汇编指令层次信息与二进制位 讨论范围 信息的存储与运算在汇编语言与Verilog HDL中的联系与区别事实上,数据越界截断问题,在计算机体系的任何层次,都可能发生&#xf…

进程常用指令 (从创建到回收 包含守护)

进程 常用命令及基本介绍 ps -ef 查看所有进程信息 (一般需要配合管道使用) ps aux 查看进程信息 且显示进程状态 状态: R 运行态 正在运行或可运行 D 等待态 不可中断 S 等待态 可中断 T 停止态 Z 僵尸态 可追加: 前台运…

【VS C++ 2010】查看内存的方法详解

1 示例代码 对于以下代码&#xff1a; int main() {int a 100010001000;int b 100;cout << "a " << a << " " << &a << endl;cout << "b " << b << " " << &b…

二级C选择知识点(部分)

二级C 循环队列是队列的顺式存储结构 双向链表是链表的顺式存储结构 普通链表是链式存储结构 非线性结构可采用顺式也可采用链式 线性结构是只有一个根结点 每个节点最多有一个 带链队列可以不连续 且队头指针可大于也可小于队尾指针 在链表中 双向链表和循环链表都有两个…

【汇编语言】上机实验 win7/8/10 64位系统 进入32位DOS模式 实现dubug/edit/masm/link功能

1 软件下载和安装 下载并安装DOSBox软件&#xff0c;注意&#xff0c;不要装在C盘上&#xff0c;装在其他盘上 【备注】软件直接百度搜索即可下载Debug.exe文件 【备注】百度搜索“Debug 64位 下载” 对于下载后得到的debug.exe文件 将这个文件拷贝到磁盘根目录下&#xff0c…

ntohs(), ntohl() , htons(), htonl(), inet_ntoa(), inet_pton(), atoi()汇总

在C/C写网络程序的时候&#xff0c;往往会遇到字节的网络顺序和主机顺序的问题。这是就可能用到htons(), ntohl(), ntohs()&#xff0c;htons()这4个函数。 网络字节顺序与本地字节顺序之间的转换函数&#xff1a; htonl()--"Host to Network Long" ntohl()--"N…

【数字逻辑 Verilog】全面剖析数据选择器——从基础到拓展,从理论到设计的实现,从表面到本质

0 前言 0.1 使用环境 EDA工具&#xff1a;Vivado 2017.4硬件描述语言&#xff1a;Verilog HDL 0.2 涉及知识 数字逻辑Verilog 1 基础模块&#xff1a;一位四选一数据选择器 1.1 设计部分&#xff1a;层次建模 1.1.1 需求分析 设计一个一位的四选一数据选择器&#xff0…

exec函数族(部分 最常用的)

进程调用exec函数族执行某个程序 进程当前程序被执行程序替换 让父子进程执行不同的程序 父进程创建子进程 子进程调用exec函数族 父进程不受影响 #include<unistd.h> int execl(const char *path, const char *arg, ...) int execlp(const char *file, const cha…

【计算机网络】手动配置hosts文件解决使用GitHub和Coursera网站加载慢/卡的问题

目录0 前言1 打开hosts1.1 以管理员身份运行记事本1.2 打开hosts2 找到实际地址2.1 打开cmd2.2 找到网址3 替换地址3.1 修改hosts文件3.2 刷新4 后续内容的完善0 前言 本文是针对纯小白读者&#xff0c;没有涉及到任何的专业知识&#xff0c;你只需要按照步骤操作即可。 同时…

【汇编语言】镜像迁移能力之一通百通——由代码段和CS:IP的原理,掌握一类寄存器的使用

0 前言 你应该知道8086CPU的物理地址形成方式及其原理&#xff0c;才能完成本文的学习。 1 内存的分段 对于内存&#xff0c;人们人为地将其划分为一段一段的&#xff0c;比如代码段和数据段等&#xff0c;特别注意&#xff0c;这是人为划分的结果&#xff0c;方面人类使用&…

线程间通信————同步

同步 是指多个任务按照约定的先后次序 相互配合完成一件事情 信号量&#xff1a; 由信号量决定 线程是继续执行 还是阻塞等待 信号量代表某种资源 其值表示系统中该资源的数量 信号量是一个受保护的量 只能通过特定的三种操作来访问 初始化 P操作&#xff08;申请资源&…

【计算机组成原理 数字逻辑 Verilog】32位加法器的实现:支持整数的加减运算

目录0 前言0.1 使用环境0.2 知识点0.3 注意事项1 建模&#xff1a;1位加法器1.1 构建基础模型1.1.1 一位加法器1.1.1.1 科技黑箱&#xff1a;外部端口与功能1.1.1.2 揭秘黑箱&#xff1a;内部结构与模块1.1.2 从顶层模块提取低层模块&#xff1a;取反功能选择器1.1.2.1 科技黑箱…

线程间通信————互斥

互斥 临界资源 一次只允许一个任务&#xff08;进程&#xff0c;线程)访问的共享资源 临界区 访问临界资源的代码 互斥机制 mutex互斥锁 任务访问临界资源前申请锁 访问完后释放锁 互斥锁初始化 #include <pthread.h> int pthread_mutex_init(pthread_mutex_t *mute…

【Verilog HDL】门级描述 / 数据流描述 / 行为级描述——通过四选一多路选择器,实现对于不同层级描述方式的整体性认知

目录0 前言1 输出端口的设计1.1 门级描述和数据流描述1.2 行为级描述2 三种描述方式的整体架构2.1 门级描述2.2 数据流描述2.3 行为级描述2.4 补充&#xff1a;独立的语句2.5 小结3 理解三种描述方式的本质3.1 门级描述3.2 数据流描述3.3 行为级描述4 理解不同抽象层级描述方式…