다음은 어셈블리 코드의 4 행입니다. 나는 그들을 이해하려고 노력하고있다. (이것은 인텔 syntex이다.)어셈블리 코드에 대한 설명
– mov eax, ebx
– mov eax, [ebx]
– mov eax, [ebx+ecx*X] (X=1, 2, 4, 8)
– mov eax, [ebx+ecx*X+Y] (Y= one byte, 0-255 or 4 bytes, 0-2^32-1)
1) 첫 줄 EBX의 값이 레지스터 EAX 등록간에 복사한다. 2) 두 번째 줄은 ebx 레지스터의 값을 메모리 주소로 teat하면 해당 메모리 주소로 이동합니다. 해당 메모리 주소의 값을 eax 레지스터에 복사합니다. 3) 세 번째 줄은 ebx 레지스터의 값을 메모리 주소로 취급합니다. ecx * X를 추가하면 새 주소가 생성되고 새 주소로 이동하여 값을 가져 와서 eax에 복사합니다. 4) 4 번째 줄을 가져올 수 없습니다.
누구나 확인할 수 있습니까? 지침에 대해 이해 한 내용이 올바른 것입니까? 그들이 정확하지 않다면 친절히 설명해주십시오. 또한 4 행을 설명하십시오.
미리 감사드립니다.
왜 그런가? 4 번 줄은 2 번과 3 번 줄과 같은 거래입니다. 여러 가지를 추가하여 주소를 만듭니다. – harold