간접지정방식에서요
Movx @DPTR , A 는 무슨 주조 지정방식인가요?
Movx a, @DPTR은 간접지정방식인건 알겠거든요
근데 책에 보니깐
읽거나 전송하고 자하는 어드레스를 R0 R1 DPTR 에 저장하고 이 레지스터를 지정하면 저장된 내용이 곧 액세스 하고자 하는 데이터의 어드레스가 되는 간접 어드레스 지정 방식이다.
이렇게 나왔는데,, 위에있는것과 아래있는것 모두 같은 지정방식인가요?
하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.
번호 | 분류 | 제목 | 글쓴이 | 조회 수 | 날짜 |
---|---|---|---|---|---|
1 | Sensor 설계 | HOT사진에 있는 tr 제품명이 먼지 알고 싶습니다 ㅡㅜ5 | 텐지무용 | 1153 | 2010.11.22 |
저도 초보인데 몇글자 적어봅니다.
우선
MOV R0, # 20H
MOV A, R0
정도는 아시죠?
1.R0이란 레지스터에 20h라는 데이타를 넣고
2.A레지스터에 R0의 값인 20h를 옮기는 예제입니다.
그럼 여기서
MOV R0,#20H
MOV A, @R0
은 뭘까요?
MOV A, @R0 이란 R0이 가리키는 값
즉 위에서 R0에 20h를 넣었기 때문에 이 값을 데이타 값으로 안쓰고
주소 값으로 사용한다는 말입니다.
무슨 말이냐면 만약 20h라는 주소에 0Bh라는 값이 들어있다고 가정하면
MOV A, @R0 일때 A에 0Bh라는 값이 들어간다는 말입니다.
이것을 간접지정방식이라고 하죠. 그런데 주의할 점은 @는 R0과 R1만 사용이 가능합니다.
책에 나와있죠.
그럼 위에 질문인 Movx @DPTR , A 는 뭔가.
여기서 MOVX라는 것은 MOV 에 X가 붙었음이 보입니다.
확장된 램에 데이타를 보낸다는 말인데
DPTR이란 것은 DPH와 DPL두 부분으로 나우어져 있잖아요? SFR보시면 나옵니다.
이때 DPH와 DPL은 각 8바이트이고 당연히 총 16바이트가 되니까 65536의 데이타를 가리킬 수 있겠죠?
(이 부분 이해안가시면 나중에 다시 설명해 드릴께요.)
그럼 MOVX @DPTR, A란
A에 들어있는 값을 DPTR이 가리키는 곳에다가 넣는다는 뜻입니다.
DPTR은 여기에서 나와있지 않기 때문에 어딘지는 알 수 없네요.
다시 간단히 요약해서 말하면 이렇습니다.
MOVX @DPTR, A 는 결국 확장된 메모리 주소에 A값을 넣고 싶을 때 사용한다는 뜻입니다.
MOVX A,@DPTR이란 뜻은 DPTR이 가리키고 있는 값을 A에 넣으라는 뜻이구요.
(저도 초보인지라 ㅡ.ㅡ; 설명이 부실합니다. 뒤에 보시는 분이 틀렸으면 수정 좀 해주세요. )
질문 있으면 h4434@hanmail.net으로 주세요. 아는 것은 답변해 드립니다.