-1
나는 어셈블러를 배우려고하고 세 개의 동일한 값을 가진 ar을 정의하는 간단한 프로그램을 작성했습니다. 두 번째 vaule을 집주인 eax에 복사하려고합니다. 코드 mov eax, [arr]
을 사용하면 첫 번째 값에 대해 컴파일되고 결과가 Ah 레지스터에 저장됩니다. 그러나 배열의 두 번째 값을 레지스터 eax으로 복사하려고 시도하면 작동하지 않습니다. mov eax, [arr+1]
값을 0A000000h으로 지정합니다. 함수 DumpRegs
은 promt 명령에 레지스터 값만 표시합니다. 그 소스 코드는 없습니다. (그러나 그것의 좋은 출처에서 책 웹 사이트에서).어레이에서 레지스터로 이동
코드 : Visual Studio에서 MASM로 작성
ExitProcess PROTO,dwExitCode:DWORD
DumpRegs PROTO
.data
arr DWORD 10,10,10
.code
main PROC
mov eax, [arr+1];
call DumpRegs
INVOKE ExitProcess,0
main ENDP
END main
그것.
OK 다음 요소로 포인터 4 바이트를 이동해야합니다. – Niklas