Как стереть переменные TR-DOS, переместив бейсик-область обратно на свое место:
Это сдвинет всю бейсик-область на место, скорректировав системные переменные.Код:LD HL,23755 ; адрес начала области переменных ТR-DOS LD BC,112 ;длина области переменных TR-DOS JP #19E8 ;удаление области, начиная с HL, длиной в BC
Процедуру можно вызывать прямо из бейсика с помощью USR, работа интерпретатора не будет прервана.
Вот еще полезная релоцируемая процедура, может кому-нибудь понадобится.
Переход из 128го бейсика в 48 бейсик с продолжением работы интерпретатора (аналог команды 128 бейсика "spectrum", но только без останова и без блокировки порта #7ffd).
Код:ORG #b000 DI LD HL,4867 ;АДРЕС ВОЗВРАТА ПРИ ОШИБКЕ 48BAS PUSH HL LD (23613),SP LD HL,7030 ;АДРЕС ВОЗВРАТА В 48BAS PUSH HL LD HL,(23621) ;ТЕКУЩАЯ СТРОКА LD (23618),HL ;БУДЕТ ВЫПОЛНЯТЬСЯ LD A,(23623) ;НОМЕР ТЕКУЩЕГО ОПЕРАТОРА INC A ;УСТАНАВЛИВАЕМ НА СЛЕДУЮЩИЙ LD (23620),A ;БУДЕТ ВЫПОЛНЯТЬСЯ LD HL,(23631) LD DE,15 ADD HL,DE LD DE,5566 EX DE,HL LD BC,4 LDIR LD A,(23611) AND %11101111 LD (23611),A EI RET




Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 
