Simulate the execution (contents in memory and registers in hexadecimal)
Both instructions and data are 16 bits long. The instruction format provides 4 bits for the opcode, and the remaining 12 its can be directly addressed.

The list of opcodes:
0x01 = Load AC from Memory
0x02 = Store AC to Memory
0x03 = Load AC from I/O (e.g., 3005: Load AC from I/O device 5)
0x05 = Add to AC from Memory
0x07=Store AC to I/O (e.g., 7006: Store AC to I/O device 6)

memory
200 3005
201 5500
202 2501
... ...
500 0005
501

Assume the value retrieved from device 5 is 0x2. The value in the PC is 200.
3.1. Simulate the execution: List the values in PC, AC and IR in both fetch and execute cycles for each instruction.

3.2. What is the value in address 501 at the end of the execution.