当前位置: 首页> 文旅> 旅游 > 浏览广告赚钱一天100元_我的世界网页版在线玩_网络营销做得比较成功的企业_网站建设seo

浏览广告赚钱一天100元_我的世界网页版在线玩_网络营销做得比较成功的企业_网站建设seo

时间:2025/7/14 15:48:17来源:https://blog.csdn.net/xujiashuo1/article/details/142691290 浏览次数:0次
浏览广告赚钱一天100元_我的世界网页版在线玩_网络营销做得比较成功的企业_网站建设seo

-ARM核介绍

    -CPU核

        CPU又叫中央处理器,其主要功能是进行算数运算逻辑运算,内部结构大概可以分为控制单元,算术逻辑单元和储存单元等几个部分

-ARM核

    工作模式:

user mode:用户模式是用户程序的工作模式,他运行在操作系统的用户态,没有权限去操作其他硬件资源,只能执行自己的数据,也不能切换到其他模式下,想要访问硬件只能通过软中断产生异常 

system mode:系统模式是特权模式,不受用户模式的限制,用户模式与系统模式共用一套寄存器,操作系统在该模式下可以方便的访问用户模式的寄存器,而且操作系统的一些特权任务可以使用这个模式访问一些受控的资源

IRQ mode:IRQ模式是采用IRQ中断的默认模式一般中断模式也叫普通中断模式,用于处理一般的中断请求,通常在硬件产生中断信号之后自动进入该模式,该模式为特权模式,可以自由访问系统资源

FIQ mode:FIQ模式是采用FIQ中断的默认模式快速中断模式是相对与一般中断模式而言的,它是用来处理时间相对比较紧急的中断请求,主要用于高速数据传输及通道处理

-ARM核的寄存器资源

    寄存器是中央处理器内的组成部分,寄存器是有限存贮容量的告诉存贮部件,它们可以用来暂存指令、数据和地址,在中央处理器的控制部件中,包含的寄存器有指令寄存器IR)和程序计数器(PC)

寄存器用途分析

    R0 -R10用来存放用户的数据

    R11(fp用来记录一个栈空间的开始地址

    R12(ip用来临时存储sp

    R13(sp栈指针寄存器

    R14(lr在发生跳转的时候,用来保存PC寄存器的值

    R15(pc):用来存放CPU需要执行的指令所在内存的地址

CPSR    

 mode[0:4]记录当前ARM核所在的模式

 TARM状态执行32bit指令),thumb状态执行16bit指令

 FFIQ禁止(1)使能(0)

 IIRQ禁止(1)使能(0)

 N计算的结果为负数,则置1

 Z计算的结果为,则置1

 C产生进位则置1产生借位则置0

 V超过一个范围溢出

SPSR异常产生的时候,用来保存CPSR的值

-ARM指令格式

 

立即数

    立即数为一个常数,该常数必须对应8位位图,即一个8位的常数通过循环右移偶数位得到该数,该数位合法立即数 ;在指令中表示方法:#数字,例如#100

快速判定是否为合法立即数:

    1.首先将这个数转换为32bit的16进制形式

    2.除零外,仅有一位数为合法立即数

    3.除零外,仅有二位数,并且相邻(包括首尾,例如0x1000000A)的为合法立即数

    4.除零外,仅有三位数,并且相邻(包括中间有0相间,例如0x10800000;包括首尾相邻,例如0x14000003),这三位数中,最高位取值仅能为1,2,3最低位取值仅能为4,8,C,中间位任意,这种组合为合法立即数 

 

寄存器移位

    将寄存器值读取之后,进行移位运算后,作为操作2参与运算,支持的移位方式如下:

        1.LSL逻辑右移

        2.LSR逻辑左移

 

-常用ARM核指令

数据传送指令
MOV指令

    格式:mov  目标寄存器,操作数2

    功能:将操作2的值赋值给目标寄存器

 

MVN指令

    格式:mvn  目标寄存器,操作数2

    功能:将操作2取反的值给目标寄存器

 

LDR指令

    格式:ldr  目标寄存器,=数据

    功能:完成任意的数据传送到目标寄存器

    注意:数据前面不能加#因为此时数据不按立即数来处理

 

数据计算指令
ADD指令

    格式:add  目标寄存器,操作数1,操作数2

    功能:将操作数1加上操作数2的结果给目标寄存器

 

SUB指令

    格式:sub  目标寄存器,操作数1,操作数2

    功能:将操作数1减去操作数2的结果给目标寄存器

    注意:如果值为负数会影响到CPSR寄存器的N

 

MUL指令

    格式:mul  目标寄存器,操作1,操作2

    功能:将操作数1乘以操作数2的结果存放在目标寄存器

    注意:操作数1和操作数2必须都是寄存器,并且操作数1的寄存器编号不能和目标寄存器一样

 

位运算
AND指令

    格式:and  目标寄存器,操作数1,操作数2

    功能:将操作数1按位与操作数2的结果存放在目标寄存器

 

ORR指令

    格式:orr  目标寄存器,操作数1,操作数2

    功能:将操作数1按位或操作数2的结果存放在目标寄存器

 

EOR指令

    格式:eor  目标寄存器,操作数1,操作数2

    功能:将操作数1按位异或操作数2的结果存放在目标寄存器

 

BIC指令(位清零操作)

    格式:bic  目标寄存器,操作数1,操作数2

    功能:将操作数1按位与操作数2取反的结果存放在目标寄存器

    注意:目标寄存器=操作数1&~操作数2

 

比较指令--CMP指令

    格式:cmp  寄存器,操作数2

    功能:将寄存器的值与操作数2比较比较的结果会自动影响CPSR的NZCV

 

跳转指令--B/BL指令

    格式:B/BL  标签

    功能:跳转到一个指定的标签,BL跳转之前,将跳转前的PC的值保存在LR,跳转范围+/-32M

 

给PC赋值

    格式:ldr  pc,=标签名

    功能:将pc指针指向标签表示的地址

关键字:浏览广告赚钱一天100元_我的世界网页版在线玩_网络营销做得比较成功的企业_网站建设seo

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: