背景

在ida中进行分析so文件,就是elf文件,它所对应的arm汇编,在汇编中会时常碰到一些下面的汇编指令。DCB是arm汇编中的伪指令,下面就针对这个指令相关做下小记录。

伪指令及DC系列指令

ARM 伪指令它不是ARM 指令集中的指令,只是为了方便编译器编程而定义的指
令,使用时可以像其他ARM 指令一样使用,但在编译时这些指令将被等效的ARM
指令代替。

DCB它关联的伪指令有DCB、DCW、DCD、DCQ指令。它们都是用于分配一段内存单元,并对其进行做初始化工作。不过它们分配的内存空间大小不同。
下面就针对这四个伪指令做下区分
DCB表示:它分配一段字节的内存单元,它每个操作数都占有一个字节,操作数范围为-128~255的数值或字符串。

DCW表示:它分配一段半字的内存单元,它的每个操作数都占有两个字节,操作数是16位二进制数,取值范围为-32768~65535。

DCD表示:它分配一段字的内存单元,它的每个操作数都占有4个字节,操作数可以是32位的数字表达式,也可以是程序中的标号。

DCQ表示:它分配一段双字的内存单元,它的每个操作数都占有8个字节。

arm汇编中DCB、DCW、DCD、DCQ指令相关推荐

  1. ARM汇编中ldr伪指令和ldr指令(转载)

    转自:http://blog.csdn.net/ce123_zhouwei/article/details/7182756 ARM是RISC结构,数据从内存到CPU之间的移动只能通过L/S指令来完成, ...

  2. 伪指令相当于c语言的什么,ARM汇编中关于“.word”伪指令的概念(转)

    PS:在u-boot源码时遇到_armboot_start._bss_start等这些变量,不知道指向什么地址,于是查了一下,弄清了ARM汇编中".word"这个伪指令是什么意思了 ...

  3. arm汇编中mov、movs、movw、movl、movb解析

    arm汇编中mov指令 mov 指令在汇编中表示传送含有 movl mov long : 传送字长 : 32位:把32位立即数放到寄存器 movw mov word:传送字 :16位: 把 16 位立 ...

  4. ARM汇编中的ldr和adr的区别及其在uboot中相关源码的分析

    ARM汇编有ldr指令以及ldr.adr伪指令,它们都可以将标号表达式作为操作数,下面通过分析一段代码以及对应的反汇编结果来说明它们的区别. ldr r0, _start adr r0, _start ...

  5. 大脸猫讲逆向之ARM汇编中PC寄存器详解

    i春秋作家:v4ever 近日,在研究一些开源native层hook方案的实现方式,并据此对ARM汇编层中容易出问题的一些地方做了整理,以便后来人能有从中有所收获并应用于现实问题中.当然,文中许多介绍 ...

  6. GUN ARM汇编中标号的引用在汇编和C语言中区别(monitor_flash_len = _bss_start - _armboot_start;)

    u-boot/cpu/xx/start.S中: _TEXT_BASE:  .word TEXT_BASE /*uboot映像在SDRAM中的重定位地址,我设置为0xa170 0000 */ .glob ...

  7. arm汇编lr pc b bl ret指令函数调用和返回gif动图演示

    文章目录 pc 寄存器 lr寄存器 (x30) ret返回指令 bl 跳转指令,带返回 b 跳转,不带返回 pc 寄存器 pc保存着当前指令执行的地址,相当于win32汇编里的eip寄存器 lr寄存器 ...

  8. 【ARM汇编】SPACE和DCD指令的区别

    一.分析 SPACE和DCD的区别在于: SPACE和DCD的功能类似,SPACE申请一片内存空间,DCD申请一个字(32bit)的内存空间. SPACE和DCD的区别在于,SPACE申请空间但不赋初 ...

  9. ARM汇编中的:比较指令--CMN / CMP / TEQ / TST

    1. 简介 CMP / CMN : 算术指令 TEQ / TST : 逻辑指令      它们总是会影响CPSR条件标志位. APSR(CPSR)与condition的关系图: 2. CMN -- 比 ...

最新文章

  1. 核显也能玩游戏,OS X Yosemite优化指南
  2. unity3d做会减少的血条_2019-2020年Unity3D——人物主角的血条-经验的显示.doc
  3. VSCode主题:Dracula Official
  4. php表单提交邮箱_最全实现dede订单表单提交发送到指定邮箱(附前台设置)
  5. CentOS7安装VirtualBox
  6. 你知道吗?macOS Sierra修复漏洞超过60个
  7. 软件设计原则和方法通俗理解
  8. LayIM 3.9.1与ASP.NET SignalR实现Web聊天室快速入门(一)之效果展示与关键技术简介
  9. Kattis - battleship【模拟】
  10. android Logcat打印格式说明
  11. javascript方法和技巧大全1 (轉)
  12. 微信红包服务器卡死,东大跨年红包记--并发案例分析
  13. sudo: no valid sudoers sources found, quitting问题解决方案
  14. Python Web教程003:搜索界面
  15. PCB设计时如何选择合适的叠层方案
  16. 在谷歌和ie上加入mp4格式的视频
  17. SpringCloud Gateway + Spring Security
  18. 细数最近三年我的租房经历
  19. 【Python】输入输出(11)
  20. Vue + el-menu刷新选中 + 路由监听 + 路由重复点击

热门文章

  1. 商城-商品规格管理-商品规格参数管理
  2. 专访Dan Kohn:阡陌交迭,云原生布局开源生态构建及深度应用
  3. spring中c3p0配置 ---这是一位仁兄的经历
  4. 【FJ 2016 Day5】冷战(coldwar)
  5. 视音频编解码技术零基础学习方法(向雷神致敬)
  6. wps批量图片居中,编号
  7. 快速将有文件的FAT32格式的U盘转NTFS格式(Windows)
  8. 超酷震撼 HTML5/CSS3动画应用及源码
  9. 希望计算机专业同学都知道这些老师
  10. 国家税务局计算机操作考试~~