zoukankan      html  css  js  c++  java
  • 学习笔记-arm01

       PUSH    {R0,R1,R4,LR}
    .text:000250A6                 LDR     R3, [R0]   				加载内存到寄存器中    LDR  目的寄存器,《存储器地址》带中括号的是取内容
    .text:000250A8                 ADD     R1, SP, #0x10+var_C		加法指令       R1 = SP + #0x10+var_C
    .text:000250AA                 LDR     R2, =0x10006				加载内存到寄存器中    R2 <- 0x10006
    .text:000250AC                 LDR     R3, [R3,#0x18]			加载内存到寄存器中    R3 <- [R3+0x18]
    .text:000250AE                 BLX     R3						带返回和状态切换的跳转指令   BLX <目的地址><Rm> 
    .text:000250B0                 CMP     R0, #0					比较指令    CMP  操作数1-操作数2 = CPSR条件标志位
    .text:000250B2                 BEQ     loc_250C0				跳转指令  相等或Z=1 时跳转  
    .text:000250B4                 LDR     R1, =(aDebug - 0x250BE)	加载内存到寄存器中    R1 <- aDebug - 0x250BE
    .text:000250B6                 LDR     R2, =(aFailedToGetThe - 0x250C0)  加载内存到寄存器中 R2 <- aFailedToGetCla - 0x250C0
    .text:000250B8                 MOVS    R0, #6					  数据传送指令,影响CPSR中条件标志位  R0 <- 6
    .text:000250BA                 ADD     R1, PC          ; "debug"  加法指令     R1 = R1+PC
    .text:000250BC                 ADD     R2, PC          ; "Failed to get the environment"加法指令 R2 = R2+PC
    .text:000250BE                 B       loc_250DA				无条件跳转指令
    .text:000250C0 ; ---------------------------------------------------------------------------
    .text:000250C0
    .text:000250C0 loc_250C0                               ; CODE XREF: JNI_OnLoad+Ej
    .text:000250C0                 LDR     R0, [SP,#0x10+var_C]		加载内存到寄存器中   R0 <- [SP + 0x10 + var_C]
    .text:000250C2                 LDR     R1, =(aComAliMobisece - 0x250CA)	加载内存到寄存器中  R1 <- [aComAliMobisece - 0x250CA]
    .text:000250C4                 LDR     R3, [R0]					加载内存到寄存器中  R3 <- [R0]
    .text:000250C6                 ADD     R1, PC          ; "com/ali/mobisecenhance/StubApplication"  加法指令 R1 = R1+PC
    .text:000250C8                 LDR     R3, [R3,#0x18]			加载内存到寄存器中 R3 <- [R3+0x18]
    .text:000250CA                 BLX     R3					    带返回和状态切换的跳转指令     BLX <目的地址><Rm>
    .text:000250CC                 SUBS    R1, R0, #0				带进位标志位的减法指令        R1 = R0-0
    .text:000250CE                 BNE     loc_250E4				跳转指令    不相等 跳转
    .text:000250D0                 MOVS    R0, #6					数据传送指令,影响CPSR中条件标志位   R0 <- 6
    .text:000250D2                 LDR     R1, =(aDebug - 0x250DA)	
    .text:000250D4                 LDR     R2, =(aFailedToGetCla - 0x250DC)
    .text:000250D6                 ADD     R1, PC          ; "debug"
    .text:000250D8                 ADD     R2, PC          ; "failed to get class reference"
    .text:000250DA
    .text:000250DA loc_250DA                               ; CODE XREF: JNI_OnLoad+1Aj
    .text:000250DA                 BL      j_j___android_log_print  带返回的跳转指令
    .text:000250DE                 MOVS    R0, #1					数据传送指令,影响CPSR中条件标志位  R0 <- 1
    .text:000250E0                 NEGS    R0, R0					取二进制补码  R0 <- R0
    .text:000250E2                 B       locret_25100				无条件跳转指令 
    .text:000250E4 ; ---------------------------------------------------------------------------
    .text:000250E4
    .text:000250E4 loc_250E4                               ; CODE XREF: JNI_OnLoad+2Aj
    .text:000250E4                 MOVS    R3, #0xD7				数据传送指令,影响CPSR中条件标志位
    .text:000250E6                 LDR     R0, [SP,#0x10+var_C]		加载内存到寄存器中 R0 <- [SP,0x10+var_C]
    .text:000250E8                 LSLS    R3, R3, #2				逻辑左移带有进位标志位 R3 <-  (R3<<2)
    .text:000250EA                 LDR     R2, [R0]					加载内存到寄存器中  R2 <- [R0]
    .text:000250EC                 LDR     R4, [R2,R3]				加载内存到寄存器中  R4 <- [R2,R3]
    .text:000250EE                 LDR     R2, =(off_59004 - 0x250F6)
    .text:000250F0                 MOVS    R3, #2					数据传送指令,影响CPSR中条件标志位
    .text:000250F2                 ADD     R2, PC ; off_59004		加法指令 R2 <- R2+PC
    .text:000250F4                 BLX     R4						带返回和状态切换的跳转指令
    .text:000250F6                 SUBS    R3, R0, #1				带进位标志位的减法指令
    .text:000250F8                 SBCS    R0, R3					带进位标志位的借位的减法
    .text:000250FA                 LDR     R3, =0x10006				加载内存到寄存器中
    .text:000250FC                 NEGS    R0, R0					取二进制补码
    .text:000250FE                 ORRS    R0, R3					逻辑或指令带进位
    

      

  • 相关阅读:
    分布式页面静态化
    采用rabbitMq消息推送方案
    rabbitmq的使用介绍和注意事项目
    redis面试题
    Redis 使用入门
    git使用介绍
    JavaSE11(1)采用类
    原型模式
    javaSE 10(2)
    javaSE 10
  • 原文地址:https://www.cnblogs.com/NigelX/p/6572255.html
Copyright © 2011-2022 走看看