# AVR programming and corresponding machine code

This is a question on a hand out, it asks:

What is the machine code that corresponds to the AVR Assembly Language Instruction inc r22? Enter your answer as a 16 bit binary number. There must be no spaces or punctuation marks - just enter sixteen 1's or 0's.

I found the corresponding machine code which is 1001 010d dddd 0011. I added the binaries together for 22 which is 16 + 6 so:

10000 + 110
= 010110


I assume from here that you just sub it into the d's hence,

1001 010d dddd 0011
1001 0101 0110 0011


And there's the 16 bit answer. Is this correct, or have I done this the wrong way?

• Where did you find 1001 010d dddd 0011? – jippie Apr 14 '13 at 9:08
• @jippie avr assembly documents – Sim Apr 14 '13 at 9:11
• Do you have a link to it? – jippie Apr 14 '13 at 9:23
• You want the AVR Instruction Set document - doc0856.pdf – Leon Heller Apr 14 '13 at 9:26
• Did your teacher work in web design? "Enter your credit card with no spaces, because we can't figure out how to remove them before handing them to the processing API ...". – Kaz Apr 14 '13 at 15:59