Вы должны сохранить эру в виду, 8085 был разработан еще в 1977 году. Технология технологического процесса с интегральной микросхемой была не столь усовершенствована, тогда был довольно жесткий верхний предел числа транзисторов, которые они могли бы надеть на матрицу , Он использует только 6500 из них.
Это сильно ограничивает логику, которую они могут использовать для реализации процессора. Биты в коде операций, который выбирает операнды, передаются непосредственно в мультиплексор банка регистров. И занимайте одинаковые позиции бит и значение в других инструкциях, которые используют регистр. Бюджет сжигать дополнительные транзисторы для особых исключений для операндов, которые не имеют смысла, просто недоступен. Было намного проще и дешевле оставить их на месте и не использовать логику для решения исключительного случая.
Не большая проблема, никто не собирался использовать бессмысленные инструкции случайно.
С другой стороны, он работал наоборот, иногда процессор имел очевидное отверстие в наборе команд. Z80 был таким. Предназначен для инструкции, которая прослушивалась в первых нескольких силиконовых проходах и не считалась достаточно существенной для исправления. Поэтому они просто оставили это из документации. Или оставил их на месте, 6502 был notoriously buggy. Было очень привлекательная цена, хотя :)
Это может быть способ кодирования no-op. –
возможно nop? –
@ HansPassant; Вы имеете в виду, что эти инструкции не отключены, чтобы не увеличивать стоимость? – haccks