Вы правы, есть шаблон. Эта страница:
http://www.z80.info/decoding.htm
объясняет кодировку различных инструкций Z80, как документированных, так и недокументированных.
Инструкция ld c, d
, например, кодируется как LD r[y], r[z]
с полем x
(два старших разряда) кода операции, установленным в 1, и трехбитовыми полями y
и z
(биты 3-5 и 0-2 соответственно) установлены в 1 и 2.
Чтобы дать вам пример того, как это можно реализовать в эмуляторе, вот ссылка на мою реализацию декодера:
z80.h .