다차원 배열

namu·2022년 7월 7일
	int apartment2D[2][5] = { { 4, 2, 3, 4, 1 }, { 1, 1, 5, 2, 2 } };
mov dword ptr [apartment2D],4
mov dword ptr [ebp-28h],2
mov dword ptr [ebp-24h],3
mov dword ptr [ebp-20h],4
mov dword ptr [ebp-1Ch],1
mov dword ptr [ebp-18h],1
mov dword ptr [ebp-14h],1
mov dword ptr [ebp-10h],5
mov dword ptr [ebp-0Ch],2
mov dword ptr [ebp-8],2
	int apartment1D[10] = { 4, 2, 3, 4, 1, 1, 1, 5, 2, 2 };
mov dword ptr [apartment1D],4
mov dword ptr [ebp-58h],2
mov dword ptr [ebp-54h],3
mov dword ptr [ebp-50h],4
mov dword ptr [ebp-4Ch],1
mov dword ptr [ebp-48h],1
mov dword ptr [ebp-44h],1
mov dword ptr [ebp-40h],5
mov dword ptr [ebp-3Ch],2
mov dword ptr [ebp-38h],2
	
    for (int floor = 0; floor < 2; floor++)
mov dword ptr [ebp-68h],0
jmp main+0C6h (0A2616h)
mov eax,dword ptr [ebp-68h]
add eax,1
mov dword ptr [ebp-68h],eax
cmp dword ptr [ebp-68h],2
jge main+146h (0A42696h)
    {
    	for (int room = 0; room < 5; room++)
mov dword ptr [ebp-74h],0
jmp main+0DEh (0A4262Eh)
mov eax,dword ptr [ebp-74h]
add eax,1
mov dword ptr [ebp-74h],eax
cmp dword ptr [ebp-74h],5
jge main+127h (0A42677h)
		{
        	int index = (floor * 5) + room;
imul eax,dword ptr [ebp-68h],5
add eax,dword ptr [ebp-74h]
mov dword ptr [ebp-80h],eax
			int num = apartment1D[index];
mov eax,dword ptr [ebp-80h]
mov ecx,dword ptr apartment1D[eax*4]
mov dword ptr [ebp-8Ch],ecx
			cout << num << " ";
...
		}
jmp main+0D5h (0A42625h)
		cout << endl;
...
	}
jmp main+0BDh (0A4260Dh)

	for (int floor = 0; floor < 2; floor++)
    {
    	for (int room = 0; room < 5; room++)
        {
        	int num = apartment2D[floor][room];
imul eax,dword ptr [ebp-98h], 14h
lea ecx,apartment2D[eax]
mov edx,dword ptr [ebp-0A4h]
mov eax,dword ptr [ecx+edx*4]
mov dword ptr [eb-0B0h],eax
			cout << num << " ";
        }
    }

	return 0;
xor eax, eax
}
...

다차원 배열은 연속적인 메모리상에 위치한다.

profile
안녕하세요

0개의 댓글