В данном случае да, просто иной раз потом программа дорабатывается и долго ищется глюк - проще сразу универсально делать :)
Да, надо.
Вид для печати
Вот такая маленькая фича на заметку. Привычная конструкция разборок с битом C:А это вариант конструкции при которой (например из-за нехватки регистров) на вершине стека делаются некие вычисления которые в случае успеха применяются, а в случае ошибки нужно извлекать перед выходом:Код:TST (PC)+ ;ОЧИСТКА C
100$: SEC ;УСТАНОВКА C
RETURN ;ВЫХОД
Код:ADD (SP)+,VAR ;ПРИМЕНЕНИЕ РЕЗУЛЬТАТА
TST (PC)+ ;ОЧИСТКА C
100$: COM (SP)+ ;УСТАНОВКА C
RETURN
Там нечего особенно понимать. (РС)+ это 27-я адресация, в общем случае автоинкрементная, но для счётчика команд имеющая особое название непосредственная. При ней проц тестирует (то есть устанавливает флаги N и Z, а V и С всегда сбрасывает) слово непосредственно за командой, увеличивая заданный регистр - в данном случае счётчик команд. Программистская фишка здесь в том, что тестируемое слово является операндом для операции по адресу .=100$-2 (там лежит TST #261, которая всегда сбрасывает С), но операцией по адресу .=100$, которая всегда устанавливает С. Точно так же, кстати, она могла бы устанавливать и V, если бы там было SEV. И точно так же она могла бы устанавливать Z, если бы там было SEZ. И 4-й раз точно так же она могла бы устанавливать N, если бы там было SEN. Но в RT11 принято передавать флаг ошибки в С, а приведённые две строчки - это классика жанра.
Я не понял смысла этого - зачем после очистки C его опять устанавливать?