[an error occurred while processing this directive]
; Библиотека ошибок системы ; данный файл блокирует ошибки системы ; и заменяет их текстовыми сообщениями ; Дата написания 16.08.94; chn fheader.asm chn fwords.asm org 0-¤4e ; Смещение и длина библиотеки Start dw 0-Start dw EndLib-BegLib ; Входы в словарь dw 0 dw 0 dw 0 dw 0 dw 0 dw Errlib dw 0 dw 0 dw 0 dw 0 dw 0 dw 0 dw 0 dw 0 dw 0 dw 0 dw 0 dw 0 dw 0 dw 0 dw 0 dw 0 dw 0 dw 0 dw 0 dw 0 dw 0 dw 0 dw 0 dw 0 dw 0 ; Объектные ссылки dw l000 dw l001+1 dw l002+1 dw l003+1 dw l004 dw 0 ; Начало библиотеки BegLib dfb ¤0 Этот байт необходим просто!!! ; Начальная инициализация Errlib dfb ¤86 asc "errliB" dw 0 errlib jsr lit l000 dw myerr l001 jsr nexterr jsr makemyerr jsr lit l004 dw errmessages jsr four jmp store ; Адрес следующего обработчика ошибки nexterr jsr Var dw 0 ; Обработка на FORTH myerr l002 jsr myerra jsr zbran dw notfounderr-*-2 jsr lit dw ¤87 jsr out jsr outs jsr isbuf jsr at jsr zbran dw tttt-*-2 jsr space jsr offsetbuf jsr at jsr dot tttt jsr cr notfounderr l003 jsr nexterr jsr at jmp exec ; Моя обработка ошибок с текстовым сопровождением myerra jsr Pop sta Vrem lda ¤4 sta Vrem+2 lda ¤5 sta Vrem+3 b002 ldy #¤0 lda (Vrem+2),y Это наша ошибка? cmp #¤ff beq enderrlist cmp Vrem bne nexterrlst ; Ура нашли нашу ошибку!!! inc Vrem+2 bne b000 inc Vrem+3 b000 lda #TRUE tay jsr Push Признак того, что ошибку мы опознали lda Vrem+2 ldy Vrem+3 jsr Push Выдадим на стек адрес строки для вывода jmp PushNext Признак успешного завершения поиска nexterrlst ldy #¤1 lda (Vrem+2),y clc adc #¤2 adc Vrem+2 sta Vrem+2 bcc b002 inc Vrem+3 bne b002 enderrlist inx inx lda #FALSE tay jmp PushNext Мы не нашли нашу ошибку!!! ; 11111111111111112222222 ; 123456789abcdef0123456789abcdef0123456 errmessages dfb ¤0,¤f asc "Деление на ноль" dfb ¤1,¤22 asc "Нехватка памяти или Неверный адрес" dfb ¤2,¤26 asc "Некорр. ввод или Синтаксическая ошибка" dfb ¤3,¤12 asc "Непарные операторы" dfb ¤4,¤14 asc "Не восстановлен стек" dfb ¤5,¤15 asc "Не при компилировании" dfb ¤6,¤15 asc "Только при компиляции" dfb ¤7,¤10 asc "Нет такого слова" dfb ¤8,¤13 asc "Нельзя забыть слово" dfb ¤9,¤f asc "Нельзя пустой :" dfb ¤a,¤15 asc "Идентификатор неверен" dfb ¤b,¤13 asc "Оператор недоступен" dfb ¤10,¤18 asc "Ошибка заголовка сектора" dfb ¤11,¤18 asc "Ошибка при чтении данных" dfb ¤12,¤10 asc "Нет такого файла" dfb ¤13,¤18 asc "Фатальная ошибка системы" dfb ¤14,¤16 asc "Нет активных устройств" dfb ¤15,¤10 asc "Нет такого файла" dfb ¤16,¤11 asc "Некорректный файл" dfb ¤17,¤f asc "Ошибка загрузки" dfb ¤18,¤17 asc "Нет места на устройстве" dfb ¤ff EndLib[an error occurred while processing this directive]