#include int m1 = 50; int m2[] = {100, 200, 300}; int* m3 = &m2[0]; void moves() { asm("mov DWORD PTR _m1, -22"); // mem = immed printf("m1 = %d\n", m1); // displays -22 asm("mov eax, _m3"); // reg = mem asm("mov ebx, [eax + 4]"); // reg = [reg] asm("mov _m1, ebx"); // mem = reg printf("m1 = %d\n", m1); // displays 200 } int main(void) { moves(); return 0; }