Обо мне
Привет! Меня зовут Лис и это мой блог. Здесь я могу ныть и страдать, писать про код и обо всем.
Февраль 2025
ПнВтСрЧтПтСбВс
12
3456789
10111213141516
17181920212223
2425262728
Теги
Блог страдающего Лиса
Lorem ipsum hello dolor sit world amet

06 фев 2025 Чт Виртуальная машина 1999 года создания

Очень много раз говорил о том, что когда в конце 1999 года я создал программу "Нортон Коммандер", как я его называл, и заложил туда самое главное: набор команд. С того времени я не написал ни одной программы под эту ВМ-ку, а хотя рассчитывал, что буду писать. Итак, почему бы не написать наконец-то, сейчас, через 25 лет?
Набор инструкции здесь небольшой.
0 NOP
1 CLS
2 PRINT CHR([символ1]); CHR([символ2]);
3 GOTO [метка]
4 LOCATE Y,X
5 [переменная-a] = [переменная-b] + [переменная-c]
6 [переменная-a] = [переменная-b] - [переменная-c]
7 [переменная-a] = [переменная-b] * [переменная-c]
8 [переменная-a] = [переменная-b] / [переменная-c]
9 IF [переменная-a] = [переменная-b] THEN [метка]
10 IF [переменная-a] < [переменная-b] THEN [метка]
11 IF [переменная-a] > [переменная-b] THEN [метка]
12 GOTO [метка] -- да, дубликат, я это пропустил
13 LINE ([переменная-x1],[переменная-y1])-([переменная-x2],[переменная-y2]),[цвет]
14 BEEP
15 PRINT CHR([переменная-a]); CHR([переменная-b]);
16 PRINT [переменная]
Вот такой вот несуразный набор инструкции, который я тогда закладывал. Смогу ли я хотя бы что-то сделать с его помощью? Интересный вопрос, очень интересный. И еще, программа ограничена 512 строками, если что. Каждая строка содержит по 4 столбца, так что приходилось выкручиваться, занимая у следующего столбца его аргументы.
Итак, я воссоздам этот Norton Commander исключительно только ради написания и запуска программ под эту ВМ-ку. И сделаю это лучше, чем тогда, потому что у меня сейчас есть не только листок с ручкой, а свой личный компьютер.
Делать эмулятор я буду вот на этой странице.
Теги: VM
<< Ранние записи | Поздние записи >>