User Tag List

Показано с 1 по 7 из 7

Тема: Напомните про блокировку L BREAK

  1. #1

    Регистрация
    02.02.2005
    Адрес
    г. Екатеринбург
    Сообщений
    1,546
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    155
    Поблагодарили
    106 сообщений
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)

    Question Напомните про блокировку L BREAK

    0
    Последний раз редактировалось JeRrS; 06.01.2013 в 18:20.
    Группа в ВК, посвященная кассетным версиям игр для спектрума
    В коллекции:Plazma-128K (YM+TR-DOS), Кворум 128+, Эксперт-006, Квант V3.а, Квант (Didaktik), Компаньон-2 (V2.2), Radon Plus, Урал 8-64К, Byte, Хоббит, Байт, Compact-256, Profi-128K (Kramis V.02), Himac 48K

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,198
    Спасибо Благодарностей отдано 
    40
    Спасибо Благодарностей получено 
    128
    Поблагодарили
    103 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если там и упоминалось, что-нибудь подобное, то остановка по-break не блокировалась, а изменялся адрес ПП обработки ошибок. Т.е. вместо вывода сообщения об ошибке и остановки бейсик программы, производился переход на определенную строку в бейсике (или выполнялась ассемблерная ПП, не вызывающая остановку выполнения бейсика).
    По-моему изменение данной переменной (адрес ПП обработки ошибок) на 2 от того, что там находится первоначально (вверх или вниз, уже не помню) давало эффект "блокировки" нажатия break (но при использовании в программе go sub ..\return он не работал).
    Когда есть, но не знаешь где - это все равно, что нету.

  4. #3

    Регистрация
    18.11.2009
    Адрес
    пгт.Малиновка
    Сообщений
    1,355
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    13 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    пока 23613,0 вызовет ресет при нажатии бреак, или любой ошибке бейсика. но заметил из-за этого иногда не катят проги в коде.

  5. #4

    Регистрация
    22.09.2006
    Адрес
    Ижевск
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    23759,0
    вроде как сжимал 'нижнее системное окно' до нуля строк.

    23739,111
    вроде перенаправлял вывод системных сообщений на принтер.
    но корректно работало не на всех прошивках..
    Хороший.. Плохой.. Главное - у кого ружьё !!

  6. #5

    Регистрация
    22.08.2010
    Адрес
    г. Антрацит, Украина
    Сообщений
    1,685
    Спасибо Благодарностей отдано 
    295
    Спасибо Благодарностей получено 
    330
    Поблагодарили
    168 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Подскажите процедурку для защиты проги от банального BREAK.
    (в ассемблере)
    Моё железо

    Скрытый текст


    ZX_Evolution rev.b + NEO_GS + TSFM
    Ленинград-128/256kb + AY + TR_Dos
    Delta_micro /repair status/
    Москва_48кb /repair status/
    [свернуть]

  7. #6

    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,928
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    124
    Поблагодарили
    44 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от JeRrS Посмотреть сообщение
    блокирующий вызов L BREAK cont repeats.
    Так L BREAK into program или D BREAK cont repeats?
    Теория и практика про обработку ошибок в Basic (написано толково):
    http://vtrdos.ru/book/ZXREVU92.ZIP, страница 263.
    Если уменьшить на 2 слово, на которое указывает системная переменная #5C3D, то при возникновении любой ошибки повторно выполнится тот опреатор, который ее вызвал. Если это ошибка L, то получится как бы блокировка BREAK'а. Если нет, то последствия могут быть любыми (зависон скорее всего). Алсо вероятно есть операторы, которые возвращают штатные цифры #1303 в слово, на которое указывает #5C3D (я бы побоялся использовать CLEAR и RUN при такой "защите").

  8. #7

    Регистрация
    03.03.2008
    Адрес
    Петербург
    Сообщений
    279
    Спасибо Благодарностей отдано 
    69
    Спасибо Благодарностей получено 
    22
    Поблагодарили
    16 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В книге "Системные программы для ZX-Spectrum (Питер'93)"
    http://vtrdos.ru/book/SYSZX.ZIP
    на странице 162 описаны две процедуры из "SuperCode" - обработка ошибок бейсик-программы и обработка прерывания по BREAK.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Не работает pause/break в unreal
    от Tonich в разделе Эмуляторы
    Ответов: 4
    Последнее: 01.01.2011, 00:58
  2. Ответов: 2
    Последнее: 21.02.2010, 15:12
  3. Напомните что такое .ay ?
    от dreamer в разделе Музыка
    Ответов: 8
    Последнее: 25.07.2008, 17:31
  4. Напомните игрушку...
    от SolarWind в разделе Игры
    Ответов: 16
    Последнее: 23.04.2005, 15:25

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •