This visual execution trace shows how a DMA controller works in embedded C. The CPU first sets the DMA source, destination, and size registers. Then it starts the transfer by setting the START bit in the control register. The DMA controller takes over and moves data directly between memory and peripherals, freeing the CPU. The CPU waits in a loop checking the DMA status. When the DMA sets the DONE bit, the CPU detects it and resumes normal operation. Variables like DMA->SRC, DMA->DST, DMA->SIZE, DMA->CTRL, and DMA->STATUS change step-by-step as shown. Key moments clarify why the CPU waits and how the DMA signals completion. The quiz tests understanding of register values and CPU behavior during DMA transfer.