1. Convert the following numbers from binary to hexadecimal.
    1. 1111 1100 1101 1010 (4 points)
    2. 1001 1110 1010 1111 (4 points)
  1. Answer the questions below using the memory diagram.
Address
0x00 0x30 0x54 0x89 0xFF
0x04 0xA3 0xFE 0x34 0xC7
0x08 0xF5 0xFA 0x72 0xB3
    1. Consider the word that starts at address 0x08:
      1. If the word length of the system is 32-bits, what is the word? Is it aligned? (3 points)
      2. If the word length of the system is 16-bits, what is the word? Is it aligned? (3 points)
    2. Consider the word that starts at address 0x06:
      1. If the word length of the system is 32-bits, what is the word? Is it aligned? (3 points)
      2. If the word length of the system is 16-bits, what is the word? Is it aligned? (3 points)
  1. Below are two op-code descriptions from the AVR ISA and their descriptions. In each case, r and d are the two registers the operation is performed on and d is the register where the result is stored. Use this information to answer the following questions.

ADD (add without passing the carry bit out) 0000 11rd dddd rrrr
OR (logical or)                                                      0010 10rd dddd rrrr

Register 0 contains: 0000 0101
Register 1 contains: 0011 0101
Register 2 contains: 1101 0001
Register 3 contains: 1100 0000

    1. What is contained in register 0 after the following op-code is run: (5 points)
      0000 1100 0000 0011
    2. What is contained in register 2 after the following op-code is run: (5 points)
      0010 1000 0010 0001