【真心求教】很短的几行ARM汇编,怎么看都不懂,跪求转C的代码!
__text:0038C35A ADDS R1, R5, #3 ; r5=62 r1=62+3=65 r5=length
__text:0038C35C BIC.W R1, R1, #3 ; r1=r1&~0x03 r1=64
__text:0038C360 SUB.W R6, SP, R1 ; //到这里看不懂了.R6为BYTES
__text:0038C364 MOV SP, R6
__text:0038C366 STR.W R6, [SP,#0x18+var_1C]! ; int
__text:0038C36A ASRS R3, R4, #0x1F
__text:0038C36C MOV R1, R5 ; size_t
__text:0038C36E MOV R2, R4 ; int
__text:0038C370 BL sub_38C150
__text:0038C374 ADD SP, SP, #4
__text:0038C376 MOVW R0, #(:lower16:(selRef_dataWithBytes_length_ - 0x38C38C))
__text:0038C37A MOV R3, R5
__text:0038C37C MOVT.W R0, #(:upper16:(selRef_dataWithBytes_length_ - 0x38C38C))
__text:0038C380 MOV R2, #(classRef_NSData - 0x38C38E) ; classRef_NSData
__text:0038C388 ADD R0, PC ; selRef_dataWithBytes_length_
__text:0038C38A ADD R2, PC ; classRef_NSData
__text:0038C38C LDR R1, [R0] ; "dataWithBytes:length:"
__text:0038C38E LDR R0, [R2] ; _OBJC_CLASS_$_NSData
__text:0038C390 MOV R2, R6
__text:0038C35C BIC.W R1, R1, #3 ; r1=r1&~0x03 r1=64
__text:0038C360 SUB.W R6, SP, R1 ; //到这里看不懂了.R6为BYTES
__text:0038C364 MOV SP, R6
__text:0038C366 STR.W R6, [SP,#0x18+var_1C]! ; int
__text:0038C36A ASRS R3, R4, #0x1F
__text:0038C36C MOV R1, R5 ; size_t
__text:0038C36E MOV R2, R4 ; int
__text:0038C370 BL sub_38C150
__text:0038C374 ADD SP, SP, #4
__text:0038C376 MOVW R0, #(:lower16:(selRef_dataWithBytes_length_ - 0x38C38C))
__text:0038C37A MOV R3, R5
__text:0038C37C MOVT.W R0, #(:upper16:(selRef_dataWithBytes_length_ - 0x38C38C))
__text:0038C380 MOV R2, #(classRef_NSData - 0x38C38E) ; classRef_NSData
__text:0038C388 ADD R0, PC ; selRef_dataWithBytes_length_
__text:0038C38A ADD R2, PC ; classRef_NSData
__text:0038C38C LDR R1, [R0] ; "dataWithBytes:length:"
__text:0038C38E LDR R0, [R2] ; _OBJC_CLASS_$_NSData
__text:0038C390 MOV R2, R6
...全文
相关推荐
C语言内嵌arm汇编
C语言内嵌ARM汇编是一种将底层硬件操作与高级编程语言相结合的技术,它允许程序员在C代码中直接插入ARM架构的汇编指令,以实现特定的性能优化或硬件交互。
ARM汇编语言与嵌入式C语言混合编程
GNU ARM环境下调用C语言**- 首先,在汇编文件中使用`.extern`伪操作声明将要调用的C函数。- 示例:计算20!的阶乘值,并将64位结果保存到寄存器R0、R1中。
ARM GCC 内联汇编参考手册
### ARM GCC 内联汇编参考手册解析#### 关键知识点概述本手册主要介绍了如何在C语言中使用GCC提供的内联汇编功能来编写针对ARM架构的代码。
ARM64汇编.pdf
在iOS应用的开发中,由于iOS系统的封闭性,通常开发者主要使用Swift或Objective-C进行应用开发,而不直接编写ARM64汇编代码。
浅析ARM汇编 C语言 C++ 相互调用的方法
### 浅析ARM汇编 C语言 C++ 相互调用的方法#### 一、引言在嵌入式开发领域,ARM架构因其低功耗、高性能的特点被广泛应用。


