在计算机系统中,ESI和EDI寄存器通常用于存储和处理数据。它们分别代表Extra Source Register(附加源寄存器)和Extra Destination Register(附加目标寄存器...
ESI(Source Index):ESI 寄存器用于存储指向源数据的指针或索引。它经常与字符串操作指令一起使用,以指示要操作的字符数组的起始位置。 EDI(Destination Index):EDI 寄存器用于存储指向目标数据的指针或索引。在进行字符串操作时,EDI 通常指向目标字符串的起始位置,以指示结果应该存储在哪里。 EBP(Expanded Base Pointer)...
EAX 是"累加器"(accumulator), 它是很多加法乘法指令的缺省寄存器。 EBX ECX 是计数器(counter), 是重复(REP)前缀指令和LOOP指令的内定计数器。 EDX ESI/EDI EBP 是"基址指针"(BASE POINTER), 它最经常被用作高级语言函数调用的"框架指针"(frame pointer). 在破解的时候,经常可以看见一个标准的函数起始代码:...
寄存器esi edi 常见的寻址方式有立即寻址、直接寻址、间接寻址、寄存器寻址、寄存器间接寻址、相对寻址和变址寻址等。在立即寻址方式中,操作数包含在指令中;在直接寻址方式中,操作数存放在内存单元中;在寄存器寻址方式中,操作数存放在某一寄存器中:在间接寻址方式中,指令中给出了操作数地址的地址;在相对寻址方式中,在...
eax, ebx, ecx, edx, esi, edi, ebp, esp等都是X86 汇编语言中CPU上的通用寄存器的名称,是32位的寄存器。如果用C语言来解释,可以把这些寄存器当作变量看待。 比方说:add eax,-2 ; //可以认为是给变量eax加上-2这样的一个值。 这些32位寄存器有多种用途,但每一个都有“专长”,有各自的特别之处。
EBX是"基地址"(base)寄存器,在内存寻址时存放基地址。 ECX是计数器(counter),是重复(REP)前缀指令和LOOP指令的内定计数器。 EDX则总是被用来放整数除法产生的余数。 ESI/EDI分别叫做"源/目标索引寄存器"(source/destination index),因为在很多字符串操作指令中, DS:ESI指向源串,而ES:EDI指向目标串. EBP是"基址...
在switch_to函数中必须保存esi/edi/edx/ebp这四个寄存器 原因: GCC在对C、汇编代码进行混合编译时,遵从cdecl调用约定,且cdecl规定EBX, EBP, ESP, EDI, ESI, CS, DS这些寄存器不应该受到函数调用影响。而汇编写的switch_to函数是受到c语言写的c_version_handle函数的调用。所以在switch_to中应该保存这些寄存器。
都属于通用寄存器,所以一般场景下都可以随便用。就是有些传送指令规定了esi是源,edi是目的
eax, ebx, ecx, edx, esi, edi, ebp, esp等都是X86 汇编语言中CPU上的通用寄存器的名称,是32位的寄存器。如果用C语言来解释,可以把这些寄存器当作变量看待。 比方说:add eax,-2; //可以认为是给变量eax加上-2这样的一个值。 这些32位寄存器有多种用途,但每一个都有“专长”,有各自的特别之处。
寄存器 edx、eax、esi、edi 14:12 指令cmp、jne、jmp 以及标志位寄存器 10:22 129课时 零基础深入使用和理解 MySQL 1人学习 老汤 暂无评分 ¥399.00 230课时 数据结构与算法 0人学习 老汤 暂无评分 ¥599.00 108课时 键值对数据库 Redis 0人学习 老汤 暂无评分 ¥399.00 430课时 算法刷题课 0人学习 老...