# avr 8 bit vs 32 bit instruction set

Does the avr 32 bit have similar instruction set from 8bit or atleast borrowed some? Is it a completely different microcontroller...I was thinking of learning arm if this was the case.I really want to know so atleast I would get to know if I will continue with avr 32 bit and learn arm later.

• Unless you're working with ATtiny4/5/9/10/13 there really is no reason to worry too much about the ISA. – Ignacio Vazquez-Abrams Jul 21 '16 at 19:42
• Learning what? Memorizing the instruction set? – Eugene Sh. Jul 21 '16 at 19:47
• Please capitalise words properly and add missing spaced for legibility. e.g. "AVR", "ARM". It affects your credibility and the quality of responses you will get. Welcome to EE.SE. – Transistor Jul 21 '16 at 20:21
• After you learn one or two instruction sets the Nth one is a matter of just sitting down with a references and coding. Get the docs you can probably "learn" both AVR32 and ARM in an afternoon. – old_timer Jul 21 '16 at 21:06
• AVR32 never really got beyond niche applications. If you want to become familiar with something you will use frequency, pick up one of the ARM parts, as there are many vendors licensing this basic idea. In contrast, AVR32 would probaby be something you'd familiarize yourself with when someone requests you use one in their project. But to expand on what others have said, it's not uncommon for a project to have a few thousand lines of C code, and maybe a dozen lines of assembly that were actually written by the project engineer and not the chip vendor. – Chris Stratton Jul 22 '16 at 3:03

Pretty much no, they are not the same.

From the AVR32 instruction set documentation (emphasis mine):

To truly exploit the power of a 32-bit architecture, the new AVR32 architecture is not binary compatible with earlier AVR architectures.

In other words, code for the AVRs will not work on AVR32 processors, the instruction set is different.

While some of the mnemonics for instructions (e.g. ADD, ADC, etc.) look similar, but the instructions have different parameters, different registers, and differing behaviour.

However if you are using GCC or some other compiler, then as long as it supports the device, you shouldn't notice a difference if you program in C. If you are working in assembler, the instruction set will probably feel familiar, but it isn't the same.

• Thanks. Quite what I wanted.What about graphics support between avr 32 bit and arm 32 bit. – jyms Jul 23 '16 at 19:50