ARM常用汇编语法

本文介绍了计算机指令的基本格式和一些常见的操作,包括 MOV 寄存器数据拷贝,LDR 和 STR 的内存访问,PUSH 和 POP 的栈操作,SUB 减法指令,以及 XORL 的异或操作。这些指令在编程和处理器操作中扮演着关键角色,理解它们对于底层编程和系统级调试至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

指令格式
操作指令 目的操作数 源操作数

1、MOV指令

MOV R0, R1 		//@表示寄存器R1的数据拷贝给R0寄存器
MOV R0, #0x10  //@表示将立即数0x10赋值给寄存器R0
//注: 立即数指的是在立即寻址方式指令中给出的源操作数(言外之意就是可以直接使用的),类似于常量,不能作为被赋值的量使用。
//立即数的优点:取指的时候可以直接访问,不用单独去内存读取,速度快
//立即数的缺点:不能是任意的32位数字,具有局限性

2、LDR(寄存器访问指令)

LDR Rd, [Rn,#offset] //将存储器Rn+offset中的数据读出存放到Rd中
LDR R0, =0x0209C004 //@将寄存器地址0x0209C004赋值给R0,即R0 = 0x0209C004;0x0209C004 为立即数此处不用#,而是=
STR Rd, [Rn,#offset] //将Rd中的数据写入到存储器中Rn+offset中

3、PUSH POP(压栈 出栈)

push R0 //@寄存器R0入栈
pop R0 //@寄存起R0出栈

4、sub(减法指令)

sub dest, source //@将dest减去source操作数

5、xorl(异或指令)

xorl    %ebp, %ebp //@表示目的操作数与源操作数做异或操作,并将结果保存在目标操作数中
'%' 作用是将源操作数与目的操作数反过来操作。

6、str
指令格式与上面不太一样:
str 源寄存器 目的存储器
表示:将源地址中一个32位的字数据传送到目的存储器中去

str R0, [R1], #8  ;将R0中的“字数据”写入以R1为地址的存储器中,并将新地址R1+8写入R1
str R0, [R1,#8]   ;将R0中的“字数据”写入以R1+8为地址的存储器中。

注:来源于网络自学,不用于商业,若有侵权告知立删!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值