abc DB 10,32,41h
이렇게 실제 데이터 값 대신 주소값으로 이루어진 변수를 선언할 수도 있냐???
어셈블리어 프로그래밍 책 152p에
aaa DW 3 DUP(1000h)라고 했을 때 1000h번지의 값이 3번 반복 출력된다고 하는데
1000h가 정수인지 문자인지 주소값인지 어떻게 아냐???
-> 전에 답변에 어셈블리에서는 1000h라는게 어떤 포맷으로 정해진게 아니라 어떻게 사용하느냐에 따라 정수,문자,주소값 다 될수있다는데 이게 맞는거???
변수가 아니라 byte야 DB는 define byte를 뜻하는 거라고.
넓은 의미에서 변수 맞잖아 어쨋든 그딴거 넘어가고
질문에 대한 답변이나 해봐라
걍 그런가보다 해
저건 일종의 약속이지. DW 3 DUP(1000h) 하면 1000h 안에 있는 Word(2byte)를 3번 반복한다. 이거 아님?
그리고 네 질문 묘하게 두가지 질문이 엮어져 있는거 안보이냐. 1) 실제 데이터 값 대신 주소값으로 이루어진 변수.. 이거 포인터아냐. word ptr ds:[aaa]
2) 1000h가 뭔값인지 모르지. DW 3 DUP(1000h) 하면 DW DUP(1000h), DUP(1000h), DUP(1000h)랑 같은것 같은데? 그냥 DW의 배열이라고 생각하기 바람
그럼 이거뭐임? 동일책 152p : DB 3 PUP(1) -> 1이 세번 출력된다
왜 이거는 값이 출력되고 저거는 주소로 해석됨?
글쎄 h붙고 안붙고의 차이려나? 키워드는 PUP 맞음? 오타 아닌가 저거
오타다 DUP 똑같은 지시어다
다시보니 그 책이 좀 이상하거나 특수한 경우가 아닌가 싶은데
aaa DW 3 DUP(1000h) 하면 aaa 주소의 값에 { 0x0010, 0x0010, 0x0010 } 이 들어가겠지
1000h번지의 값이 3번 출력이 아니라 1000h가 세번 들어간다는게 맞는듯. 그리고 어셈에서는 번지수가 어떻게 할당될지 모르기 때문에 저런 표현은 안써. 참고해
자기가어떻게 쓰냐문제지 병쉬나