入门序

 本文主要讲解x86汇编的内容,涉及的东西比较多,篇幅比较有限,但部分详尽的内容给出了具体的参考网址;本文主要讲了x86_32、windows64以及Linux64下纯汇编的编写。

英文版:http://www.cs.virginia.edu/~evans/cs216/guides/x86.html
中文翻译版:https://www.cnblogs.com/jiftle/p/8453106.html

2.寄存器介绍

2.1 x86 32位模式的寄存器

 简单来说:
1、8个32位的通用寄存器,可以使用通用寄存器来存放8位或者16位操作数。例如,一个函数可以使用AL、BL、CL以及DL来访问EAX、EBX、ECX和EDX的最低字节(8位),可以使用AX、BX、CX以及DX来访问低16位字。
2、8个64位的AVX/SSE寄存器。

2.2 x86 64位模式的寄存器

 简单来说:
1、16个64位的通用寄存器,可以使用AX访问RAX的低16位,AL访问RAX的低8位。
2、8个64位的MMX寄存器。
3、16个128位的XMM寄存器。

【汇编优化】之X86汇编优化相关推荐

  1. linux汇编push,在x86汇编中寄存器上使用的push / pop指令的功能是什么?

    在阅读有关汇编程序的文章时,我经常遇到人们在写文件时他们推送处理器的某个寄存器并稍后再次弹出它以恢复它之前的状态. 怎么能推一个寄存器? 它在哪里推? 为什么需要这个? 这可归结为单处理器指令还是更复 ...

  2. X86汇编---寄存器+指令

    文章目录 X86汇编常见的寄存器 x86汇编指令集大全 X86汇编常见的寄存器 4个数据寄存器(EAX.EBX.ECX和EDX) 2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP ...

  3. 寄存器理解 及 X86汇编入门

    本文整理自多材料源,感谢原址分享,请查看末尾Url I, 汇编语言分类: 汇编语言和CPU息息相关,但是不能把汇编语言完全等同于CPU的机器指令.不同架构的CPU指令并不相同,如x86,powerpc ...

  4. X86汇编常见的寄存器

    X86汇编常见的寄存器 4个数据寄存器(EAX.EBX.ECX和EDX) 2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP) 6个段寄存器(ES.CS.SS.DS.FS和GS) ...

  5. x86汇编知识以及应用详解

    基础知识: 指令规则:movl $0 %eax,把常数0加载到eax寄存中.这里的后缀字母l表示long:4字节,此外还有w表示word:2字节(为了服从传统而已,其实现代意义的word就是4字节了) ...

  6. 二进制分析实战:x86汇编快速入门

    因为汇编语言是二进制文件中机器指令的标准表示形式,许多二进制分析都基于反汇编,所以读者必须熟悉x86汇编语言的基础知识,才能从本书中获得最大收获.本附录将为你介绍汇编语言的基础知识. 本附录的目的不是 ...

  7. 在VS2015中编写x86汇编

     参考教程: 作者:上下求索 VS2015,C嵌套汇编 & C,汇编相互调用 http://ylqhust.github.io/blog/2016/04/17/vs-clanguage-asm ...

  8. 【Android 逆向】x86 汇编 ( align | db | dw | dd | nop | 伪指令 )

    文章目录 一.align 字节对齐指令 二.db / dw / dd 指令 三.nop 指令 总结 一.align 字节对齐指令 align 字节对齐 ; 默认情况下是 161616 字节对齐 ; 该 ...

  9. x86汇编指令集大全

    一.数据传输指令 1. 通用数据传送指令 MOV 传送字或字节. MOVSX 先符号扩展,再传送. MOVZX 先零扩展,再传送. PUSH 把字压入堆栈. POP 把字弹出堆栈. PUSHA 把AX ...

最新文章

  1. ajax 和xmlHttpRequest区别
  2. NTP时间服务相关基础及配置文件详解
  3. matlab inpainting,MATLAB-Python-inpainting-codes-master
  4. CRISP-DM:数据挖掘标准流程
  5. SpringMVC前传--从Struts 1.x-2.x MVC-Spring 3.0 MVC
  6. android自学之旅——layout资源文件
  7. “ this”关键字如何工作?
  8. [HNOI2016]网络
  9. 计算机更换硬盘键盘鼠标不好使,安装win7时鼠标键盘不能用怎么办?(完美解决方法)...
  10. C++设计模式:抽象工厂模式
  11. 【ArcGIS】02 植被分类
  12. 计算机网络安全员好就业吗,网络安全就业前景怎么样?
  13. pci转并口卡的安装使用
  14. 最全常用Linux命令升级及面试必备
  15. 【2020 ACM Fellow 华人学者】 Wei Wang 加州大学洛杉矶分校
  16. 计算机无法加载引导,硬盘找不到无法读取MBR(硬盘的主引导记录)故障分析及解决技巧...
  17. 次世代贴图材质制作的提示和秘籍
  18. RK3568平台开发系列讲解(安卓篇)WakeLock分析
  19. Flir Blackfly S 工业相机:自动曝光配置及代码
  20. star邀请码卡密获取以及使用方法

热门文章

  1. oracle同机单实例加入集群,将oracle同机单实例加入rac集群的操作步骤
  2. E - Palindrome Numbers
  3. NRF24L01发送接收调试记录
  4. 计算机三级嵌入式系统易错题总结
  5. Java学习之FileInputStream与FileReader的区别
  6. 启动两个tomcat,两个端口,两个tomcat都启动时回显示端口被占用
  7. vue ---- 动态组件
  8. 如何优雅的在java中统计代码块耗时
  9. Mysql替换字段中的内容
  10. 超融合平台安装oracle,超融合平台集成实施方案