2010-08-04 9 views

답변

2

위키 백과는 일반적으로 이런 종류의 일에 좋습니다. 보통 64K에서 X에서 1MB로 주소 공간을 늘리는 것 같습니다.

http://en.wikipedia.org/wiki/MSP430#MSP430X_20-bit_extension

+0

감사합니다. 답변 해 주셔서 감사합니다. 정말 도움이됩니다. – Adnan

+0

이안의 것이 내 것보다 낫다. 그의 질문 옆에있는 틱 아웃 라인을 클릭하여 대답으로 받아 들여야합니다. 감사! – Rup

4

430X 아키텍처의 기본적인 변화가 원래 장치 (430)에 외부 어드레스 64K 사용할 수 있도록하는 20 비트 어드레스 범위를 도입 하였다. 이전 스타일의 16 비트 명령어와 병렬로 20 비트 주소에서 작동하는 새로운 명령어 세트가 있습니다. 예 :

CALL ; takes a 16 bit address  
CALLA ; takes a 20 bit address 

PUSH ; Push the bottom 16 bits of a register onto the stack 
PUSHA ; Push the full 20 bit register 

430 기반 프로세서 용으로 컴파일 된 기존 코드는 430X 프로세서의 아래쪽 64K 주소 공간에서 실행됩니다. 개발 도구 (IAR 및 아마도 Rowley)에서 메모리 모델을 지정하여 코드가 64K 경계를 넘지 않는다면 더 긴 함수 호출 및 기타 430X 특정 명령어가 생성되지 않도록 할 수 있습니다.

+0

고마워, 답변 해 주셔서 감사합니다. 정말 도움이됩니다. – Adnan

+0

20 비트 (* not * 24) 비트 참조 : http://en.wikipedia.org/wiki/TI_MSP430#MSP430X_20-bit_extension –

0

MSP430X 확장에는 20 비트 주소 공간 만 있습니다. 따라서 CALLA는 20 비트 주소 만 취합니다.

관련 문제