
Picaro претерпел следующие изменения: PIC16F84 позволил ввести стек хотя бы на 8 вложений, что уже вполне терпимо для CALL и RET (PUSH - POP пока не ввёл, но необходимость в них чувствуется и сделать нетрудно).
Сразу хотел заменить EEPROM на 64 К статической RAM, чтоб было как в Специалисте - загрузчик в PIC16F84, а система и программы - в ОЗУ, но это потребовало перелопатить адресацию, так что ограничился пока существующими 2 К, оставив переделки на потом.
Программная модель сейчас выглядит так:
Регистры интерпретатора выполняют следующие функции:

Доработанный набор инструкций следующий:



Инструкция MVIH byte (1001xxxx) на мой взгляд, бестолкова, и на её месте можно добавить 8 нужных команд. Кроме PUSH и POP, хотелось бы CMC, XCHG, XTHL, PCHL. Соображения эти возникли в процессе написания разных подпрограммок, которыми я 'прощупал' возможности Picaro. Но поскольку в кодах можно только 'ностальгировать', а делать что-то серьезное трудновато, я сделал простенький ассемблер, расточенный под особенности общения с Picaro.

Ассемблер по возможностям близок к Assm_MX от Специалиста_MX, но чуть проще. Нет арифметики в операндах. Поддерживает псевдооператоры ORG, END, DB, DW, DS, EQ, компилирует в HEX-формат, удобный для загрузки в Picaro методом COPY-PASTE. Метки - латинские символы и цифры ('@' и '_' - не любит).
Ежли кому интересно попробовать, Ассемблер можно взять тут:
http://sgu-wap.narod.ru/Tennis/PICAssm.rar