首页 > 其他分享 >ARM base instruction -- sbfiz

ARM base instruction -- sbfiz

时间:2024-09-30 19:22:11浏览次数:12  
标签:-- 32 instruction gdb base x28 x0 bits bit

Signed Bitfield Insert in Zeros copies a bitfield of <width> bits from the least significant bits of the source register to bit position <lsb> of the destination register, setting the destination bits below the bitfield to zero, and the bits above the bitfield to a copy of the most significant bit of the bitfield.

带符号的位字段零插入将<width>位的位字段从源寄存器的最低有效位复制到目标寄存器的<lsb>位位置,将位字段下方的目标位设置为零,并将位字段上方的位设置为位字段最高有效位的副本。

32-bit variant
    SBFIZ <Wd>, <Wn>, #<lsb>, #<width>

    is equivalent to
    SBFM <Wd>, <Wn>, #(-<lsb> MOD 32), #(<width>-1)

64-bit variant
    SBFIZ <Xd>, <Xn>, #<lsb>, #<width>

    is equivalent to
    SBFM <Xd>, <Xn>, #(-<lsb> MOD 64), #(<width>-1)

  40380c:    937d7f80     sbfiz    x0, x28, #3, #32    // x28=1, x0=1<<3=8
  403810:    97fff8dc     bl    401b80 <malloc@plt>     // malloc(x0)
  403814:    f9002660     str    x0, [x19, #72]          // this->argv=malloc
  403818:    aa0003fb     mov    x27, x0
  40381c:    b4000b20     cbz    x0, 403980 <ferror@plt+0x1aa0>  // exit(1)
        if (!(this->argv = malloc(sizeof(char *) * this->argc))) {
            // cbz 403980
            perror("malloc");
            exit(1);
        }


=> 0x000000000040380c:  80 7f 7d 93     sbfiz   x0, x28, #3, #32
1: $sp = (void *) 0x7fffffb190
(gdb) p/x $x0
$65 = 0xc
(gdb) p/x $x28
$66 = 0x1
(gdb) n
0x0000000000403810 in ?? ()
=> 0x0000000000403810:  dc f8 ff 97     bl      0x401b80 <malloc@plt>
1: $sp = (void *) 0x7fffffb190
(gdb) p/x $x0
$67 = 0x8
(gdb) p/x $x28
$68 = 0x1

标签:--,32,instruction,gdb,base,x28,x0,bits,bit
From: https://blog.csdn.net/xiaozhiwise/article/details/142662656

相关文章

  • olt的原理
    OLT的原理主要涉及其作为光线路终端设备在光纤通信系统中的角色和功能。以下是OLT原理的简要说明:光信号接收:OLT通过光纤接收来自用户端的光信号。光电转换:将接收到的光信号转换为电信号,以便进一步处理和传输。这是OLT的核心功能之一,它使得光信号能在电域中进行处理。信号处......
  • 《机器翻译》
    描述小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它进行翻译;如果内存中没有,软......
  • 实现C语言通讯录
    #实现C语言通讯录简简单单写一个C语言一:函数的定义通过MAX,NAME_MAX,SEX_MAX,ADDR_MX,TETE_MAX定义结构体成员的数量通过typedef重命名结构体为PeoInfo;在定义结构体structContact的PeoInfodata用来存放结构体里面人的信息和通过sz来访问人的信息#pragmaonce//人的信......
  • C语言文件操作(续写)
    文章目录C语言文件操作(续写)文件的随机读写fseekftellrewind文件结束判定被错误使用的feof二进制文件的例子:C语言文件操作(续写)文件的随机读写fseek根据文件指针的位置和偏移量来定位文件指针。#include<stdio.h>intmain(){FILE*pFile;pFi......
  • 如何解决Google AdSense 无效流量?一文教你提高AdSense点击率
     GoogleAdSense点击率低得可怜?广告收入少得可怜?想知道怎么才能让AdSense收入飙升吗?如果你正遭受无效流量的困扰,或者你正愁着怎么提高点击率,那么这篇文章就是你的救星!快和我一起往下看吧~一、什么是Adsense?AdSense就是Google提供的一个广告服务,它允许网站主在自......
  • java计算机毕业设计社区食堂就餐管理系统(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着城市化进程的加速和人口老龄化的加剧,社区作为居民生活的基本单元,其服务功能的重要性日益凸显。社区食堂作为连接居民日常生活的重要一环,不仅承载......
  • Shopee虾皮店铺难出爆品?你可能忘了测款!
    大部分Shopee虾皮卖家可能都经历过店铺销量一直平平无奇、较长时间出不了爆品的情况,明明做足了功课,为什么还会出现这种现象?那有可能是店铺运营没有明确的重点,太“雨露均沾”反而难以显著提升销量,应该对一个或部分有潜力的产品进行重点运营。如何判断并选择有更高售卖潜力的产......
  • Facebook广告投放的6个误区,老手也会犯
    一、没有目标无论是投放哪种产品,我们始终都需要明确,广告的目标是什么。因为Facebook广告的形式和类型,也经常会有变化,例如近期Facebook推出的360°视频广告,以及之后即将推出的LIVE,Mid-Roll视频插播广告。但是与广告有关的数据和术语是稳定的,我们需要明白自己投放广告是为了什......
  • Shopee虾皮店铺难出爆品?你可能忘了测款!
    大部分Shopee虾皮卖家可能都经历过店铺销量一直平平无奇、较长时间出不了爆品的情况,明明做足了功课,为什么还会出现这种现象?那有可能是店铺运营没有明确的重点,太“雨露均沾”反而难以显著提升销量,应该对一个或部分有潜力的产品进行重点运营。如何判断并选择有更高售卖潜力的产......
  • Facebook广告投放的6个误区,老手也会犯
    一、没有目标无论是投放哪种产品,我们始终都需要明确,广告的目标是什么。因为Facebook广告的形式和类型,也经常会有变化,例如近期Facebook推出的360°视频广告,以及之后即将推出的LIVE,Mid-Roll视频插播广告。但是与广告有关的数据和术语是稳定的,我们需要明白自己投放广告是为了什......