linux 汇编学习
来源:互联网 发布:手机修改mac地址 编辑:程序博客网 时间:2024/06/06 17:27
1 计算机进行xor的速度要大于加载数据的速度,因此在设置寄存器的值为0时,通常用
xorl %eax,%eax
代替
movl $0,%eax
2 Intel寄存器作用
x86-64位有16个通用寄存器
esp/rsp: 保存了当前堆栈栈顶指针的寄存器。
ebp/rbp: 保存了当前堆栈基地址指针的寄存器。
通常在方法调用前会保存堆栈基地址
3 通常采用%eax寄存器作为返回值
4 C 语言指针取值操作 对应汇编的
把指针对应的值存放到寄存器中,把寄存器中的值作为内存地址,从内存地址获取值
c语言的指针变量就是作为地址看待,通常变量作为值看待。
5 test指令
test指令后面的连个操作数相与,不保存运算结果,只影响标志位。
如test %rbp,%rbp 用户判断%rbp寄存器的值是否为0
6 x86-64采用寄存器传递指针和整数参数。而i386采用堆栈传递所有的方法参数。
此操作方式x86-64快于i386。
0 0
- linux 汇编基础知识学习
- linux 汇编学习
- Linux 下汇编学习
- Linux下汇编学习-1
- Linux下汇编学习-2
- Linux下汇编学习-4
- 学习总结,linux 内联汇编
- Linux下汇编学习-3寻址方式
- linux下汇编学习笔记[第一天]
- linux汇编学习(-)之从键盘输入输出
- linux源代码情景分析---i386汇编学习
- Linux汇编代码学习,反汇编简单的c及分析汇编代码工作过程
- 汇编宏汇编学习
- 汇编学习--汇编基础
- linux汇编
- linux汇编
- linux 汇编
- Linux 汇编
- 简单工厂模式
- python升级
- 【PHP入门篇】3.常量--慕课网【学习总结】
- cocos2d-x学习笔记【二】导演、场景、层。精灵介绍
- 《Linux device driver》字符设备和scull
- linux 汇编学习
- BufferedReader和BufferedWriter读写文件
- 12.使用命令对用户进行管理
- 【ITOO 2】.NET 动态建库建表:使用SQL字符串拼接方式
- 块元素、内联元素、inline-block的特点
- Android 网络通信框架Volley完全解析(一)
- VS中调试DLL工程的正确方法
- Android的目录结构说明
- char to int