Существует же NAOTO-64? Да. Надо сделать Slowpoke-64. Что он уметь будет? Всё. Ну, почти...
Мне от того что постоянно надоело изобретать 16-битный процессор, сразу захотелось создать 64-х битный x86, его небольшое подмножество для теста. Но с огромными приколами: регистры будут храниться не в регистрах LE, а в блоках памяти! И это будет жесть. И вообще, весь процессор будет задуман так, чтобы тормозить как можно более основательно, чтобы жизнь мёдом не казалась.
Да, именно 64 битная адресация и 64 битные регистры. Прямо вот сразу с 16 битного процессора на 64 битный переезд. Для чего? Да просто надоело уже колупаться в одной и той же проблеме. Выкину я этот 16-битный адрес вообще, оставлю только 32 или 64 бит. Ну и остальное, как и обычно, 8/16/32/64 регистры.
И еще там будет экран 32 на 30, как у Денди, для полного безумия, еще и черно-белый. Это надо же, да, сделать 64х битный процессор и выводить экран Денди, складывая 2+2 с Хелло Ворлдом.
Что необходимо реализовать из минимума, чтобы заработала простая выдача?
- Конечно же все АЛУ базовые (ADD, SUB, ADC, SBC, AND, XOR, OR и CMP)
- Инструкции сдвига на минимуме (но все 8)
- Инструкции MOV
- Переходы – условные или безусловные
- Инкремент-декремент
- Работа со стеком, вызов и возврат из процедур
Из того что хотел бы сказать: для 1024 битов регистров требуется 2500 LE (из 10240, например). На этом у меня точно всё.