10 ab6326795

尚未进行身份认证

我以为小鸟飞不过沧海,是以为小鸟没有飞过沧海的勇气,十年以后我才发现,不是小鸟飞不过去,而是沧海的那一头,早已没有了等待

等级
博文 629
排名 2k+

ART Mterp Interpreter 解释 bytecode

Interpreter首先分析Interpreter如何解释执行dalvikbytecode,Interpreter在ART7.0有3种实现:InterpereImpl:enumInterpreterImplKind{kSwitchImplKind,//Switch-basedinterpreterimplementation.kC...

2019-06-24 11:01:06

ART Overview

Android虚拟机演化VM Runtime Android版本 说明 Dalvik Interpreter Android2.2以前 慢,卡顿 Dalvik Interpreter+JIT Android2.x/4.x 性能有所提升,仍慢,卡顿且耗电 ART Interpreter+AOT(Quick) ...

2019-05-30 16:15:46

Android App瘦身实战

随着业务的快速迭代增长,不断引入新的业务逻辑代码、图片资源和第三方SDK等,很多app都面临一个一个结果,app越来越大,甚至很多无用的代码,包体积的增大带来了很多问题,诸如app启动更慢,代码维护越来越困难。公司业务发展到一定程度之后,重构,代码优化,app瘦身成为不得不做的一个任务。这里以xx外卖app为例给大家讲讲app瘦身过程中常用的几种方法(也都是网上老生常谈的)。apk文件构成...

2019-05-30 15:51:38

ARM实现除法运算。以及Branch to unaligned destination, expect destination to be <max> byte aligned解决办法

在贴吧看到一道题目:刚学ARM7汇编不久,所以就来练练手。解答如下:PRESERVE8AREACLAC,CODE,READONLYEXPORTmainIMPORT_printfBUFDCD-1,3,24,94,62,72,55,0,-48,99BUF_SIZEEQU10PIRNT_BUFDCB"max=%d,ave=%d",0...

2019-05-24 18:28:30

ARM汇编实现 for循环、strcmp、 调用printf打印字符串示例

utils.S(实现for循环、strcmp)AREAFIRE,CODE,READONLYEXPORTforEXPORTstrcmp_asmforPUSH{LR}FOR_LOOPBLXR0SUBSR1,R1,#0x1BNEFOR_LOOPPOP{LR}BXLRstrcmp_asmLDRBR2,[R0],#1...

2019-05-23 18:07:44

arm协处理器(CDP,LDC,STC,MCR,MRC)

ARM微处理器可支持多达16个协处理器,用于各种协处理操作,在程序执行的过程中,每个协处理器只执行针对自身的协处理指令,忽略ARM处理器和其他协处理器的指令。ARM的协处理器指令主要用于ARM处理器初始化ARM协处理器的数据处理操作,以及在ARM处理器的寄存器和协处理器的寄存器之间传送数据,和在ARM协处理器的寄存器和存储器之间传送数据。ARM协处理器指令包括以下5...

2019-05-23 10:47:56

ARM指令STMFD和LDMFD、PUSH和POP区别深入详解

根据上一篇文章,https://blog.csdn.net/tabactivity/article/details/90449317,我们编写了一个ARM汇编示例main.c#include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;#include&lt;stdint.h&gt;externintasm_add(int,int);in...

2019-05-22 18:42:58

ARM的STM和LDM指令详解

STM和LDM的主要用途是现场保护、数据复制、参数传递等,其模式有8种,如下:注:前面4种用于数据块的传输,后面4种用于堆栈操作(1)IA每次传送后地址加4(2)IB每次传送前地址加4(3)DA每次传送后地址减4(4)DB每次传送前地址减4(5)FD满递减堆栈(6)FA满递增堆栈(7)ED空递减堆栈(8)EA空递增堆栈下面的讲述对于空递减...

2019-05-22 18:15:22

ARM关于标志位影响详解

比较指令CMP,CMN,TEQ,TST这几条指令,总是会更新条件标志位,但运算结果总是被扔掉,不会进行保存。他们的语法格式如下CMP{cond}Rn,Operand2;Rn-Operand2操作类似SUBS(除了扔掉运算结果)CMN{cond}Rn,Operand2;Rn+Operand2操作类似ADDS(除了扔掉运算结果)TEQ{cond}R...

2019-05-21 15:28:00

ARM指令详解(二) 表格版,更全

指令格式:指令{条件}{S}{目的Register},{OP1},{OP2} "{}"中的内容可选。即,可以不带条件只有目的寄存器,或 只有目的寄存器和操作数1,也可以同时包含所有选项。“S”决定指令的操作是否影响CPSR中条件标志位的值,当没有S时指令不更新CPSR中条件标志位的值 助记符 ...

2019-05-20 17:34:02

ARM 练习笔记

目录1、BIT运算2、LDR/STR使用3、比较指令示例(CMP\TST),条件跳转BEQ、BNE4、宏定义的使用5、ADR与LDR的区别6、CPSR寄存器控制7、!的使用8、DCD数组,LDR、STR示例1、BIT运算MOVR3,#0x07MOVR4,R3BICr3,r3,#0x05...

2019-05-17 10:35:23

ARM 指令集中,SBC 为什么C要取反

需要注意的是,在SUBS指令中,如果发生了借位操作,CPSR寄存器中的C标志位设置成0:如果没有发生借位操作,CPSR寄存器中的C标志位设置成1。这与ADDS指令中的进位指令正好相反。这主要是为了适应SBC等指令的操作需要。SBC带位减法指令:SBC指令从寄存器<Rn>中减去<shifter_operand>表示的数值,再减去寄存器CPSR中C...

2019-05-16 18:33:55

ARM立即数详解

在ARM汇编的数据处理指令中经常会使用到常数,而ARM汇编中规定使用的常数必须是立即数;为什么会有立即数这样的规定呢?答:这是由于所有的ARM指令是精简指令集,指令长度固定都是32位,对于ARM数据处理指令自然也是一样。数据处理指令大致可包含3类,数据传送指令、数据算术逻辑运算指令和数据比较指令。在一条ARM数据处理指令中,除了要包含处理的数据值外,还要标识ARM命令名称,控制位,寄存器等其...

2019-05-16 16:50:55

ARM指令集详解(一)带实例!

原文地址算术和逻辑指令ADC:带进位的加法(AdditionwithCarry)ADC{条件}{S}&lt;dest&gt;,&lt;op1&gt;,&lt;op2&gt;dest=op_1+op_2+carry1 2ADC将把两个操作数加起来,并把结果放置到目的寄存器中。它使用一个进位标志位,这样就可以...

2019-05-16 12:30:10

ARM指令B BL BLX BX区别

1、B:跳转。Blabel满足条件立即跳转到Lable指定的地址执行。例:B0x1234;跳转到绝对地址0x1234处。2、BL:带链接的跳转。首先将当前指令的下一条指令地址保存在LR寄存器,然后跳转的lable。通常用于调用子程序,可通过在子程序的尾部添加movpc,lr返回。例:BLfunc;跳转到子程序func处执行,同时将当前p...

2019-05-16 09:25:27

一个简单的ARM7汇编程序示例详解

先上完整的示例代码:1、calc.SAREACALC,CODE,READONLYEXPORTasm_add;定义了一个叫asm_add的子程序,我们在C语言里会传递两个参数。参数占用了R0,R1寄存器。本程序里为3和2asm_addPROCADDr3,r0,#0x01;r3=r0+1MOV...

2019-05-15 17:59:41

SIMD、SIMD、SIMT、MISD、MIMD详解与比较

1、SISDSISD(SingleInstructionSingleDatastream)单指令流单数据流,计算机体系结构分类的一种。按照计算机同时处于一个执行阶段的指令或数据的最大可能个数划分,可分为SISD、SIMD、MISD、MIMD;SISD(SingleInstructionSingleDatastream)单指令流单数据流(SISD):SISD其实就是传统的...

2019-05-15 14:54:51

使用DS-5 创建程序

文章链接:https://blog.csdn.net/yhb1047818384/article/details/81045564

2019-05-14 18:09:03

移动广告作弊技术研究

APP安装类的广告作弊手段分为三类:点击作弊:虚假点击、真实用户安装作弊:虚假点击、虚假用户合约作弊:真实点击、真实用户下图中红色表示作弊,灰色表示真实的。点击作弊在真实用户的设备上进行模拟点击时,即使真实广告没有显示或者被点击,也会让广告主相信广告已经被点击。这是一种高回报的欺骗方式,因为它只需要一个虚假的点击操作就可以获得广告收入。如下图,某安全产品就采用了模拟...

2019-05-10 18:05:36

ARM汇编与ARM GNU汇编 区别

一、想学汇编,at&amp;t汇编与ARM汇编的区别?问:想学汇编语言,因为现在用的是linux系统(ubuntu11.04),so有一本《汇编语言程序设计》马朝晖译,可惜淘宝、当当、京东等都没货,淘宝上只有盗版的。ARM的书倒是挺多(但是我不是搞嵌入式的),二者有什么区别?语法一样否?汇编器都是gas?如果学习linux内核,二者是否通用?学汇编语言(linux平台的最好),有啥经典...

2019-05-10 11:14:32
奖章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。