Обо мне
Привет! Меня зовут Лис и это мой блог. Здесь я могу ныть и страдать, писать про код и обо всем.
Апрель 2025
ПнВтСрЧтПтСбВс
123456
78910111213
14151617181920
21222324252627
282930
Теги
Блог страдающего Лиса
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
<< Ранние записи | Поздние записи >>