User Tag List

Показано с 1 по 10 из 222

Тема: Атари ассемблер

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    Регистрация
    26.02.2011
    Адрес
    Москва
    Сообщений
    258
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    25
    Поблагодарили
    18 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Atariki, Здравствуйте.

    Значит, до сих пор мы решили только одну задачу.

    Применили наш кастомный Дисплей лист к читанию консоли.
    1. Мы показали, что он работает.
    2. Мы показали, что он НЕ ТРОГАЕТ РАБОТУ АТАРИ, так как там можно и вызывать программы (Которые своего дисплей-листа не имеют и работать с ДОСом и т.д.)

    Мы показали, что программировать ВЕСЕЛО! Работает-же!
    Надо далее.

    Задача - считать содержимое регистра Консоли отличается от задачи - вывести ТО, ЧТО хотим, на нашу статусную строку.

    Когда не можешь запрыгнуть на следующую лестничную площадку, надо идти по ступенькам.

    Не будем трогать то, что уже работает.
    Начнём новую программку, которая будет работать и чтобы это можно было бы проверить!
    Как в первой.

    Вот мы имеем Разные статусные строки в количестве 8. (Они ВСЕ могут быть правильно выведены нашей предыдущей программой!)

    Заглавные буквы будут означать ИНВЕРТИРОВАНИЕ символов (высветление).

    Статусные строки:

    L7 .SBYTE " Consol: /Start/ /Select/ /Option/ "
    L6 .SBYTE " Consol: /START/ /Select/ /Option/ "
    L5 .SBYTE " Consol: /Start/ /SELECT/ /Option/ "
    L4 .SBYTE " Consol: /START/ /SELECT/ /Option/ "
    L3 .SBYTE " Consol: /Start/ /Select/ /OPTION/ "
    L2 .SBYTE " Consol: /START/ /Select/ /OPTION/ "
    L1 .SBYTE " Consol: /Start/ /SELECT/ /OPTION/ "
    L0 .SBYTE " Consol: /START/ /SELECT/ /OPTION/ "

    Других выборов из этого списка у нас нет.
    Я забыл раньше сказать, что в Атари (Это её особенность!) .SBYTE - это команда прорисовать экранный байт. Экран=Screen.


    О работе Ассемблера.

    MAC/65 Двухпроходный!
    В первый проход он запоминает ВСЕ!!! (По Адресам!) метки, поэтому наши метки L* ему ВСЕ известны.

    Правило Little Endian указывает, что там берётся младший байт двухбайтового слова.
    ...

    Это было исследование.
    А вот теперь перейдём к Ассемблированию.

    Так как мы знаем, что Ассемблер УЖЕ (в первый проход прочёл все метки, мы уже можем обращаться с ними как с ДАННЫМИ.)

    Давайте сделаем таблицу сдвига по нашей таблице Статусных строк.

    TXTTAB
    .WORD L7,L6,L5,L4
    .WORD L3,L2,L1,L0

    Что мы видим?
    .WORD - означает двухбайтовое СЛОВО в порядке LSB/MSB

    Значит мы создали АССЕМБЛЕРОМ - он же вычисляет это в первом проходе!!! Таблицу адресов.

    А взять из таблички адреса и подставить их в место где происходит LMS - сканирование (и, конечно, прорисовка) экранной памяти,
    это - не наша забота. Этим ANTIC занимается.
    Мы - меняем Адреса!

    Ну, и давайте...

    Сначала теория.
    Если я делаю ASL - значит я умножаю маленькое число на два.
    Спросите для чего?
    Ответ один .
    Адреса хранятся в ДВУХ ячейках и мы просто должны перескакивать на 2 байта.

    Маленькое число - это то, которое между 0 и 127.

    ПРОШУ ВАС ПРОВЕРЬТЕ!
    На виндосном калькуляторе.

    Над любым МАЛЕНЬКИМ числом сделайте ASL и нажмите равно.
    Вы получите это число, умноженное на два.

    А у нас цифра - всего 7!
    Поэтому без обиняков и смело!

    Вот тут мы и начнём программировать!
    ...
    Я жутко устал...
    Спокоси Носи!
    Последний раз редактировалось ezswift; 23.03.2016 в 21:39.
    MAC и PC - это всего лишь периферия для Атари...
    130XE|XC12|CA2001|XF551|IDEPlus2.0|SIO2SD|SIO2IDE| RAM576XE+Covoх|SIO2PC|MAXFLASH8|MAXFLASH1|The Ultimate Cartridge|

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. ПК8000 - Ассемблер
    от scaraby в разделе ПК8000
    Ответов: 9
    Последнее: 16.12.2018, 11:00
  2. Ассемблер для 48к на ленте
    от newart в разделе Программирование
    Ответов: 37
    Последнее: 20.09.2015, 22:48
  3. Переведите на ассемблер
    от Руслан в разделе Программирование
    Ответов: 2
    Последнее: 06.08.2012, 23:41
  4. Ассемблер Z-80
    от sergey2b в разделе Пресса
    Ответов: 12
    Последнее: 11.07.2011, 23:41

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •