2017-02-19 1 views
-4

atmega32는 8 비트 또는 16 비트입니까? iam은 정말 혼란 스럽습니다.
avr에 대한 mazidii에서 읽는 동안.
그는 atmega32에서의 래치가 0x085f에 있다고 말합니다.
은 16 비트이며 도움이 필요합니다.
링크가 책에서 잘라냅니다. enter image description hereatmega32는 8 비트 또는 16 비트입니까?

+2

8 비트 CPU입니다. 인용 한 "래이스트"값은 부적합합니다. http://www.atmel.com/devices/atmega32.aspx –

+0

나는이 코드가 스택 포인터를 설정하는 atmega32 코드라는 요점을 놓치고 있다고 생각한다. –

+0

그는 16 비트 주소 –

답변

2

범용 레지스터가 8 비트 레지스터이므로 cpu는 8 비트입니다.

스택 포인터 SP 및 프로그램 카운터 PC와 같은 일부 16 비트 레지스터가있다. 하지만 주소 공간이 256 바이트를 넘기 때문에 더 커야합니다.

우리는 범용 레지스터가 8 비트 연산을 수행하기 때문에 cpu가 8 비트라고 여전히 말합니다.

+0

이 코드 스냅이 옳다는 뜻입니다. 마이크로 컨트롤러는 8 비트이지만 어떤 16 비트 reg가있다. –

+0

예, 16 비트보다 큰 레지스터도 가능하다. 일부 AVR 장치에는 PC의 16 비트가 모두 처리하기에 충분하지 않은 플래시 프로그램 메모리가 너무 많아서 HI 및 LO 외에 확장 된 부분이 있습니다. 하지만 일반적으로 사람들이 "레지스터"라고 말하면 수학 연산에 사용되는 범용 레지스터를 의미합니다. 기술적으로 SP, PC 및 STATUS도 레지스터이지만 이것들은 우리가 말하는 레지스터가 아닙니다. – UncleO

+0

또한 16 비트 범용 레지스터 인 X, Y 및 Z도 있습니다.하지만 실제로는 8 비트 레지스터 쌍의 이름이며 독립적 인 16 비트 레지스터는 아닙니다. 이들은 종종 주소 기반 지침에 사용됩니다. – UncleO

관련 문제