Важная информация

User Tag List

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

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

  1. #1
    Veteran Аватар для JeRrS
    Регистрация
    02.02.2005
    Адрес
    г. Екатеринбург
    Сообщений
    1,301
    Спасибо Благодарностей отдано 
    58
    Спасибо Благодарностей получено 
    106
    Поблагодарили
    74 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

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

    0
    Последний раз редактировалось JeRrS; 06.01.2013 в 18:20.
    Группа в ВК, посвященная кассетным версиям игр для спектрума
    В коллекции:GRM-128 (YM+TR-DOS), Кворум 128+, Дельта 128, Эксперт-006, Рифей-01, Квант V3.а, Квант (Didaktik), Спектр БК-001, Sintez-M (Intercompex), Компаньон-2 (V2.2)

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

  3. #2
    Guru Аватар для null_device
    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,094
    Спасибо Благодарностей отдано 
    20
    Спасибо Благодарностей получено 
    83
    Поблагодарили
    67 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

    По умолчанию

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

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

    По умолчанию

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

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

  6. #5
    Veteran Аватар для Enigmatic
    Регистрация
    22.08.2010
    Адрес
    г. Антрацит, Украина
    Сообщений
    1,661
    Спасибо Благодарностей отдано 
    270
    Спасибо Благодарностей получено 
    304
    Поблагодарили
    152 сообщений
    Mentioned
    3 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
    Super Moderator Аватар для Alex Rider
    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,908
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    89
    Поблагодарили
    31 сообщений
    Mentioned
    4 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
    Activist Аватар для AndTorp
    Регистрация
    03.03.2008
    Адрес
    Петербург
    Сообщений
    271
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    20
    Поблагодарили
    14 сообщений
    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

Ваши права

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