Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Reverse engineer the following AVR machine code given in hexidecimal format: 05E214E321E3010F0000020F00000003009309000C94 Hint: The only instructions included are ADD, JMP, LDI, NOP and STS. Use

image text in transcribed

Reverse engineer the following AVR machine code given in hexidecimal format: 05E214E321E3010F0000020F00000003009309000C94 Hint: The only instructions included are ADD, JMP, LDI, NOP and STS. Use these links or the complete AVR 8-bit instruction reference found HERE to answer the following parts. a.) Convert the little-endian ordered machine code above into a big-endian ordered binary list of instructions. Note that the AVR uses little-endian addressing (with the least significant byte before the most significant byte) so the executable string above is byte-addressed from left to right beginning with the byte 0x05 stored at address 0x0000. To help make your solution readable, please put each binary instruction on a separate line beginning at address 0, and put a space between each nibble. Your binary solution should be given in big-endian order (that is, the most significant byte should be on the left, and the least on the right). b.) Disassemble the binary instructions back into equivalent AVR assembly language. Remember that the binary instructions given in the documentation are given in big-endian order. You may make up your own labels if necessary. ia-) Address: Hex Code | Binary Code 0x0000E205 1110 0010 0000 0101 | 0x0001: E314 1110 0011 0001 0100 LDI R16, 0x25 LDI R17, 0x34 Reverse engineer the following AVR machine code given in hexidecimal format: 05E214E321E3010F0000020F00000003009309000C94 Hint: The only instructions included are ADD, JMP, LDI, NOP and STS. Use these links or the complete AVR 8-bit instruction reference found HERE to answer the following parts. a.) Convert the little-endian ordered machine code above into a big-endian ordered binary list of instructions. Note that the AVR uses little-endian addressing (with the least significant byte before the most significant byte) so the executable string above is byte-addressed from left to right beginning with the byte 0x05 stored at address 0x0000. To help make your solution readable, please put each binary instruction on a separate line beginning at address 0, and put a space between each nibble. Your binary solution should be given in big-endian order (that is, the most significant byte should be on the left, and the least on the right). b.) Disassemble the binary instructions back into equivalent AVR assembly language. Remember that the binary instructions given in the documentation are given in big-endian order. You may make up your own labels if necessary. ia-) Address: Hex Code | Binary Code 0x0000E205 1110 0010 0000 0101 | 0x0001: E314 1110 0011 0001 0100 LDI R16, 0x25 LDI R17, 0x34

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

More Books

Students also viewed these Databases questions