Code: МИНИСТЕРСТВО ВЫСШЕГО И СРЕДНЕГО СПЕЦИАЛЬНОГО ОБРАЗОВАНИЯ РСФСР Дальневосточный государственный университет И.И.Бочаров К.И.Фахрутдинов Программирование на языке ассемблера 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", эти программы подходят только для него или его аналога. Если Вы действительно хотите научиться программировать на языке ассемблера, внимательно читайте это пособие и опробуйте программы на машине. Все непонятные вопросы немедленно выясняй- те, иначе Вы попросту запутаетесь !
|