Since I have been developing feedback from ollydbg for many years, I can tell you that this is an order of importance when debugging. Eax is used everywhere by virtue of its nature. He gets return values, he used a lot. Then, ecx and edx are of equal origin, I would say. Instructions like loop, repsb and like use ecx, and divs, muls and more use edx. Moreover, when we program in assembly, we usually use eax, edx and ecx. Esi and edi are also sometimes used, mainly in repeating string functions or as secondary registers in some cases.
I believe the reason for the order is how Intel uses this order, but it would be strange to have esi on top of my ollydebug registers, since eax is used everywhere. Thus, it has an ergonomic point: D
source share