ARM64特有一些的汇编指令

简介: ARM64特有的汇编指令

adrp指令(address page)

它是一条地址读取指令,是用于计算指定的数据地址到当前PC值的相对偏移。
下面是它具体的用法及解释

image.png

得到一个大小为4KB的页的基址,而且在该页中有全局变量g的地址;ADRP就是讲该页的基址存到寄存器X6中;
ADD指令会算出g的地址,X6+#_g@PAGEOFF,#_g@PAGEOFF是一个偏移量;这样就得到了g的地址X6;

•内存读写指令(ldr、ldur、ldp, str、stur、stp)

STR、STP、STUR为存储数据指令(注:以ST开头的表示为存储指令)
LDR、LDP、LDUR为取出数据指令(注:以LD开头的表示为取出数据)
以下是具体指令说明及汇编代码分析
STR指令:将数据从寄存器中读出来,存储到内存中。
STUR指令:将寄存器中的负数数据读取出来,存放到内存中。
STP指令:表示入栈指令。

image.png

LDR指令:将数据从内存中取出来,存放到寄存器中。
LDUR指令:将内存中负数的数据取出来,并存放到寄存器中。
LDP指令:表示出栈指令

image.png

相关文章
|
1月前
|
编译器
【ARM汇编速成】零基础入门汇编语言之基本认识(一)
【ARM汇编速成】零基础入门汇编语言之基本认识(一)
|
1月前
|
存储 编译器 C语言
【ARM汇编速成】零基础入门汇编语言之C与汇编混合编程(四)
【ARM汇编速成】零基础入门汇编语言之C与汇编混合编程(四)
【ARM汇编速成】零基础入门汇编语言之C与汇编混合编程(四)
|
1月前
|
存储 移动开发 C语言
【ARM汇编速成】零基础入门汇编语言之指令集(三)
【ARM汇编速成】零基础入门汇编语言之指令集(三)
|
1月前
|
编译器 C语言 计算机视觉
【ARM汇编速成】零基础入门汇编语言之指令集(二)
【ARM汇编速成】零基础入门汇编语言之指令集(二)
138 0
|
2月前
ARM64技术 —— 系统调用指令SVC、HVC和SMC的使用规则
ARM64技术 —— 系统调用指令SVC、HVC和SMC的使用规则
几组汇编指令的比较
几组汇编指令的比较
|
4月前
|
开发者
云上应用管理问题之Arm指令集和Arm公司的特点是什么
云上应用管理问题之Arm指令集和Arm公司的特点是什么
|
4月前
|
存储 机器学习/深度学习 芯片
8086 汇编笔记(十二):int 指令 & 端口 & 直接定址表
8086 汇编笔记(十二):int 指令 & 端口 & 直接定址表
|
4月前
|
存储 算法 安全
深入理解汇编语言:基础语法和常用指令介绍
深入理解汇编语言:基础语法和常用指令介绍
8086 汇编笔记(九):call 指令 和 ret 指令
8086 汇编笔记(九):call 指令 和 ret 指令