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?
1 Answer 1
Check it with the assembler!
The code I get for inc r22 is 0x9563, which is 1001010101100011. You are correct!
-
\$\begingroup\$ I have no idea how to use the assembler yet, i suck! Thank you \$\endgroup\$Sim– Sim2013年04月14日 09:39:17 +00:00Commented Apr 14, 2013 at 9:39
-
\$\begingroup\$ @jameskensington: Maybe you can improve your answer by describing how to "check it with the assembler"? \$\endgroup\$Rev– Rev2013年04月14日 16:48:32 +00:00Commented Apr 14, 2013 at 16:48
1001 010d dddd 0011
? \$\endgroup\$