2011-10-29 3 views
2

다음 코드가 왜 완벽하게 컴파일됩니까?TurboShell/TurboAsm에서`Var2 DW Var1`은 무엇을 의미합니까?

Data Segment 

Var1 Dw (any 4 digit hex value) 
Var2 Dw Var1 

Data Ends 

줄 "Var2 Dw Var1"은 무엇을 의미합니까? 유형 정의 후에 즉시 값만 갈 수 있다고 생각했습니다. 다음

VARX DW VARY 

당신은 기본적으로 말을하는지 :이 같은 변수를 선언 할 때

+0

어떤 어셈블러를 사용하고 있습니까? – BlackBear

+0

TurboShell, TurboAsm과 비슷하다. – user1020063

+0

내 메모리가 나에게 적합하다면 (그리고 그렇지 않을 수도있다), 'Var1'이있는 세그먼트 안에 'Var1'이 위치하는 오프셋을 유지하기 위해 'Var2'를 선언 할 것이다. 'Var1'은 세그먼트 내의 첫 번째 선언이므로'Var2 '의 값은 0이됩니다. –

답변

2

특정 예에서

VAR  DW (offset of VARY into the segment VARY is in) 

, Var1는 데이터 세그먼트의 첫 번째 변수는, 그래서 Var2의 선언은 다음과 같습니다.

Var2 DW 0x0000 

r을 입력하면 Var1 앞에 변수가 더 추가되고 Var1 세그먼트로 이동하면 Var2 값이 그에 맞게 조정됩니다.

일반적인 사용법은 배열 시작 부분의 주소 (이 경우 오프셋)를 가져 와서 배열과 유사한 구문의 시작을 얻는 것입니다.