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

ARM base instruction -- movk

Move wide with keep moves an optionally-shifted 16-bit immediate value into a register, keeping other bits unchanged.

用keep进行宽移将一个可选择移位的16位立即值移动到寄存器中,保持其他位不变。


32-bit variant
    MOVK <Wd>, #<imm>{, LSL #<shift>}

64-bit variant
    MOVK <Xd>, #<imm>{, LSL #<shift>}


Operation
 bits(datasize) result; 
  
 result = X[d]; 
 result<pos+15:pos> = imm16; 
 X[d] = result; 


  4007f8: d28000c0  mov     x0, #0x6            // #6   x0=6
  4007fc: f2a00200  movk    x0, #0x10, lsl #16  // x0 = 0x10<<16 ==> x0 = 0x100006
  400800: f90013a0  str     x0, [x29, #32]     
    unsigned long d = 0x100006;


http://www.kler.cn/news/336977.html

相关文章:

  • 将自己写好的项目部署在自己的云服务器上
  • Raft 常见问题解答
  • 开源2+1链动S2B2C商城小程序下社区团长的社群温度营造与商业价值实现
  • STM32 通用同步/异步通信
  • 基于SpringBoot图书馆预约与占座小程序【附源码】
  • JS测试框架——Jest
  • selenium元素定位
  • 仿小米的Disucz模板
  • TypeScript 算法手册【快速排序】
  • CSP-S复习:图论题选讲
  • 【网络安全】基础知识详解(非常详细)零基础入门到精通
  • Ubuntu24 Firefox和Window Firefox同步问题
  • 大厂程序员用AI能完成几个人的工作量?
  • 如何使用 Ansible 管理多阶段环境
  • 考研笔记之操作系统(四) - 文件管理
  • ESP8266模块的GPIO0引脚在不同工作模式下
  • PGMP-01概述2
  • Ubuntu 搭建 Gitea
  • dwceqos网络驱动性能优化
  • RT-Thread实时操作系统 动态线程的创立