Article

How can undefined opcodes ud0 and ud1 have parameters? How undefined were they?

The Old New Thing ·The Old New Thing ·Published 2026-10-07 ·5 min read

This article discusses the nature of undefined opcodes ud0 and ud1, explaining how they can have parameters despite being undefined. It delves into the intricacies of instruction decoding and the historical context of these opcodes.

From the article

Gunnar Dalsnes wondered how ud0 and ud1 could have parameters if they were undefined ? “Does it mean they were not completely undefined, just undocumented and not completely implemented?”

The opcodes ud0 and ud1 have no definition, but that’s not the same as being architecturally an “undefined instruction”. They live in a purgatory where they were not assigned a meaning, but were also not officially declared to be meaningless.

Originally, these byte sequences went through the instruction decoder and happened to slip through a few cracks before somebody finally noticed, “Wait a second, I don’t know how to execute this.”


Share this resource


Discovered 2026-10-08 Source The Old New Thing Archive 2026-10 →