В процесс игр - обнуления флагов ячеек и выставления признака - Код (с автоопределением макровызовов) наткнулся на то, что обнуление флагов на макровызове осколками цепляет предыдущий макровызов, причём цепляет фатально - сам макровызов не обнуляется, а вот с его ячеек сбрасывается флаг, что они из макровызова. Разбираясь, наткнулся на (свой!) непонятный код. Такое впечатление, что была какая-то ошибка в определении макросов (а может были мыли про вложенные макросы - что, как мне сейчас кажется - глупость) - и вот она рванула. Закомментил, оставил комментарии, пофиксил - играюсь дальше...
- - - Добавлено - - -
Наткнулся так же на ошибку DisAsm и одновременно особенность дизассемблируемого файла. Выглядит так
Код:
5599 036272 M36272:
U 5600 036272 016765 002540 000006 MOV M36276, 6(R5) ; Ошибка! Должно быть K41036
5602 036300 001402 BEQ M36306
6294 040632 M40632:
6295 040632 104405 TRAP 5
6296 040634 RETURN
; 40636: ; Этот адрес уже за пределами файла
То есть, я предполагаю, что в исходнике было что-то типа
Код:
6294 040632 M40632:
6295 040632 104405 TRAP 5
6296 040634 RETURN
; 40636: ; Этот адрес уже за пределами файла
.BLKB 200
.... 041036 K41036:
...
но особенность LDA формата в том, что .BLKB и .BLKW в выходной файлы не попадос 
Я уже рисовал код для правильной работы с такими ОТСУТСТВУЮЩИМИ ячейками в LDA, но, видимо, не всё корректно в датском королевсте
Будем смотреть и фиксить 
Интересно, как с таким справляется всеми любимый IDA (да ещё что бы и на выходе был файл, который проходит компиляцию стандартным MACRO-11 !)