User Tag List

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

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

Комбинированный просмотр

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

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

    По умолчанию

    То, что программа выполняется чисто, я проверил в мониторе.
    Вот старый DLIST

    > dlist
    9C20: 3x 8 BLANK
    9C23: LMS 9C40 MODE 2
    9C26: 23x MODE 2
    9C3D: JVB 9C20

    Вот новый DLIST
    > dlist
    202B: 8 BLANK
    202C: 7 BLANK
    202D: LMS 2003 MODE 2
    2030: 1 BLANK
    2031: JMP 9C23
    9C23: LMS 9C40 MODE 2
    9C26: 23x MODE 2
    9C3D: JVB 202B

    Как видно, всё как мы и хотели.

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

    2Atariki.
    Отвечая на Ваш вопрос, скажу следующее.

    Да, в Атари существуют поименованные ячейки памяти.
    Каждая такая ячейка имеет уникальное имя и связанную с ней функцию.

    Из таких мы в программке использовали только две.

    SDMCTL - Shadowed Direct Memory Control Теневой регистр управления Прямым Доступом к памяти.
    Если в него внести число #$00 - прямой доступ к памяти выключается.
    Если внести число #$22 - прямой доступ к памяти включается.

    SDLSTL/SDLSTH - Shadowed Display LiST Это системный указатель на начало Дисплейного Листа.

    По поводу Ассемблирования скажу честно. Пока не напишешь тыщу тонн кода - не научишься.

    Раньше программировали в Машинных Кодах.
    Вот наша программа в машинных кодах:
    > m 2000 (Смотрю в мониторе начиная с адреса загрузки программы, то есть $2000)

    2000: 4C 34 20 00 00 23 6F 6E 73 6F 6C 1A 00 0F 33 74 L4 ..#onsol...3t
    2010: 61 72 74 0F 00 0F 33 65 6C 65 63 74 0F 00 0F 2F art...3elect.../
    2020: 70 74 69 6F 6E 0F 00 00 00 00 00 70 60 42 03 20 ption......p.B.
    2030: 00 01 23 9C A9 00 8D 2F 02 AD 30 02 85 C0 18 69 ..#..../..0....i
    2040: 03 8D 32 20 AD 31 02 85 C1 8D 33 20 A9 2B 8D 30 ..2 .1....3 .+.0
    2050: 02 A0 1E 91 C0 A9 20 8D 31 02 A0 1F 91 C0 A9 22 ...... .1......"
    2060: 8D 2F 02 60 00 00 00 00 00 00 00 00 00 00 00 00 ./..............

    Ничего утешительного, не правда ли?

    Тем не менее, идея ассемблирования очень проста - заменить цифры Машинного Кода запоминающимися знако-сочетаниями.

    Проделаем эту процедуру.

    $4C $34 $20 - Это и есть наша первая команда JMP INIT

    Здесь $4C - JMP, а адрес $2034 (в памяти лежит наоборот, то есть младший байт первый.) это вычесленный ассемблером адрес INIT.
    Проверим так ли это?
    По этому адресу лежат байты $A9 $00, а это и есть LDA #$00, как в нашей программе.

    Да, кстати, впервые вижу книжку по Атари на Русском. Здорово.
    MAC и PC - это всего лишь периферия для Атари...
    130XE|XC12|CA2001|XF551|IDEPlus2.0|SIO2SD|SIO2IDE| RAM576XE+Covoх|SIO2PC|MAXFLASH8|MAXFLASH1|The Ultimate Cartridge|

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

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

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

Эту тему просматривают: 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

Ваши права

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