- Codice:
#include <stdio.h>
int main()
{
int v[5] = { 1,2,3,4,5 };
int c = 0;
int *b;
b = &v[0];
__asm {
mov ebx,b
mov eax, dword ptr [ebx]
mov esi,4
mov ecx, dword ptr [ebx+esi*4]
add eax,ecx
mov c,eax
}
printf("%d", c);
}
Sto cominciando ad approcciarmi all'assembler. Tuttavia sto trovando problemi con l'indirizzamento della memoria. In particolare non capisco in base a che cosa devo stabilire l'identificatore di tipo ( dword ptr, word ptr o byte ptr ).
Inoltre se potete spiegarmi nel dettaglio cosa succede qui : mov ecx, dword ptr [ebx+esi*4]