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

html网站代码彩票网站开发有连带

html网站代码,彩票网站开发有连带,湛江商城网站开发设计,做网站 怎么赚钱吗目录 指令集汇编语言基础UAL 近距离检视指令数据传输数据处理子程呼叫与无条件跳转指令标志位与条件转移指令隔离指令饱和运算 CM3 中新引入指令MRS\MSRIF-THENCBZ/CBNZSDIV/UDIVREV RBITSXTBTBB,TBH 指令集 汇编语言基础 一条简单的汇编指令格式#xff08;注释使用一个分号… 目录 指令集汇编语言基础UAL 近距离检视指令数据传输数据处理子程呼叫与无条件跳转指令标志位与条件转移指令隔离指令饱和运算 CM3 中新引入指令MRS\MSRIF-THENCBZ/CBNZSDIV/UDIVREV RBITSXTBTBB,TBH 指令集 汇编语言基础 一条简单的汇编指令格式注释使用一个分号 操作码 操作数 1, 操作数 2, … ;注释 下面表示寄存器移位存储方法对于立即数必须要以#开头 MOV R0, #0x12 ; R0 - 0x12 MOV R1, #’A’ ; R1 - 字母 A 的 ASCII 码EQU 指示字来定义常数 DCI 编译器指示字用来表示某些汇编器无法识别的特殊指令助记符 DCB 来定义一串字节常数 DCD 来定义一串 32 位整数 DCI 0xBE00 ; 用于指代断点BKPTDCD 0x123 ; 定义整数DCB heloworld,0 ; 定义字符串UAL 统一汇编语言UAL是一个语法规则用于支持 Thumb-2 你依然可以使用传统的 thumb 语法这里不做介绍 ADD R0, R0, R1 ;等效R0ROR1ANDS R0, R0, R1ADDS.N R0, #1 ;指定使用 16 位指令NNarrow ADDS.W R0, #1 ;指定使用 32 位指令WWide近距离检视指令 数据传输 CM3 中的数据传送类型有如下几个 在两个寄存器间传送数据在寄存器与存储器间传送数据在寄存器与特殊功能寄存器间传送数据把一个立即数加载到寄存器 常用存储器访问指令 (LDR 加载指令STR 存储指令) LDRB Rd, [Rn, #offset] 从地址 Rnoffset 处读取一个字节送到 Rd LDRD Rd1, Rd2, [Rn, #offset] 从地址 Rnoffset 处读取一个双字(64 位整数)送到 Rd1低 32 位和 Rd2高 32 位中 STR Rd, [Rn, #offset] 把 Rd 中的低字存储到地址 Rnoffset 处 常用的多重存储器访问方式 感叹号的作用是 STMIA.W R8!, {r0-R3} ; R8 值变为 0x8010每存一次增一次先存储后自增 )。增/减单位字4 字节。例如记R80x8000则下面两 条指令 STMDB.W R8, {R0-R3} ; R8 值的“一个内部复本”先自减后再存储数据但 R8 的值不变带预索引的 LDR 和 STR LDR.W R0, [R1, #20]! 该指令先把地址 R1offset 处的值加载到 R0然后R1 - R1 20 后索引在后索引中基址寄存器是无条件被更新省略感叹号 STR.W R0 [R1], #-12 该指令是把 R0 的值存储到地址 R1 处的。在存储完毕后 R1 - R1(-12) 注利用 LDR 和 STR 时可以使用寄存器作为偏移值而不用背立即数 但如果拿寄存器作偏移值就绝对不可以使用预索引和后索引了 LDR 伪指令和 ADR 伪指令 LDR r0, address1将地址 address1 的立即数加载到寄存器 r0 中。 ADR r0, address1将标签 address1 的地址加载到寄存器 r0 中 数据处理 ADD 指令有如下几个用法 ADD R0, R1 ; R0 R1ADD R0, #0x12 ; R0 12ADD.W R0, R1, R2 ; R0 R1R2 除了 ADD 指令之外CM3 中还包含 SUB, MUL, UDIV/SDIV 等用于算术四则运算 SUB Rd, Rm 常规减法Rd - Rn SBC Rd, Rm 带错位的减法Rd - RmC RSB.W Rd, Rn, #imm12 反向减法Rd imm12-Rn MUL Rd, Rm 常规乘法Rd * Rm 常规逻辑操作 移位以及循环指令 LSL Rd, Rn, #imm5 ; Rd Rnimm5 逻辑左移 LSR Rd, Rn, #imm5 ; Rd Rnimm5 逻辑右移 ASR Rd, Rn, #imm5 ; Rd Rnimm5 算数右移 其余指令出现频率很低面试不会细分考察我们仅需掌握重点简单的内容就好了别为难自己 子程呼叫与无条件跳转指令 最基础的两个无条件跳转指令 B Label 跳转到 Label 处对应的地址BX reg 跳转到由寄存器 reg 给出的地址BL Label 跳转到 Label 对应的地址并且把跳转前的下条指令地址保存到 LRBLX reg 跳转到由寄存器 reg 给出的地址并根据 REG 的 LSB 切换处理器状态还要把转移前的下条指令地址保存到 LR 在执行 BLX 时必须置位 LSB1否则触发 fault 标志位与条件转移 应用程序状态寄存器(APSR)中存在 5 个标志位 标志位用于表示程序执行过程中的状态信息和操作结果的特性 以下为 APSR 中的四个可被条件转移指令参考的标志位 NNegative表示最近的算术或逻辑操作结果为负数。它用于判断操作结果的符号。ZZero表示最近的算术或逻辑操作结果为零。它用于检测操作结果是否为零。CCarry表示最近的无符号算术操作产生了进位或借位。它用于处理多字节算术运算中的进位或借位。VOverflow表示最近的有符号算术操作产生了溢出。它用于检测有符号数运算的溢出情况。 下表展示了各种可供我们使用的跳转条件当对应标志位置位后进入跳转流程 以上条件组合常配合无条件转移指令B使用使之变成各式条件转移指令 BEQ label 表示当 z 被置位为 1 时跳转到位置 label MOVGT R2, R1 条件跳转例子 CMP 表示为两个数作差并根据差的结果设置标志位根据上方四个标志位可知当算数运算结果等于 0 时触发 z1故当 R0R10 时触发 z1此时 BEQ 检测到标志位置位即进入跳转流程跳转到 label 标注的位置 CMP R0, R1 BEQ label指令隔离指令 指令隔离Instruction Barrier指令是一种用于确保指令执行顺序和内存访问顺序的特殊指令一般用于多核处理器和多线程环境 如果 CM3 缺少对应的隔离措施就会发生所谓的“紊乱现象” 下面为 CM3 中的 3 条隔离指令 ISBInstruction Synchronization Barrier执行 ISB 指令会导致处理器暂停执行直到之前的所有指令都已完成执行同时将所有未决的中断和异常处理完毕。这可以确保在 ISB 指令之前的所有指令都已经完成执行防止指令重排序。DSBData Synchronization Barrier执行 DSB 指令会导致处理器暂停执行直到之前的所有数据访问指令都已经完成。这可以确保在 DSB 指令之前的所有数据访问指令都已经完成防止数据访问重排序。DSB 指令还可以用于确保处理器与外部设备之间的数据同步。DMBData Memory Barrier执行 DMB 指令会导致处理器暂停执行直到之前的所有数据访问指令和内存访问指令都已经完成。这可以确保在 DMB 指令之前的所有数据和内存访问都已经完成防止数据和内存访问重排序。DMB 指令还可以用于确保处理器与外部设备之间的数据同步。 饱和运算 饱和运算类似于模电中的削顶失真即通过使用 SSAT 指令将大数据32 位截断为小数据16 位 SSAT.W Rd, #imm5, Rn, {,shift} Rd目标寄存器用于存储截断后的结果。#imm5一个立即数表示要截断的位数取值范围为 1 到 32。Rn源寄存器包含要进行截断操作的原始数据。{,shift}可选参数用于指定可选的移位操作可以是 LSL逻辑左移、LSR逻辑右移、ASR算术右移或 ROR循环右移。 CM3 中新引入指令 这些指令从 ARMv6,ARMv7 才开始支持 MRS\MSR 这两条指令仅可以在以下两种情况下使用 特权级APSR 下的用户级 命令语法 MRS Rn, SReg 加载特殊功能寄存器的值到 Rn MSR Sreg,Rn 存储 Rn 的值到特殊功能寄存器 IF-THEN IF-THEN(IT)指令围起一个块里面最多有 4 条指令 其中 T 代表条件成立时执行的语句E 代表条件不成立时执行的语句 E 对应指令必须和 T 对应指令相反 下面展示了对应伪代码和使用方式 CBZ/CBNZ CBZCompare and Branch if ZeroCBZ 指令用于比较一个寄存器的值是否为零如果为零则执行跳转操作到指定的目标地址。 CBNZ 含义与 CBZ 相反 格式 CBZ 寄存器, 目标地址 ; 如果寄存器的值为零则跳转到目标地址 CBNZ 寄存器, 目标地址 ; 如果寄存器的值不为零则跳转到目标地址SDIV/UDIV 32 位硬件除法指令 SDIV.W Rd, Rn, Rm UDIV.W Rd, Rn, RmREV RBIT REV 反转 32 位整数中的字节序REVH 则以半字为单位反转且只反转低半字 REV Rd, Rm REVH Rd, Rm REV16 Rd, Rm REVSH Rd, RmRBIT 比前面的 REV 之流更精细它是按位反转的相当于把 32 位整数的二进制表示法水平旋 转 180 度 RBIT.W Rd, RnSXTB 用于将数据宽度转换成带符号位 32 位整数长度 带 U 字头的表示高位清零 SXTB Rd, Rn SXTH Rd, Rn UXTB Rd, Rn UXTH Rd, RnTBB,TBH TBBTable Branch ByteTBB 指令用于通过查找表的方式进行跳转。它将一个字节大小的偏移量添加到基地址寄存器中并跳转到所得到的目标地址。 TBB [基地址寄存器 偏移量寄存器]TBHTable Branch Halfword相对应处理的就是半字数据 TBH [基地址寄存器 偏移量寄存器 * 2]
http://www.hkea.cn/news/14446224/

相关文章:

  • 西安高校定制网站建设网站用户体验存在问题
  • 金华网站建设黄页网站建设内容存储
  • 厦门网页建站申请比较好全屏类网站建设
  • 关于网站建设方面的文章wordpress淘宝客自适应模板
  • 三门峡网站建设公司搬瓦工建wordpress
  • 重庆网站快速排名提升网站策划方案论文
  • 网站框架图片晋中市两学一做网站
  • 贵州省住房与城乡建设厅网站广告设计网站排行榜前十名
  • 温州网站设计方案wordpress redis 插件
  • 如何做品牌网站wordpress编辑器添加商品
  • 做网站服务器需要系统软件开发项目管理系统
  • 网站备案是否收费在线制作免费生成图片logo
  • 盐城网站开发厂商网站如何实现临时聊天
  • 制作好的网站建设部二级结构工程师注销网站
  • 怎样在外管局网站做延期付款织梦网站tag自定义插件
  • 住房和城乡建设部建设司网站首页建筑木方规格尺寸表详细
  • 小米手机网站架构云主机可以放几个网站
  • 厦门网站制韩国有哪些专业做汽车的网站?
  • 企业网站建设哪家效果好wordpress 软件主题
  • 南宁新技术产业建设开发总公司网站用虚拟主机好还是阿里云wordpress
  • 上市公司网站建设报价php网站怎么建设
  • 重庆网站设计最加科技如何给一个网站做优化
  • 网站建设前规划中英繁网站
  • 网站开发快速盈利群辉wordpress阿里云ssl
  • 帝国cms生成网站地图wordpress博客背景
  • qq推广引流网站wordpress 搜索伪静态
  • 济宁做网站有哪几家网页版qq怎么登陆
  • 六安seo网站推广报价网站域名的作用是什么意思
  • 网站备案过户 主体需要一致么网页ui设计的内容有哪些
  • 网站建设亿玛酷正规外贸网站用什么字体