주소 지정 모드로 약간 혼란 스럽습니다. 나는이 문장이 있으면Masm32 - 주소 지정 모드 및 배열
array1 DWORD 200 DUP(?)
:
mov EAX, [EBX + EDI + 10]
EBX는 EDI는 인덱스, 기본입니다, 그리고 + (10)는 EDI에 열 개 이상의 바이트를 추가 말하고있다? 그래서 EDI는 14 바이트 길이를 리턴 할 것인가? 주소를 반환하고 EAX에 넣으시겠습니까?
와 비슷하게,
mov EAX, [EBX + EDI * 4]
이 배열에 무엇을 적 인덱스, 4 바이트 반환하는 말인가요? 배열은 각 색인에 대해 4 바이트 길이이므로? 나는 무엇이 4인지 이해하지 못한다고 생각합니다! 뿐만 아니라
는mov ECX, 100 ; loop counter
mov ESI, 0
top1:
mov [array1 + ESI * 4], ECX
inc ESI
loop top1
이
제로 4 바이트 큰 인덱스에서 시작하여 배열에 숫자 100를 넣어 것? 그래서 인덱스 [0] = 100, 인덱스 [1] = 101, 인덱스 [2] = 102? 는
'mov'와 비슷한 주소는 대상에 있지만 그 주소에는 값을 넣지 않습니다. 주소를 원한다면 그것은 바로'lea '입니다. – harold