2012-03-24 4 views
2

이론적으로 ASM 8086을 고등학교 (MASM, x86)에서 공부하고 있습니다. 어셈블리 명령어 mov 레지스터, [register] [register]

.data 
var dd 421,422, 443, 442, 444, 217, 432 

.code 
; some code 
mov esi, (OFFSET var)+4 
mov ebx, 4 
mov edx, [ebx][esi] ; that's the line I don't uderstand 

은 그 프로그램을 실행하고 EDX == 000001BBh의 == 443 그 코드의 마지막 줄의 의미는 무엇입니까 후? 그것은 무엇을합니까?

답변

1

esi 점 4 바이트 뒤에는 422입니다. ebx 4.

[ebx][esi]하는 [ebx+esi]을 나타내고 일이고 [] 포인터 연산자이다.

이 모두가 [ebx][esi] 지점을 아직 422보다 4 바이트 이상 멀리 만들고 있으며 443이 분명히 있습니다.

관련 문제