《庖丁解牛Linux内核》笔记之:汇编基础

本文是《庖丁解牛Linux内核》笔记的一部分,重点介绍了汇编语言的基础,包括值的不同表示方法、常用寄存器、以及mov、push、pop、call、ret、enter和leave等关键指令的使用和作用,帮助读者掌握汇编在Linux内核中的应用。
摘要由CSDN通过智能技术生成

《庖丁解牛Linux内核》笔记之:汇编基础

参考视频

下面的说法都来自x86CPU寄存器。

值的不同表示方法

%eax

类似这种就是直接操作该寄存器,效果类似于C语言中的指针:*&

(%eax)

这里代表()中的内容是一块地址,而(%eax)代表直接读取其中的地址对应的值。

$123

这里的代表的是具体的值,即十进制的123。

123

这种只有一个数值的,代表其本身是一个地址。

常见寄存器

  • eax:累加寄存器,主要用来临时存放运算结果
  • ebx:基地址寄存器,顾名思义,这里存储的就是一个内存地址,然后在其他指令中可以通过在该基础地址上进行加减,来获取其他地址
  • ecx:计数寄存器,看不懂介绍,等遇到再说吧
  • edx:数据寄存器,顾名思义,就是用来存放数据的
  • ebp:堆栈基指针,顾名思义,就是用来存放堆栈的地址的
  • esp:堆栈顶指针,顾名思义,就是用来存放栈顶的内存地址
  • esi:变址寄存器,看不懂介绍
  • edi:变址寄存器
  • eip:CPU指令寄存器,即保存当前CPU执行的指令。

mov 指令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值