Ассемблер определяет инструкции по отступам.
Сайт отступы уничтожает.
Уж, поверьте, мой текст был другим...

Код:
1000 ; CONSOL STATUS ROUTINE
1010 ;
1020 ; ATARI EQUATES
1030 SDMCTL = $022F
1040 SDLSTL = $0230
1050 SDLSTH = $0231
1060 CONSOL = $D01F
1070 SETVBV = $E45C
1080 XITVBV = $E45F
1090 ;
1100 ; PROGRAM CONSTANTS
1110 BL1 =   $00
1120 BL7 =   $60
1130 BL8 =   $70
1140 GR0 =   $02
1150 LMS =   $40
1160 JTO =   $01
1170 JVB =   $41
1180 ;
1190 ; Z-PAGE CELLS
1200 Z_OLDL = $C0
1210 ;
1220     .OPT LIST,OBJ
1230 ;
1240 START *= $2000
1250     JMP INIT
1260 ;
1270 DLDATA
1280     .SBYTE "  Consol: /Start/ /Select/ /Option/     "
1290 ;
1300 NEW_DL
1310     .BYTE BL8,BL7
1320     .BYTE GR0+LMS
1330     .WORD DLDATA
1340     .BYTE BL1
1350     .BYTE JTO
1360 TO_OLD .WORD $00
1370 INIT
1380     LDA #$00
1390     STA SDMCTL
1400 ;
1410     LDA SDLSTL
1420     STA Z_OLDL
1430     CLC 
1440     ADC #3
1450     STA TO_OLD
1460 ;
1470     LDA SDLSTH
1480     STA Z_OLDL+1
1490     STA TO_OLD+1
1500 ;
1510     LDA # <NEW_DL
1520     STA SDLSTL
1530     LDY #30
1540     STA (Z_OLDL),Y
1550 ;
1560     LDA # >NEW_DL
1570     STA SDLSTH
1580     LDY #31
1590     STA (Z_OLDL),Y
1600 ;
1610     LDA #$22
1620     STA SDMCTL
1630 ;
1640     RTS
Пора разобрать, что наваяли.

Программа делает следующее:

1. Выключает ANTIC
2. Забирает адрес старого DL из регистра SDLSTL/SDLSTH
3. сохраняет его в двух местах
а) на нулевую страницу, в произвольно заданную ячейку (из второй половины страницы, первая занята...)
б) в нашем NEW_DL в ячейку TO_OLD, пропуская 3 инструкции старого DL (BL8,BL8,BL8 = 24 линии сканирования), для чего увеличиваем адрес старого DL на 3. Это экранное место обрабатывается новым DL.

Идея такова:
Сначала обрабатывается новый DL, затем по команде JTO он продолжается на старом DL+3, а затем, полностью обработав старый DL по команде JVB циклически снова переходит на наш новый DL.

4. Определяем наш новый DL в регистр SDLSTL/SDLSTH, чтобы он заработал при включении ANTIC
5. Заносим адрес нового DL в область старого DL с командой JVB
6. Включаем ANTIC и ... Вуаля!

Об адресации процессора.

Адреса на нулевой странице являются однобайтовыми, остальные - двухбайтовые!

MAC/65 работает с адресами следующим образом:

Если встречается значок Решётка #, - это Непосредственная адресация -> работает непосредственно с числом, которое под решёткой.
(Если это #$03 - работает с тройкой.
Если это # <OURADR - работает с LSB нашего OURADR.
Если это # >OURADR, работает с MSB нашего OURADR.)

Если решётки нет, значит МАС/65 работает с СОДЕРЖИМЫМ по адресу!
LDA OURADR - загрузка содержимого по адресу OURADR. Здесь не может быть ни < ни > так как комп восьмибитовый, а значит процессор может переварить только 1 байт и благодаря Little Endian нотации - это будет Младший(первый встречающийся).
То есть LDA OURADR - загрузка в Аккумулятор СОДЕРЖИМОГО LSB нашего OURADR.

А вот прикольная адресация. Очень часто применяется, но имеет свои ограничения.
Indirect Indexing Addressing -
ПРАВИЛЬНЫЙ ПЕРЕВОД: Косвенная Индексирующая Адресация!

Проще объяснить как она работает.
Заметка:
1. Адрес, указываемый в таких инструкциях может находиться ТОЛЬКО на нулевой странице !!!
2. Будучи Адресом, содержимое адреса на нулевой странице занимает 2 байта.
3. Индексация происходит над адресом содержащимся в адресе на нулевой странице.

Встретив, что нибудь вроде

LDA (Z_ADR),Y

Скобки здесь определяют приоритет.
Поэтому сначала эта тварь вычисляет адрес.
Заметим, что Z_ADR не под решёткой!
Значит, СНАЧАЛА берём содержимое Z_ADR (Оно - суть два байта адреса).
Индексируем (прибавляем содержимое регистра) Y-ком и получаем НОВЫЙ адрес.
С которым инструкция и работает. В нашем случае загружает в Аккумулятор байт.

Ну, остаётся добавить, что загрузка в SDMCTL нуля, выключает DMA (Direct Memory Access - прямой доступ к экранной памяти)
А загрузка в него #$22 - включает режим прямго доступа.

Да, ещё...
Прежде чем складывать в Ассемблере, ОБЯЗАТЕЛЬНО дайте инструкцию CLC, так как флаг С-Carry очень часто используется для переходов на подпрограммы и даже если Вы ничего не складывали и ничего не вычитали, он может иметь ДРУГОЕ состояние. Надо обнулить!

Жду любых Почему!

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

Ну и в догон,
Если пользуетесь Notepad++ для Атарьского программирования, то вот UDL (User Defined Language), для OSS MAC/65 чтобы импортировать в него.

Код:
<NotepadPlus>
    <UserLang name="OSS MAC/65" ext="asm" udlVersion="2.1">
        <Settings>
            <Global caseIgnored="no" allowFoldOfComments="no" foldCompact="no" forcePureLC="0" decimalSeparator="0" />
            <Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="no" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" />
        </Settings>
        <KeywordLists>
            <Keywords name="Comments">00; 01 02 03 04</Keywords>
            <Keywords name="Numbers, prefix1"></Keywords>
            <Keywords name="Numbers, prefix2">#$ # $</Keywords>
            <Keywords name="Numbers, extras1">A B C D E F</Keywords>
            <Keywords name="Numbers, extras2"></Keywords>
            <Keywords name="Numbers, suffix1"></Keywords>
            <Keywords name="Numbers, suffix2"></Keywords>
            <Keywords name="Numbers, range"></Keywords>
            <Keywords name="Operators1">&apos; - ! &quot; # % &amp; ( ) * , / ? @ [ ] ^ + &lt; = &gt;</Keywords>
            <Keywords name="Operators2"></Keywords>
            <Keywords name="Folders in code1, open"></Keywords>
            <Keywords name="Folders in code1, middle"></Keywords>
            <Keywords name="Folders in code1, close"></Keywords>
            <Keywords name="Folders in code2, open"></Keywords>
            <Keywords name="Folders in code2, middle"></Keywords>
            <Keywords name="Folders in code2, close"></Keywords>
            <Keywords name="Folders in comment, open"></Keywords>
            <Keywords name="Folders in comment, middle"></Keywords>
            <Keywords name="Folders in comment, close"></Keywords>
            <Keywords name="Keywords1">*= = .= .BYTE .CBYTE .DBYTE .DS .ELSE .END .ENDIF .ERROR .FLOAT .IF .INCLUDE .LOCAL .OPT .PAGE .SBYTE .SET .TAB .TITLE .WORD .ENDM .MACRO</Keywords>
            <Keywords name="Keywords2">ADC AND ASL BCC BCS BEQ BIT BMI BNE BPL BRK BVC BVS CLC CLD CLI CLV CMP CPX CPY DEC DEX DEY EOR INC INX INY JMP JSR LDA LDX LDY LSR NOP ORA PHA PHP PLA PLP ROL ROR RTI RTS SBC SEC SED SEI STA STX STY TAX TAY TSX TXA TXS TYA</Keywords>
            <Keywords name="Keywords3">.OR .AND .NOT .DEF .REF</Keywords>
            <Keywords name="Keywords4">A X Y</Keywords>
            <Keywords name="Keywords5"></Keywords>
            <Keywords name="Keywords6"></Keywords>
            <Keywords name="Keywords7"></Keywords>
            <Keywords name="Keywords8"></Keywords>
            <Keywords name="Delimiters">00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23</Keywords>
        </KeywordLists>
        <Styles>
            <WordsStyle name="DEFAULT" fgColor="000000" bgColor="FFFFFF" fontName="ProggyCleanTTSZ" fontStyle="0" fontSize="11" nesting="0" />
            <WordsStyle name="COMMENTS" fgColor="008040" bgColor="FFFFFF" fontName="Comic Sans MS" fontStyle="0" fontSize="9" nesting="0" />
            <WordsStyle name="LINE COMMENTS" fgColor="008000" bgColor="EAFFD5" fontName="Comic Sans MS" fontStyle="2" fontSize="8" nesting="0" />
            <WordsStyle name="NUMBERS" fgColor="FF8000" bgColor="FFFFFF" fontName="ProggyCleanTTSZ" fontStyle="1" fontSize="11" nesting="0" />
            <WordsStyle name="KEYWORDS1" fgColor="800000" bgColor="FFFFFF" fontName="ProggyCleanTTSZ" fontStyle="1" fontSize="11" nesting="0" />
            <WordsStyle name="KEYWORDS2" fgColor="0000FF" bgColor="FFFFFF" fontName="ProggyCleanTTSZ" fontStyle="1" fontSize="11" nesting="0" />
            <WordsStyle name="KEYWORDS3" fgColor="008080" bgColor="FFFFFF" fontName="ProggyCleanTTSZ" fontStyle="1" fontSize="11" nesting="0" />
            <WordsStyle name="KEYWORDS4" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
            <WordsStyle name="KEYWORDS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="OPERATORS" fgColor="0080FF" bgColor="FFFFFF" fontName="ProggyCleanTTSZ" fontStyle="1" fontSize="11" nesting="0" />
            <WordsStyle name="FOLDER IN CODE1" fgColor="FFFFFF" bgColor="000000" fontName="Inconsolata" fontStyle="0" nesting="0" />
            <WordsStyle name="FOLDER IN CODE2" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="FOLDER IN COMMENT" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS1" fgColor="FFFFFF" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS2" fgColor="FFFFFF" bgColor="000000" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS3" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS4" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
        </Styles>
    </UserLang>
</NotepadPlus>