В процесс игр - обнуления флагов ячеек и выставления признака - Код (с автоопределением макровызовов) наткнулся на то, что обнуление флагов на макровызове осколками цепляет предыдущий макровызов, причём цепляет фатально - сам макровызов не обнуляется, а вот с его ячеек сбрасывается флаг, что они из макровызова. Разбираясь, наткнулся на (свой!) непонятный код. Такое впечатление, что была какая-то ошибка в определении макросов (а может были мыли про вложенные макросы - что, как мне сейчас кажется - глупость) - и вот она рванула. Закомментил, оставил комментарии, пофиксил - играюсь дальше...

- - - Добавлено - - -

Наткнулся так же на ошибку 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 !)