腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
ARM64
-
函数
地址
的
程序
集
分支
、
、
、
在使用
arm64
内联汇编从LKM中将64位
地址
加载到寄存器时,我遇到了一个问题。unsigned long address = &hooked_do_undefinstr;BLR我尝试使用以下命
浏览 24
提问于2017-07-24
得票数 1
回答已采纳
3
回答
如何创建可以在iOS 5到7上运行
的
armv7
arm64
fat二进制文件?
、
、
多年来,苹果已经改变了指令
集
。由于单个
程序
可能需要在不止一种机器上运行,因此Apple使用由名为“lipo”
的
工具构建
的
“胖二进制文件”。您告诉Xcode多次编译您
的
程序
,每种机器类型编译一次,然后lipo将它们绑定在一起。而且,该
程序
在Armv7和
Arm64
的
iOS 7设备上运行良好。一小段诊断代码
浏览 2
提问于2013-10-21
得票数 4
2
回答
为什么存储在NMI矢量
地址
中
的
NMI功能
地址
以ARM皮层中
的
位1结束?
、
我有自己
的
NMI处理
程序
,即NMI_Handler
函数
,它
的
地址
以位0结束。我可以在调试器中看到这一点。然而,NMI处理
程序
的
向量
地址
存储了与NMI_Handler
函数
相同
的
地址
,只是位以1结束。我
的
问题是为什么会有差异。我知道这是因为ARM皮层M只支持Thumb指令,即只支持16位指令。我不能理解这个推理。它背后
的
原因是什么?为什么它将最后一位设置为1。void
浏览 1
提问于2019-05-30
得票数 0
1
回答
arm64
程序
集
:向前
分支
n个字节
、
、
、
嘿,我正在尝试在64位arm中进行低级系统编程,我尝试向前
分支
64个字节,特别是为了跳过。我注意到在
arm64
下,PC不再是一个可访问
的
寄存器。如何相对于
arm64
程序
集中的当前位置向前
分支
64个字节?我需要它适合两个或更少
的
指令(code0和code1)。谢谢
浏览 1
提问于2020-06-25
得票数 0
1
回答
文件读取符号和符号
地址
1字节差
、
、
几天前,我通过精灵符号表比较字符串,找出我
的
函数
。我可以很好地找到目标字符串,并且成功地获得了起始偏移量和大小。但是,当将此偏移量与objdump
的
结果进行比较时,可以看到1字节是不同
的
。怎么啦?操作系统: windows 10目标arch:armeabi-v7a应用结果: 0x00908b5我查过
的
是: 这是一个
浏览 2
提问于2021-04-19
得票数 0
1
回答
ARM64
:从
程序
集
分支
到
函数
时如何保护整个堆栈
、
我有以下
ARM64
汇编代码:.arch armv8-a.global testARM64 arg1 .req%d\n", a); testARM64(0, 0, 0, 0, 0, 0);} 如何在
分支
到我
的
意思是什么是等同于推/弹ARM指令,它可以工作,无论参数
的
数量,无论我在我
的</em
浏览 5
提问于2017-02-05
得票数 1
2
回答
4字节
的
汇编指令如何编码一个4字节
的
内存
地址
?
、
、
我没有特定
的
机器设置,但总的来说,我用C++编写了以下内容:x = 0xFFFFFFFF;y = 0x00000000; 我可以想出一种在汇编中这样做
的
方法-> register 1 // load value of *xstore register 1 register 2 然而,上述指令中没有一个内存
地址
被编码( 4GB内存为32位),只有寄存器
的
地址
被编码(如果我们
浏览 0
提问于2015-10-04
得票数 2
回答已采纳
3
回答
所需
的
最低装配指令是什么?
、
、
如果您要构建一个可用于运行任意
程序
的
处理器,您可以使用
的
最小指令
集
(ISA)是什么?我在想: 你认为如何?
浏览 4
提问于2012-06-26
得票数 1
回答已采纳
1
回答
XCode 7:如何分别组装armv7、
arm64
和x86 .S文件?
、
、
、
我正在将一个仿真器项目移植到iOS,其中包括.S文件中
的
一些ARM和X86机器代码。如何配置我
的
项目,以便仅为实际
的
iOS硬件编译ARM代码,而只为模拟器编译X86代码。此外,我拥有的ARM代码是ARMv7,而不是
ARM64
。据我所见,我应该能够将".machine armv7“指令放入ARM .S文件中,以使汇编
程序
使用旧
的
指令
集
(在
arm64
上应该运行得很好,对吧?)但是,汇编
程序
给出了一个错误:"error:
浏览 2
提问于2015-09-29
得票数 0
回答已采纳
2
回答
LLVM
ARM64
程序
集
:获取符号/标签
地址
?
、
、
我正在将一些32位ARM代码移植到64位,在确定此指令
的
64位版本时遇到了困难:其中_fns是在项目其他地方
的
一些C源文件中定义
的
符号。adrl x1, _fns <== "error: unrecognized instruction mnemonic" 汇编
程序
是iOS SDK (XCode 7.1)中
的
LLVM。我注意到,如果_fns是本地定义
的
(即在同一个.S文件中),那么"adr x1,_fns“可以正
浏览 7
提问于2015-11-30
得票数 1
回答已采纳
1
回答
如何在elf文件中区分thumb指令和arm指令?
、
、
、
因为arm指令是32位
的
,thumb指令是16位
的
,所以反汇编
的
方式是different.So如何从十六进制指令中检测thumb指令?
浏览 2
提问于2015-07-22
得票数 2
1
回答
ARM64
ret指令是否将x0
的
值传递给
函数
的
参数?
、
、
、
我有一个关于
ARM64
寄存器
的
问题。X0适用于function argument passing和function return value。而X30是为function return address编写
的
。有两个代码片段:void test(void* arg) {}mov x3 ,x4ret 现在我假设X30存储
函数
test
的
地址
,X0存储值0xfffffff执行完ret指令后,pc将取出X30
的
值,即tes
浏览 208
提问于2019-02-21
得票数 0
1
回答
从精心设计
的
子例程返回到修改后
的
返回
地址
时BR/RET
的
时间差
、
、
、
在我尝试64位ARM架构
的
冒险中,我发现了一个奇怪
的
速度差异,这取决于br还是ret是否用于从子
程序
返回。foo
的
调用方“重新输入”foo w0时间,首先让foo返回到调用foo
的
指令(即在x30指向
的
指令之前)。有了一些粗略
的
时间,由于w0值足够高,平均花费了大约1362毫秒。奇怪
的
是,将第一个ret替换为br x30使其运行速度提高了一倍,平均只需550毫秒左右。如果将测试简化为只重复调用带有裸ret/br x30
的
子例
浏览 17
提问于2022-01-01
得票数 2
回答已采纳
1
回答
如何从Kext访问未导出
的
符号?
、
、
、
访问从Apple kext模块导出
的
内核符号 首先,为了访问从苹果
的
kext模块com.apple.kpi.unsupported导出
的
内核
函数
,我使用了下面的extern声明。,但不能从苹果
的
kext模块导出?我还想访问名为SecureDTInitEntryIterator
的
内核
函数
。我发现这个符号列在/System/Library/Kernels/内核中
的
内核符号上。然而,$kextfind -定义-符号_S
浏览 12
提问于2021-04-26
得票数 3
回答已采纳
1
回答
ARMv4、ARMv5E、ARMv6组件在具有ARMv7和ARMv8-A (
arm64
)指令
集
的
iOS设备上
的
使用
、
、
有大量用C语言编写
的
库,其中一些
函数
的
程序
集
(用于ARMv7)优化版本大大提高了性能(其中一些
函数
使用了NEON)。在这种情况下,我知道我应该更好地使用它们
的
优化版本。现在我有了一个用C编写
的
库,它具有用C和ARMv4、ARMv5E
程序
集
编写
的
一些
函数
。对于默认
的
编译配置,它不尝试在iOS设备上使用此
程序
集
代码。我想知道我是否应
浏览 3
提问于2014-05-09
得票数 1
回答已采纳
1
回答
如何在设备驱动
程序
中读取寄存器?
、
在linux驱动
程序
中,在设备
的
init
函数
中,我尝试读取一个
地址
( SMMUv3设备用于
arm64
),如下所示。uint8_t *
地址
1;但我得到了是否允许使用ioremap将
地址
映射到虚拟
地址
,只读取该
地址
?
浏览 11
提问于2021-07-27
得票数 0
回答已采纳
1
回答
boost::mp11::mp_with_index与std::
函数
数组
的
性能比较
、
、
、
、
. */);注意:我知道boost::mp11::mp_with_index基本上创建了一个开关语句,允许将运行时索引转换为编译时索引。这带来了一些间接
的
影响,但我希望这样
的
代价不会太高。类似地,我知道std::f
浏览 19
提问于2021-12-27
得票数 2
回答已采纳
1
回答
如何在
ARM64
中实现系统调用?
、
、
我正在使用
arm64
程序
集
编码,我希望使用svc指令实现系统调用。我找不到任何有效
的
arm64
系统调用实现online.Also,也找不到
arm64
的
系统调用列表。同时也解释了实现。
浏览 11
提问于2014-08-21
得票数 10
回答已采纳
1
回答
ARM7a指令-没有为直接(相对位移)定义
分支
BX,有什么可供选择
的
?
、
、
我正在修改汇编
程序
/链接器以添加ARM7a后端。要与调用( BL )进行互操作,就有BLX,所以如果我看到一个具有bit0
集
的
全局符号,我就知道如何将BL切换到BLX指令。但是对于一个
分支
,没有BX可用于一个直接(相对位移),只有一个寄存器定位
的
地址
。我没有看到一个指令
的
替代方案,所以我使用单板
分支
的
LDR r0, [pc + offset],它从一个.word加载符号
地址
,然后是BX r0。但我不敢相信,
浏览 11
提问于2022-07-18
得票数 2
3
回答
如何获得
函数
的
原始
地址
?
、
、
我正在编写一个Jit编译器,我需要根据它(偏移)
程序
集
的
地址
调用一个
函数
。IE,给予:我希望能够得到这个
函数
的
实际
地址
,这样我就可以通过
程序
集
的
偏移来调用它。我试过几件事,但我得到了不同
的
答案:void (*address2)() = &myf
浏览 2
提问于2014-02-04
得票数 2
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
热门
标签
更多标签
云服务器
ICP备案
对象存储
云直播
腾讯会议
活动推荐
运营活动
广告
关闭
领券