当前位置: 首页 > news >正文

网站排名配色8090在线观看免费观看

网站排名配色,8090在线观看免费观看,木门网站模板,网络技术培训心得体会最近的文章可能会有较多修改#xff0c;请关注博客哦 异常级别 ARMv8处理器支持4种异常等级#xff08;Exception Level#xff0c;EL#xff09;。 EL0 为非特权模式#xff0c;用于运行应用程序#xff0c;其他资源访问受限#xff0c;权限不够。 EL1 为特权模式请关注博客哦 异常级别 ARMv8处理器支持4种异常等级Exception LevelEL。 EL0 为非特权模式用于运行应用程序其他资源访问受限权限不够。 EL1 为特权模式用于操作系统内核可以访问系统的所有资源 EL2 用于运行虚拟化管理管理程序hypervisor。 EL3 用于运行安全世界中的管理程序安全模式(secure monitor)。 这里的异常概念不同于程序中的异常概念。当作中断理解会好点。 执行状态 ARMv8 架构定义了两种执行状态 AArch64和AArch32。当处于 AArch64 状态时处理器执行 A64 指令集。当处于 AArch32 状态时处理器可以执行 A32在早期版本的架构中称为 ARM或 T32 (Thumb) 指令集。所以ARMv8的设备可以运行老程序它是向前兼容的。 注意AArch64 OS 运行 AArch32 程序时当应用程序调用(SVC)指令或接收中断会切换到 EL1 和 AArch64。 寄存器 AArch64执行状态提供了32个在任何时间任何特权级下都可访问的64位的通用寄存器。 每个寄存器都有64位宽它们通常被称为寄存器X0-X30。 每个AArch64 64位通用寄存器X0-X30也具有32位W0-W30形式。 也就是说64位模式下寄存器名字叫 Xn32位模式下名字叫 Wn。这些东西与 CSAPP 里面讲的都是差不多的只不过它讲的是 X86 架构。 每个寄存器的用途如下 在aarch64中没有x31或w31寄存器但是在一些指令或软件编码中经常将数字31作为XZR或SP X0-X7用于参数传递 X9-X15调用方需要保存这些寄存器的值因为被调用函数可能会修改这些寄存器。 X19-X29被调用方保存这些寄存器的值退出时再恢复因为函数返回后可能调用方还会用到这些寄存器的值。 X8, X16-X18, X29, X30这些都是特殊用途的寄存器 特殊寄存器 X8 用于储存间接结果的寄存器比如返回一个结构体的时候该寄存器储存的是结构体地址。 X18不管 sp保存栈顶地址 fp保存栈底地址 lr保存调用跳转指令 bl 指令的下一条指令的内存地址 zrxzr/wzr分别代表 64/32 位可用于清零的操作零寄存器 pc 保存将要执行的指令的地址 PSTATE 程序状态寄存器程序中会存在很多分支具体走哪条分支是由状态寄存器决定的比如一些比较指令执行时需要根据状态寄存器的负数标志来决定是否进行逻辑分支跳转。 在aarch64中只能可以通过MSR/MRS指令访问特殊寄存器(special-purpose)的方式读写这些位。除了这些特殊寄存器中表示的位PSTATE的其它位都是不能访问的。 指令格式 ARM指令的基本格式如下 opcode {cond} {S} Rd, Rn{,operand2}其中号内的项是必须的{}号内的项是可选的。各项的说明如下 opcode指令助记符 cond执行条件 S是否影响CPSR寄存器的值 Rd目标寄存器 Rn第一个操作数的寄存器 operand2第2个操作数 ARM指令格式举例 LDR R0, [R1]读取R1地址上的存储单元内容执行条件AL BEQ DATAEVEN条件执行分支指令执行条件EQ即相等则跳转到DATAEVEN ADDS R2, R1, #1加法指令R2-R11影响CPSR寄存器 SUBNES R2, R1#0x20条件执行的减法运算执行条件NER1-0x20-R2影响CPSR寄存器 AArch64没有直接与ARMv7中的CPSR等价的寄存器但是可以访问PSTATE中对应的字段。 寻址方式 我觉的 csapp 在这方面讲的是真的好一个表格就让初学者对汇编了解很多。看一个例子 这个表格就说清楚了各种寻址方式对应的汇编格式。 我们看看 arm64 的寻址方式。 立即寻址 立即寻址也叫立即数寻址这是一种特殊的寻址方式操作数本身就在指令中给出只要取出指令也就取到了操作数这个操作数被称为立即数对应的方式也称为立即寻址 ADD W0, W1, *#0x05*寄存器寻址 寄存器寻址也就是利用寄存器中的数值作为操作数这是一种常见的方式也是效率比较高的寻址方式 ADD W0, W1, W2寄存器间接寻址 寄存器间接寻址就是以寄存器中值作为操作数的地址而操作数本身存放在存储器中 ADD W0, W1, [W2] LDR W3, [W0]基址变址寻址 基址变址寻址就是将寄存器(该寄存器一般称作基址寄存器)的内容与指令中给出的地址偏移量相加从而得到一个操作数的有效地址。变址寻址方式常用于访问某基地址附近的地址单元 常见的有以下几种形式 LDR W0, [W1, #4] ;将寄存器w1中内容加上4作为地址然后将该地址处的数据存入寄存器w0中 LDR W0, [W1, #4]! ;将寄存器w1中内容加上4作为地址然后将该地址处的数据存入寄存器w0中,然后w1中的内容自增4 LDR W0, [W1], #4 ;将寄存器w1中的内容作为地址然后将该地址处的数据存入w0中并将w1中内容自增4 LDR W0, [W1, W2] ;将w1和w2中的内容相加作为地址然后将该地址处的数据存入w0后缀 上面有个例子 LDR W0, [W1, #4]!汇编后面有个感叹号。ARM中的指令可以带后缀从而丰富该指令的功能常用的后缀有 位数后缀 B(byte)功能不变操作长度变为8位(依赖CPU位数以下相同)  H(Halfword)功能不变操作长度变为16位例如ldr指令族ldrb,ldrh,ldrsb ldrsh从内存中加载指定长度的数据 S后缀 影响CPSR里的NZCV标识位。指令中使用”S“后缀时、指令执行后程序状态寄存器的条件标志位将被刷新。相当于有符号运算。 例如 SUB X1X0X3 ;X1X0-X3 CPSR值不变 SUBS X1X0X3 ;X1X0-X3 , 如果计算结果为负数CPSR寄存器的N被置位! 后缀 指令中地址表达式含有“”后缀时指令执行后基址寄存器中的地址值将会发生变化。变化的结果是 (baseoffset。 例如 LDR X3[X0,#4] //X3X04 LDR X3[X0,#4]! //X3X04; X04注意“”不能用于寄存器PC后面 条件后缀 ARM架构中允许在指令后面添加条件后缀来完成指令条件执行的目的。指令条件执行就是说指令根据CPSR中条件码的状态和指令的条件域有条件的执行。当指令的执行条件满足时指令被执行否则指令将被忽略。 例如 ADD X4X2#1 ; 无条件执行 X4X21 ADDEQ X4X2#1 ;添加有条件执行后缀EQ当CPSR中的Z标志置位之前某条CMP结果相等时该指令才执行。注意如果条件后缀和“S”标识同时出现则S在条件后缀的后面例如 ADDEQS X4X2#1 ;即为有条件执行X4X21结果更新条件标志位
http://www.pierceye.com/news/166179/

相关文章:

  • 做网站需要源码吗软件代理商招募
  • 陕西省西安市制作网站上海云建站模板
  • wordpress注册审批汕头网站优化
  • 想招代理去什么网站做网站seo优化的公司
  • 网站制作是什么公司建设企业官方网站的流程
  • 深圳哪家网站建设公司好门户网站制作平台
  • 互联网网站模版工作室网站开发
  • 现在从事网站开发如何销售团队
  • 公司网站设计素材淘宝官网首页
  • 建设公司网站的目的seo推广软件下载
  • 排名好的成都网站建设十堰网络销售
  • 网站qq号获取网站运营与建设作业
  • 网站建设要经历哪些步骤建设银行官网学生交费网站
  • 如何注册网站平台怎么免费搭建一个网站
  • 淘宝客网站建设平台怎么获取网站数据做统计数据
  • 做网站找外包公司要要搞清楚什么抖音开放平台是干嘛的
  • 可以中英切换的网站怎么做四川住房建设厅官方网站
  • 网站制作网站设计优客工场 网站开发
  • 微网站建设开发用系统建购物网站
  • 小说网站建立浙江省和住房建设厅网站
  • 网站去掉后缀html代码运行框wordpress6
  • 做问卷的几个网站石家庄建站源码
  • 响应式网站的制作刷排名seo软件
  • 深圳方维网站设计公司做公司网站的
  • 21年网站搭建公司排行榜域名建设网站
  • 建设银行网银官方网站摄影大赛官网
  • 最好网站设计案例php网站开发能挣多钱
  • 长沙网站推广平台西安网站建设 app
  • 如何查网站是哪家公司做的不用付费的正能量软件
  • 上海专业网站制作设计访问网站速度很慢