csapp第三章读书笔记

本文详细介绍了x86汇编语言的各种指令,包括传输、数学操作、条件码、跳转、循环、数据对齐等,并通过实例分析了汇编与C语言的对应关系,以及逆向工程的理解。重点讨论了汇编中的条件分支、循环构造、递归调用、数组和指针操作、结构体访问、数据对齐策略和缓存溢出问题,帮助读者深入理解汇编语言及其在实际编程中的应用。
摘要由CSDN通过智能技术生成

着一章主要讲了各种汇编的指令。基本要求是看懂即可。不需要会写。

: 主要搞清楚

(0) 几种寻址模式

这里写图片描述

(1) 指令的后缀,l,w,b分别代表双字,单字,单字节。注意只有%eax才可以作为存储器的引用(因为它有32位可以作地址)。另外指令的后缀必须要和寄存器的类型对应上才可以,比如movl %ax就是不可以的.

这里写图片描述
这里写图片描述

(2)c

这里写图片描述

答案也比较简单

注意首先将这些指针指向的东西放到寄存器,因为从寄存器取值的速度远远快于存储器。但是个人认为由于这里只用了一次*x,可以考虑直接赋值。

int tx = xp
int ty = yp
int tz = zp
*yp = tx
*zp = ty
*xp = tz

(1)
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值