汇编调试及学习

本文探讨了汇编语言调试中的关键概念,包括如何打印寄存器和内存地址的值,特别是64位数据的处理。文章详细阐述了前变基和后变基的概念,以及它们在地址计算中的差异。同时,重点讲解了cpsr寄存器在判断运算结果(如nzcv状态标志位)中的作用,以及如何利用这些标志进行条件跳转。此外,还介绍了宏定义的使用,以助于更好地理解和调试内核代码。
摘要由CSDN通过智能技术生成

汇编调试

打印寄存器的值

在这里插入图片描述
打印内存地址
在这里插入图片描述
打印8字节,就是64位
在这里插入图片描述

打印格式 是从低位取过来的
在这里插入图片描述

b 字节 h 双字节 w四字节 g八字节

在这里插入图片描述

前变基 后变基 。 后变基这个变基会发生变化的。前变基变基不会发生变化需要用!号。
在这里插入图片描述
前变基 , 加了!号的,变基数会发生变化。
在这里插入图片描述

后变基不需要将!号, 变基数会发生变化。
在这里插入图片描述

可以通过cpsr的最高位来查看nzcv 。

在这里插入图片描述
相减为负数,nzcv n设置为1 用b.cc 进行跳转。

在这里插入图片描述
跳出来是两个相等 然后z标志为设置了1 .

相对pc偏移宏后的值
在这里插入图片描述

直接将宏值写入寄存器里
在这里插入图片描述

问题

b.cc 状态寄存器 在哪里看?
可以在cpsr中的高四位进行查看。

总结

  1. 学习了前变基、后变基。变基的改变。
  2. 学习调试寄存器调试、内存信息查看。
  3. 学习汇编比较改变状态标志位cpsr寄存器。
  4. 学习宏定义的符号使用。

了解这些是为了更好的学习内核视频

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值