Виртуальный процессор для 0x10c

- Ожидаемые частоты: 100 кГц
- Оперативная память: 128 кБ (64 тыс. 16-разрядных слов)
- Тайловая видеопамять из 32x12 тайлов, которые определены 128 4x8 знаками, которые находятся в оперативной памяти
- Спецификация: dcpu-16_rus.txt
- Прямой, абсолютный, относительно счётчика команд, косвенный, косвенно-индексный, стековый виды адресации памяти
- 8 абсолютно симметричных регистров общего назначения (некоторые из ник названы как аккумуляторы или индексы, но разницы в них пока нету)
- 16x16->32-битное аппаратное умножение, 16-битное аппаратное деление, нету двоично-десятичных чисел, полностью 16-битные переполняемые регистры
- Определено 16 кодов операций, хотя памяти хватит еще для очень многих
- Нет операций ввода-вывода, можно использовать очереди сообщений с распределением памяти
- Нет системы прерываний
- Нету аппаратных прерываний и блока управления памятью
- Флоппи-дисковод для 1.44 Mб дискет
- Кольцевой буфер ввода с клавиатуры
- SP начинается с нуля как и другие регистры

Карта распределения памяти
Адреса адресуют машинные слова, размером в 16 бит.
16 бит позволяет адресовать 64 тысячи слов (128 кБ) без коммутации блоков памяти. Не понятно почему интерпретатор BASIC'а "сказал" 64 тысячи; но он имел ввиду 64 тысячи слов, а не байтов.
Как и в C, если стек становится слишком большим, то он может перезаписать другие данные!
[ >>> Туториал <<< ]