асм там происходит нечто вроде a+число (a+1, a+2 и т.д.). Но почему строка lea ecx, [edx+1] работает как a+1?? В edx берется адрес стэка esp+a и приьавляют к нему 1 в hex числ системе.
Какой тут нахрен тогда a+1, если не к значению переменной прибавляется 1, а к ее адресу?
ptr_to_struct = dword ptr 4
a = dword ptr 8
mov edx, [esp+a]
mov eax, [esp+ptr_to_struct]
lea ecx, [edx+1]
mov [eax], ecx
lea ecx, [edx+2]
add edx, 3
mov [eax+4], ecx
mov [eax+8], edx
retn
_get_some_values endp
https://t.me/ChatAssembler
P O H U Y O H U Y
thats))))) 0)))))
lea вьічислит само вьіражение, без разьіменовьівания адреса
Обсуждают сегодня