Существует несколько версий одной и той же инструкции: IDIV M32, IDIV R32, IDIV M64, IDIV R64 (
https://www.felixcloutier.com/ x86/idiv)
Как понять, какой из них используется? Скажем
Код: Выделить всё
vdiv(std::vector&):
mov rcx, QWORD PTR [rdi]
mov eax, DWORD PTR [rcx+4]
cdq
idiv DWORD PTR [rcx+8]
mov DWORD PTR [rcx], eax
ret
Он 32-битный, поскольку использует int? Это 64-битный файл, поскольку он использует 64-битный регистр rcx? Наверное 32 битная, но это M или R? Как определить разницу между этими двумя (M/R)?
Подробнее здесь:
https://stackoverflow.com/questions/783 ... an-asm-lis