[MSX] Программирование на языке ассемблера Z80 для MSX-2

MSX-совместимые компьютеры

Moderator: Shaos

dhau
Maniac
Posts: 233
Joined: 12 Oct 2004 13:49

[MSX] Программирование на языке ассемблера Z80 для MSX-2

Post by dhau »

Я выложил документацию по программированию на языке ассемблера Z80 для MSX-2. Читать лучше всего в эмуляторе в режиме русской ямахи в текстовом режиме TOR. Вот затравка для возбуждения аппетита:

Code: Select all

         МИНИСТЕРСТВО ВЫСШЕГО И СРЕДНЕГО СПЕЦИАЛЬНОГО ОБРАЗОВАНИЯ
                              РСФСР
               Дальневосточный государственный университет
                 И.И.Бочаров
                 К.И.Фахрутдинов
               Программирование на языке ассемблера Z80
                       Владивосток, 1990
                          ОГЛАВЛЕНИЕ
ГЛАВА 1. АРХИТЕКТУРА МИКРОКОМПЬЮТЕРА MSX-2  ..............
    ¹ 1. Общие сведения об архитектуре MSX-2  ............
    ¹ 2. Микропроцессор Z-80  ............................
       п.1. Основные блоки  ..............................
       п.2. Состав, обозначение и назначение регистров  ..
       п.3. Регистр признаков  ...........................
       п.4. Система команд, формат команд ................
       п.5. Способы адресации  ...........................
       п.6. Прерывания  ..................................
    ¹ 3. Порты  ..........................................
    ¹ 4. Организация памяти  .............................
       п.1. Карта памяти  ................................
       п.2. Подпрограммы ПЗУ .............................
       п.3. Хранение программ на языке MSX-BASIC  ........
       п.4. Хранение данных  .............................
       п.5. Рабочая область и ловушки  ...................
       п.6. Сетевая память  ..............................
    ¹ 5. Видеопроцессор  .................................
    ¹ 6. Видеопамять  ....................................
    ¹ 7. Формат дисковой памяти ..........................
    ¹ 8. Звукогенератор ..................................
    ¹ 9. Клавиатура  .....................................

ГЛАВА 2. РАЗРАБОТКА И ВЫПОЛНЕНИЕ ПРОГРАММЫ ...............
    ¹ 1. Редактирование текста программы  ................
    ¹ 2. Ассемблирование  ................................
    ¹ 3. Редактирование связей и сборка ..................
    ¹ 4. Выполнение программы  ...........................
    ¹ 5. Организация связей с интерпретатором языка
         MSX-BASIC  ......................................
    ¹ 6. Организация связей с транслятором с языка C  ....

ГЛАВА 3. ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ АССЕМБЛЕРА Z-80  ......
    ¹ 1.  Директивы ассемблера  ..........................
    ¹ 2.  Системы счисления  .............................
    ¹ 3.  Выделение памяти и запись значений  ............
    ¹ 4.  Команды загрузки и обмена  .....................
    ¹ 5.  Управление печатью листинга  ...................
    ¹ 6.  Арифметические команды  ........................
    ¹ 7.  Логические команды  ............................
    ¹ 8.  Команды перехода и условного перехода  .........
    ¹ 9.  Команды сдвига  ................................
    ¹ 10. Пересылки блока данных  ........................
    ¹ 11. Команды поиска  ................................
    ¹ 12. Подпрограммы и прерывания  .....................
    ¹ 13. Использование рабочей области системы MSX, ловушки ...
    ¹ 14. Подпрограммы BIOS  .............................
    ¹ 15. Подпрограммы интерпретатора языка MSX-BASIC  ...
    ¹ 16. Подпрограммы BDOS ..................................
    ¹ 17. Сетевые функции  ...............................
    ¹ 18. Команды работы с портами ввода/вывода  .........
    ¹ 19. Работа с видеопамятью  .........................
    ¹ 20. Программирование шумов и музыки  ...............
    ¹ 21. Управление памятью (слоты )  ...................
    ¹ 22. Работа с файлами  ..............................
    ¹ 23. Генерация текста на языке ассемблера  ..........
    ¹ 24. Трансляция сегментов ...........................
    ¹ 25. Макрокоманды  ..................................
    ¹ 26. Ошибки программирования и компьютерные вирусы ..

ЗАКЛЮЧЕНИЕ  ..............................................

ЛИТЕРАТУРА  ..............................................

ПРИЛОЖЕНИЕ 1. Рабочая область системы MSX  ...............
ПРИЛОЖЕНИЕ 2. Порты ввода/вывода  ........................
ПРИЛОЖЕНИЕ 3. Система команд микропроцессора Z-80 ........
ПРИЛОЖЕНИЕ 4. Подпрограммы MSX-BASIC BIOS  ...............
ПРИЛОЖЕНИЕ 5. Входные точки MSX-BDOS .....................
ПРИЛОЖЕНИЕ 6. Листинг программы "ОКЕАН"  .................
ПРИЛОЖЕНИЕ 7. Листинг программы управления спрайтом  .....
ПРИЛОЖЕНИЕ 8. Входные точки интерпретатора языка MSX-BASIC
ПРИЛОЖЕНИЕ 9. Сетевые функции MSX-DOS BIOS  ..............
ПРИЛОЖЕНИЕ 10. Пример организации связей с языком MSX-BASIC.
               Универсальное меню ............................
                          ВВЕДЕНИЕ
     Для чего нужен ассемблер ? Не все, что хочется  можно  вы-
полнить на языке высокого уровня (например: BASIC, PASCAL),  но
почти всегда можно сделать на языке ассемблера. Но в тоже время
писать все на ассемблере очень нудно, хлопотно и трудно. Поэто-
му хорошо получается вариант, когда большая часть программы на-
писана на языке высокого уровня, а  некоторые  подпрограммы  на
языке ассемблера. Кроме этого,  программы  на  языках  высокого
уровня обычно выполняются медленней, чем  написанные  на  языке
ассемблера. Поэтому, если Вам нужна скорость  выполнения  прог-
раммы, то лучше написать подпрограмму на языке ассемблера.  Вот
для чего необходим язык ассемблера. 
     Данная методическая разработка предназначена для  введения
в язык ассемблера микропроцессора Zilog-80 (Z-80), а также  как
краткий справочный материал по программированию на языке ассем-
блера данного процессора. 
     Для уточнения семантики операций  будут  даваться  краткие
программы-примеры,   они    отлажены    на    машине    "YAMAHA
yis805/128R2", и подходят для всех аналогичных машин. 
     В примерах будут использоваться подпрограммы BIOS,  описа-
ние которых Вы можете прочитать в приложении-справочнике. 
     При приведении примеров работающих с видеопроцессором  бу-
дут подробно объясняться те или иные действия. Обратите  внима-
ние, что  на  компьютерах  "YAMAHA"  установлен  видеопроцессор
"TMS-9938A", эти программы подходят только  для  него  или  его
аналога. 
     Если Вы действительно хотите научиться программировать  на
языке ассемблера, внимательно читайте это пособие  и  опробуйте
программы на машине. Все непонятные вопросы немедленно выясняй-
те, иначе Вы попросту запутаетесь !
Кто нибудь знает И.И.Бочарова или К.И.Фахрутдинова? Фахрутдинов появился в эхе RU.MSX года четыре назад и дал разрешение на свободное распространение и использование этой документации. Но сразу после этого пропал
doggger
Junior
Posts: 8
Joined: 09 Feb 2005 08:52

Post by doggger »

http://tht.net/~aoboroc/msx/msx-asmbook-rus.zip
Однако линк помер...
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

doggger wrote:http://tht.net/~aoboroc/msx/msx-asmbook-rus.zip
Однако линк помер...
Можно на этот форум залить
Я тут за главного - если что шлите мыло на me собака shaos точка net
doggger
Junior
Posts: 8
Joined: 09 Feb 2005 08:52

Post by doggger »

Ожидаю с нетерпением ;)
doggger
Junior
Posts: 8
Joined: 09 Feb 2005 08:52

Post by doggger »

2 Shaos
Если я правильно поня , у вас есть САБЖ ? Можете его сюды закинуть ?
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

doggger wrote:2 Shaos
Если я правильно поня , у вас есть САБЖ ? Можете его сюды закинуть ?
Как только господин dhau даст работающую ссылку (или хотя бы файл по мылу скинет) - с радостью закину!
Я тут за главного - если что шлите мыло на me собака shaos точка net
dhau
Maniac
Posts: 233
Joined: 12 Oct 2004 13:49

Post by dhau »

Качайте, господа. Вышеприведённая ссылка снова работает и должна работать некоторое время.
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

dhau wrote:Качайте, господа. Вышеприведённая ссылка снова работает и должна работать некоторое время.
Продублировано тут
Я тут за главного - если что шлите мыло на me собака shaos точка net
doggger
Junior
Posts: 8
Joined: 09 Feb 2005 08:52

Post by doggger »

Спасибо всем!!!
doggger
Junior
Posts: 8
Joined: 09 Feb 2005 08:52

Post by doggger »

Возник странный вопрос - Чем лучше смотреть/переконвертить КОИ8 под виндузами/досом ??? :(
dhau
Maniac
Posts: 233
Joined: 12 Oct 2004 13:49

Post by dhau »

Это не простой KOI8-R. Там есть двубайтовые комбинации, преобразуемые в символы псевдографики. Довольно дико.

Вы можете с определённым успехом воспользоваться перекодировщиком RC: http://tht.net/~aoboroc/files/rc13.zip

Перекодирует почти всё, но кое что - неправильно. Пользоваться примерно так:

Code: Select all

RC.EXE /msx ASS000.DOC ASS000.TXT
Результат будет в дос-кодировке, её можно читать например из Far Manager. Если есть сомнения в качестве перекодировки, лучше перепроверить на эмуляторе под TOR с прошивками Ямахи.

OFFTOPIC: почитайте README.TXT - забавный образчик Runglish-а образца середины 90-х. "По английски писать не умею, но люблю!"
doggger
Junior
Posts: 8
Joined: 09 Feb 2005 08:52

Post by doggger »

Замечательно! То что надо! Теперь не придётся вручную востанавливать псевдографику ;)