
Сообщение от
Error404
Чем описанное виртуализирующее ядро будет лучше например ZPU ?
Нe знаю. Сейчас все помешаны на стековых машинах.

Сообщение от
Error404
В 2021 изучать новый машкод чтобы потом на нем творить что-то сложное (а иначе зачем?)
Машкода как такового нет. Что в дампе видится, то и значится.

Сообщение от
Error404
ИМХО путь тупиковый в силу слишком высокого образовательного порога и низкого полезного выхлопа у программиста
Где-то читал заметку/байку, что современные инженеры/программисты выпускники не знают что такое байт-код и маш-код.
У меня - никакой таблицы системы команд практически нет. Что в дампе видишь, то и значит:- Видишь «A1» - значит активируется регистр «A1»
- Видишь «AB» - значит скоро в АЛУ поступят операнды регистров «A,B»
- Видишь «3D» - значит регистр #3 участвует в Дизъюнкции - «OR A1,B3»
- Видишь «00» - значит «конец строки» - HLT
Вот так байт за байтом простыми командами «A1 AB 3D» собирается целая команда «OR A1,B3».
Хочется Форт синтаксиса?
Тогда «A1 AB 3D» - это «A1 B3 Disj».
Никаких битовых полей, никакой эзотерики.
Префиксы - BCD-числа от 1 до 99.
Код:
3456 A1 |REG A1
3457 AB |ARG A,B
3458 3D|OR A,B3
3459 65 4D|OR A,[B4][BC6][5]
345B 87 DD|DAD BC8,BC7
345D CF|CMC
345E 87 CE|JC [BC8][7]
3460 65 AB|XCHG A6,B5
3470 43 C2|MOV [BC4][3],C2
3472 18 F8|CALL 0xF818
3474 F8|CALL 0xF800
3475 18 00|CALL 0x0018
3477 00|CALL 0x0000 (HLT)
Коды E0…FF так и работают однобайтовыми «CALL 0xE000…0xFF00» и программно можно наращивать функционал виртуальными инструкциями.
P.S.: Согласен, архитектура - для любителя копаться в дампах.
Но у LMC эзотерики в сухих цифрах больше.
А общее - одно: 00 - HLT