вторник, 5 марта 2013 г.

pyCPU: 16 команд на РОН не хватило

  В написании эмулятора ПК на python, оказалось, что 16 команд на РОН не просто мало, а ужасно мало. Инкремент, декремент, пересыл между {РОН и РОН, РОН и память, память и РОН}, xor, inv, and, or, shl, shr - и всё. Ни стека, ни индексов, ни переходов, ни каких-либо ещё плюшек.

  Поэтому пришлось код команды разбивать не по тетрадам, а по битам - 3 старших - регистр, и 5 младших - непосредственно, что с регистром сделать. Вот туда-то и запихаем. )

Но 3 старших бита - это 8 состояний, а не 6 (у меня 6 РОН). Вот 2 состояния и буду использовать для всех расширенных операций, а пару дополнительных кодов специально оставлю для любителей супер-пупер расширений. ;) 

Комментариев нет:

Отправить комментарий