This fetch-decode-execute loop is literally the main loop of every CPU simulator, including QEMU's interpreter core and the 6502/Z80 emulators that power retro game emulation in MAME. Real silicon pipelines this same loop across multiple stages, but the sequential version you build here is the exact control-flow model taught in Patterson & Hennessy's Computer Organization and Design.