From Jason Turner
Watch on YouTube

Summary

This episode demonstrates a completely compile-time ARM emulator that can execute ARM instructions and verify their results during compilation. Jason explains how following best practices like using constexpr, noexcept, and proper function design naturally led to a fully constexpr implementation without initially planning for it. The emulator simulates ARM's registers and memory, processes instructions like data movement and arithmetic operations, and can validate results with static_assert, allowing compile-time detection of instruction sequence errors without runtime overhead.

Resources

Tags