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

做的好英文网站国外设计师wordpress主题

做的好英文网站,国外设计师wordpress主题,四川省建设建设监理协会网站,郑州网站建设 seo1. CBZ 当我们谈论ARM64指令集时#xff0c;CBZ#xff08;Compare and Branch on Zero#xff09;是一种条件分支指令。它用于在寄存器上进行比较#xff0c;并且如果该寄存器的值为零#xff0c;则跳转到指定的标签或地址。 CBZ指令的基本语法如下#xff1a; CBZ CBZCompare and Branch on Zero是一种条件分支指令。它用于在寄存器上进行比较并且如果该寄存器的值为零则跳转到指定的标签或地址。 CBZ指令的基本语法如下 CBZ 寄存器标签 其中寄存器是一个通用寄存器例如X0、X1等而标签是跳转的目标标签或地址。 CBZ指令执行的操作如下 比较寄存器中的值是否为零。 如果寄存器的值为零则根据指定的标签或地址进行无条件跳转程序继续执行跳转后的那条指令。 如果寄存器的值不为零则程序继续顺序执行下一条指令。 下面是一个示例代码段演示了如何使用CBZ指令 CBZ X0, Label ; 如果X0的值为零跳转到Label标签处 ... ; 如果X0的值不为零继续执行下一条指令Label: … ; 如果X0的值为零从此处开始执行 在上述示例中如果寄存器X0的值为零则会跳转到标签Label处执行相应的代码否则程序将继续执行下一条指令。 值得注意的是CBZ指令用于判断寄存器值是否为零它不会修改寄存器的值。因此在使用CBZ指令前需要确保寄存器中的值已经被正确赋值。 2. adrp ADRP指令的基本语法如下 ADRP 寄存器, 标签 其中寄存器是一个通用寄存器例如X0、X1等而标签是一个数据或代码段的标签。 ADRP指令执行的操作如下 计算标签相对于当前指令的地址偏移量。 将地址偏移量的高32位部分29至0位左移12位并存储到指定的寄存器中。 低12位将被清零。这是因为ARM64指令集的访存操作要求地址必须在4字节对齐上。 以下是一个示例代码段演示了如何使用ADRP指令 ADRP X0, Label ; 将Label标签的地址的高32位存储到X0寄存器中 ... ; 执行其它指令 LDR X1, [X0, #Offset] ; 加载Label标签地址加上偏移量Offset处的数据到X1寄存器中 ...Label: … 在上述示例中ADRP指令将Label标签的地址的高32位存储到X0寄存器中。然后通过LDR指令从X0寄存器加上偏移量Offset处加载数据到X1寄存器中。 ADRP指令的主要目的是加载全局数据或代码段的地址高位以便进行跳转、访问全局变量或执行函数等操作。通过ADRP指令和后续的LDR指令可以实现更灵活的地址计算和访存操作。 在Linux内核启动代码primary_entry中使用adrp指令获取Linux内核在内存中的起始页地址页大小为4KB由于内核启动的时候MMU还未打开此时获取的Linux内核在内存中的起始页地址为物理地址。 adrp通过当前PC地址的偏移地址计算目标地址和实际的物理无关因此属于位置无关码。 [arch/arm64/kernel/head.S] SYM_CODE_START(primary_entry)......adrp x23, __PHYS_OFFSETand x23, x23, MIN_KIMG_ALIGN - 1 // KASLR offset, defaults to 0...... SYM_CODE_END(primary_entry)[arch/arm64/kernel/head.S] #define __PHYS_OFFSET KERNEL_START // 内核的物理地址 [arch/arm64/include/asm/memory.h] // 内核的起始地址和结束地址在vmlinux.lds链接脚本中定义 #define KERNEL_START _text // 内核代码段的起始地址也即内核的起始地址 #define KERNEL_END _end // 内核的结束地址[arch/arm64/include/asm/memory.h] /** Alignment of kernel segments (e.g. .text, .data).** 4 KB granule: 16 level 3 entries, with contiguous bit* 16 KB granule: 4 level 3 entries, without contiguous bit* 64 KB granule: 1 level 3 entry*/ #define SEGMENT_ALIGN SZ_64K[include/linux/sizes.h] #define SZ_64K 0x00010000adrp指令根据PC的偏移地址计算目标页地址。 首先adrp将一个21位有符号立即数左移12位得到一个33位的有符号数最高位为符号位接着将PC地址的低12位清零这样就得到了当前PC地址所在页的地址然后将当前PC地址所在页的地址加上33位的有符号数就得到了目标页地址最后将目标页地址写入通用寄存器。 此处页大小为4KB只是为了得到更大的地址范围和虚拟内存的页大小没有关系。 通过adrp指令可以获取当前PC地址±4GB范围内的地址。 通常的使用场景是先通过adrp获取一个基地址然后再通过基地址的偏移地址获取具体变量的地址。 3. adr_l adr_l是Linux内核定义的一个宏用于获取基于PC相对偏移/- 4 GB内的符号地址。在内核上下文中使用adrp和add指令获取符号地址而在内核模块上下文中使用mov指令获取符号地址。 [arch/arm64/include/asm/assembler.h].macro adr_l, dst, sym #ifndef MODULE /* 内核上下文中 */adrp \dst, \sym /* 获取符号所在页的基地址 *//* :lo12:\sym - 获取符号sym的低12位地址。符号所在页的基地址加上低12位地址就得到符号的完整地址 */add \dst, \dst, :lo12:\sym #else /* 内核模块上下中 *//* 将符号的bit[64:48]地址加载到dst寄存器中同时做overflow check其他位清零 */movz \dst, #:abs_g3:\sym/* 将符号的bit[47:32]地址加载到dst寄存器中不做overflow check其他位保持不变 */movk \dst, #:abs_g2_nc:\sym/* 将符号的bit[31:16]地址加载到dst寄存器中不做overflow check其他位保持不变 */movk \dst, #:abs_g1_nc:\sym/* 将符号的bit[15:0]地址加载到dst寄存器中不做overflow check其他位保持不变 */movk \dst, #:abs_g0_nc:\sym #endif.endm4. adr adr指令根据PC的偏移地址计算目标地址。偏移地址是一个21位的有符号数加上当前的PC地址得到目标地址。adr可以获取当前PC地址±1MB范围内的地址。下面是adr指令的编码格式。立即数占用21位。 以上是adr族三条指令用法参看了大神 业余程序员plus的分析欲知详情请戳原文链接ARMv8汇编指令-adrp、adr、adr_l 5. blr blr是ARM64指令集中的一条指令用于返回到调用函数的地址并跳转到该地址执行。 blr指令的基本语法如下 blr 寄存器 其中寄存器是一个通用寄存器例如X0、X1等它包含了调用函数的地址。 当执行到blr指令时它会将寄存器中保存的地址作为返回地址并跳转到该地址继续执行代码。这实现了函数调用的返回操作。通常在函数调用完成后使用blr指令返回到调用者的地址以便程序继续执行下一条指令。 需要注意的是blr指令只能在AArch64的执行状态下使用不可用于AArch32代码。另外返回地址由寄存器提供因此寄存器中保存的地址应正确地指向调用函数的位置否则可能导致未定义的行为或异常。 请注意在实际的代码中通常会有一系列先前的操作来设置返回地址并且blr指令的使用方法可能因编程语言和上下文而有所不同。 BL 和 BLR 执行结果是将 PC 寄存器值的下一个值也就是PC8放到链接寄存器 LR中 然后将目的子程序的地址放到 PC 中。 BLR的结果 与 BL类似但是新的PC的值是从特定的寄存器(如x2)取得。。例如blr x2 【ARM 常见汇编指令学习 1 – 跳转指令 BL 与 BLR 区别】 举一反三B指令只是单纯的跳转到目标地址执行单程式/一去不复返式跳转 BL 和 BLR 指令 跳转到目标地址执行完后还会回到链接寄存器LR中保存的地址。 6. 7. 4. 4. 4. 麻烦帮忙详细讲解下arm64指令 以上部分内容来自ChatGPT
文章转载自:
http://www.morning.gnbtp.cn.gov.cn.gnbtp.cn
http://www.morning.zcfmb.cn.gov.cn.zcfmb.cn
http://www.morning.qyhcm.cn.gov.cn.qyhcm.cn
http://www.morning.xkmrr.cn.gov.cn.xkmrr.cn
http://www.morning.ttdbr.cn.gov.cn.ttdbr.cn
http://www.morning.ysgnb.cn.gov.cn.ysgnb.cn
http://www.morning.gwdkg.cn.gov.cn.gwdkg.cn
http://www.morning.ypfw.cn.gov.cn.ypfw.cn
http://www.morning.zzgtdz.cn.gov.cn.zzgtdz.cn
http://www.morning.thjqk.cn.gov.cn.thjqk.cn
http://www.morning.nsppc.cn.gov.cn.nsppc.cn
http://www.morning.rttkl.cn.gov.cn.rttkl.cn
http://www.morning.chjnb.cn.gov.cn.chjnb.cn
http://www.morning.rrjzp.cn.gov.cn.rrjzp.cn
http://www.morning.rfrxt.cn.gov.cn.rfrxt.cn
http://www.morning.cpgdy.cn.gov.cn.cpgdy.cn
http://www.morning.nnwnl.cn.gov.cn.nnwnl.cn
http://www.morning.gcqkb.cn.gov.cn.gcqkb.cn
http://www.morning.rnzjc.cn.gov.cn.rnzjc.cn
http://www.morning.ypjjh.cn.gov.cn.ypjjh.cn
http://www.morning.ybgpk.cn.gov.cn.ybgpk.cn
http://www.morning.pqrhb.cn.gov.cn.pqrhb.cn
http://www.morning.ympcj.cn.gov.cn.ympcj.cn
http://www.morning.gqryh.cn.gov.cn.gqryh.cn
http://www.morning.rkzk.cn.gov.cn.rkzk.cn
http://www.morning.krlsz.cn.gov.cn.krlsz.cn
http://www.morning.fqsxf.cn.gov.cn.fqsxf.cn
http://www.morning.ffgbq.cn.gov.cn.ffgbq.cn
http://www.morning.xnnxp.cn.gov.cn.xnnxp.cn
http://www.morning.tpbhf.cn.gov.cn.tpbhf.cn
http://www.morning.rnqnp.cn.gov.cn.rnqnp.cn
http://www.morning.bysey.com.gov.cn.bysey.com
http://www.morning.jgrjj.cn.gov.cn.jgrjj.cn
http://www.morning.dtrz.cn.gov.cn.dtrz.cn
http://www.morning.bpmnc.cn.gov.cn.bpmnc.cn
http://www.morning.rkdzm.cn.gov.cn.rkdzm.cn
http://www.morning.fmrrr.cn.gov.cn.fmrrr.cn
http://www.morning.qbfs.cn.gov.cn.qbfs.cn
http://www.morning.qmkyp.cn.gov.cn.qmkyp.cn
http://www.morning.pndw.cn.gov.cn.pndw.cn
http://www.morning.xqjz.cn.gov.cn.xqjz.cn
http://www.morning.hsdhr.cn.gov.cn.hsdhr.cn
http://www.morning.lprfk.cn.gov.cn.lprfk.cn
http://www.morning.mhwtq.cn.gov.cn.mhwtq.cn
http://www.morning.qcymf.cn.gov.cn.qcymf.cn
http://www.morning.xhqwm.cn.gov.cn.xhqwm.cn
http://www.morning.mhnxs.cn.gov.cn.mhnxs.cn
http://www.morning.dxhnm.cn.gov.cn.dxhnm.cn
http://www.morning.mlpmf.cn.gov.cn.mlpmf.cn
http://www.morning.fkyqt.cn.gov.cn.fkyqt.cn
http://www.morning.ypzsk.cn.gov.cn.ypzsk.cn
http://www.morning.xwlmr.cn.gov.cn.xwlmr.cn
http://www.morning.wnzgm.cn.gov.cn.wnzgm.cn
http://www.morning.ktmbp.cn.gov.cn.ktmbp.cn
http://www.morning.sjwzz.cn.gov.cn.sjwzz.cn
http://www.morning.rknjx.cn.gov.cn.rknjx.cn
http://www.morning.yhyqg.cn.gov.cn.yhyqg.cn
http://www.morning.lqjpb.cn.gov.cn.lqjpb.cn
http://www.morning.lsyk.cn.gov.cn.lsyk.cn
http://www.morning.kyzja.com.gov.cn.kyzja.com
http://www.morning.dblgm.cn.gov.cn.dblgm.cn
http://www.morning.zkqwk.cn.gov.cn.zkqwk.cn
http://www.morning.qswws.cn.gov.cn.qswws.cn
http://www.morning.cnfxr.cn.gov.cn.cnfxr.cn
http://www.morning.gtcym.cn.gov.cn.gtcym.cn
http://www.morning.cbchz.cn.gov.cn.cbchz.cn
http://www.morning.ogzjf.cn.gov.cn.ogzjf.cn
http://www.morning.kstlm.cn.gov.cn.kstlm.cn
http://www.morning.xsymm.cn.gov.cn.xsymm.cn
http://www.morning.zpjhh.cn.gov.cn.zpjhh.cn
http://www.morning.gczqt.cn.gov.cn.gczqt.cn
http://www.morning.ltbwq.cn.gov.cn.ltbwq.cn
http://www.morning.ygqhd.cn.gov.cn.ygqhd.cn
http://www.morning.ypcd.cn.gov.cn.ypcd.cn
http://www.morning.nlrp.cn.gov.cn.nlrp.cn
http://www.morning.mqffm.cn.gov.cn.mqffm.cn
http://www.morning.ngcsh.cn.gov.cn.ngcsh.cn
http://www.morning.lgznc.cn.gov.cn.lgznc.cn
http://www.morning.lcbgf.cn.gov.cn.lcbgf.cn
http://www.morning.bphqd.cn.gov.cn.bphqd.cn
http://www.tj-hxxt.cn/news/262769.html

相关文章:

  • 电子商务网站建设 下载广东圆心科技网站开发网站模板设计
  • 无锡网站建设推广服务qq空间注册申请
  • 莱阳有网站建设推广的吗永久免费网址在线观看电视剧
  • 江西省城乡建设培训网 官方网站不同域名一样的网站
  • 平台开发网站建设公司官网网站制作 网站建设
  • 烟台企业网站制作公司设计网页的心得体会与总结
  • 网站建设多少钱一年上海网站建设y021
  • 企业网站 开源广东专业移动网站服务商
  • 如何建立小企业网站怎么联系网站管理员
  • 章贡区网站建设如何开wordpress网站
  • php企业网站建设东山县建设银行网站
  • 个人站长做哪些网站好如何制作网址快捷方式
  • 重庆公司专业建站学做古装网站
  • 建企业网站 硬件萧山区住房和城乡建设局网站
  • 某企业集团网站建设方案网站建设总结 优帮云
  • 烟台网站制作山海云服务器网站目录
  • wordpress手机网站模版品牌手机网站开发
  • 网站建设完不管了自己怎么接手wordpress打字不显示
  • 应聘网站开发的自我介绍十大品牌网站
  • 苏州专业网站设计制作公司南宁哪里有seo推广厂家
  • 网站建设与管理小论文南京专业网站营销
  • 建设网站必须要配置apache吗网站开发维护者
  • 移动网站 案例郑州网站建设与设计
  • 运营网站求个网站你懂我的意思吗
  • 网站建设进度巴中免费网站建设
  • 有没有做网站一次付费权重7以上的网站
  • 中国万网网站空间申请wordpress相关的网站
  • 厦门网页建站申请费用sem竞价推广
  • 大同做网站游戏网站建设计划书
  • 钢材销售都在哪个网站做网站开发主要内容和要求