2012-08-10 2 views
2

NASM에서 다른 레이블이 가리키는 메모리 위치에서 몇 바이트만큼 오프셋 된 새 메모리 위치를 가리키는 새 레이블을 만들 수 있습니까?NASM - 기존 레이블에서 새 lablels 만들기

예 : label1이 메모리 위치 0x40h를 가리키는 경우 label1을 사용하여 0x44h를 가리키는 label2를 정의하는 방법이 있습니까?

답변

2

그것은 당신이 뭘 하려는지 명확하지,하지만 난 당신이 원하는 무슨 생각을 답변 해 드리겠습니다. 라벨 1이 이미

label1: db "Hello World", 10 

으로 설정되어 있고 "월드"비트 만 인쇄하려고한다고 가정 해보십시오. 다음과 같이 수행 할 수 있습니다 (인텔 문법 32 비트 리눅스로 보여하지만, 다른 경우에는 작동) :

mov eax, 4 
mov ebx, 1 
mov ecx, label1 
add ecx, 6    
mov edx, 6    
int 80h 

당신이 ECX에 기준을 "LABEL1"를 넣어 그래서 난 그 말이 바랍니다, 그런 다음 오프셋을 상쇄시키려는 양만큼 해당 참조를 늘리십시오.

2

당신은 라벨처럼 사용할 수있는 상수를 정의 할 수 있습니다 :

label2 equ label1+4 
관련 문제