X86汇编 通用寄存器总结

学习X86汇编有一段时间了,是时候总结一波了


X86汇编  通用寄存器总结 

 

一、通用寄存器的名字  见下图

X86汇编 通用寄存器总结_第1张图片

有木有发现名字的规律   

注意:16位和8位寄存器并没有设立专门的硬件,而是将32位寄存器切割!例如

X86汇编 通用寄存器总结_第2张图片


二、虽然名字叫通用寄存器,但是每个有自己独有的‘特长’

EAX:"累加器"(accumulator), 它是很多加法乘法指令的缺省寄存器 ;存放函数返回值。


ECX是计数器(counter), 是重复(REP)前缀指令和LOOP指令的内定计数器.


EDX总是被用来放整数除法产生的余数


EBX:基地址寄存器


EBP:"基址指针"(BASE POINTER), 它最经常被用作高级语言函数调用的"框架指针",EBP 构成了函数的一个框架,在             C++反汇编中 ebp-  通常是局部变量、传进来的参数


ESP:堆栈指针,指向当前的栈顶


ESI/EDI:分别叫做"源/目标索引寄存器"(source/destination index),因为在很多字符串操作指令中, DS:ESI指向源串,而ES:EDI指向目标串.


值得注意的是,堆栈的栈顶是小地址!




如有错误,请指出,谢谢

你可能感兴趣的:(X86汇编/c++反汇编)