СОДЕРЖАНИЕ................................................................................................................................. 3
Тема 1. СИСТЕМЫ СЧИСЛЕНИЯ, ПРИМЕНЯЕМЫЕ В ЭВМ............................................... 6
1.1.Понятие системы счисления................................................................................................. 6
1.2.Переводы между позиционными системами счисления................................................... 6
1.3.Система кодирования символов ASCII............................................................................... 7
1.4. Преобразование строки ASCII-кодов в двоичное и шестнадцатеричное число........... 8
1.5. Применение систем счисления в ЭВМ................................................................................ 8
1.6. Контрольные вопросы и задания........................................................................................ 9
Тема 2. ПРЕДСТАВЛЕНИЕ ДАННЫХ НА ЯЗЫКЕ АССЕМБЛЕРА И ИХ ХРАНЕНИЕ В ПАМЯТИ ПК............................................................................................................................................................ 11
2.1. Биты, байты и слова........................................................................................................... 11
2.2. ASCII код.............................................................................................................................. 11
2.3. Размещение различных типов данных в памяти ПК..................................................... 12
2.4. Отрицательные числа......................................................................................................... 13
2.5. Контрольные вопросы и задания...................................................................................... 13
Тема 3. ЭЛЕМЕНТЫ АРХИТЕКТУРЫ ПЕРСОНАЛЬНОГО КОМПЬЮТЕРА: СЕГМЕНТНАЯ ПАМЯТЬ И РЕГИСТРОВАЯ СТРУКТУРА МИКРОПРОЦЕССОРА..................................................... 15
3.1. Понятие сегмента................................................................................................................ 15
3.2. Способ адресации ячеек сегментированной памяти...................................................... 15
3.4. Программистская модель МП i8086. Назначение регистров......................................... 16
3.5. Контрольные вопросы и задания...................................................................................... 20
Тема 4. СОЗДАНИЕ ПРОГРАММЫ В ЕХЕ-ФОРМАТЕ......................................................... 22
4.1. Программы на языке транслятора MASM....................................................................... 22
4.1.1. Определение сегментов и данных.................................................................................. 22
4.1.2. Структура программы..................................................................................................... 25
4.2. Программы на языке транслятора TASM ......................................................................... 27
4.2.1. Особенности транслятора................................................................................................ 27
4.2.2. Определение сегментов и данных ................................................................................. 27
4.2.3. Директива MODEL........................................................................................................... 29
4.2.4. Директивы упрощенного описания сегментов............................................................ 30
4.2.5. Структура программы..................................................................................................... 32
4.2.6. Директивы STARTUPCODE и EXITCODE................................................................... 33
4.3. Контрольные вопросы и задания...................................................................................... 34
Тема 5. СПОСОБЫ АДРЕСАЦИИ ДАННЫХ В КОМАНДАХ ЯЗЫКА АССЕМБЛЕР 36
5.1. Регистровая адресация....................................................................................................... 36
5.2. Непосредственная адресация............................................................................................. 36
5.3. Прямая адресация............................................................................................................... 37
5.4. Косвенная регистровая....................................................................................................... 37
5.5. Адресация по базе................................................................................................................ 37
5.6. Индексная адресация.......................................................................................................... 37
5.7. Адресация по базе с индексированием............................................................................. 38
5.8. Контрольные задания........................................................................................................ 38
Тема 6. Основные команды языка Ассемблер............................................................................. 42
6.1. Команды пересылки........................................................................................................... 42
6.2. Арифметические операции................................................................................................. 43
6.3. Команды корректировки.................................................................................................... 44
6.4. Команды логических операций......................................................................................... 45
6.5. Команды передачи управления......................................................................................... 46
6.6. Команды организации цикла............................................................................................ 47
6.7. Команды вызова процедур и возврата из них................................................................. 47
6.8. Команды прерываний и возврата из них......................................................................... 48
6.8.1. Функции ввода/вывода DOS........................................................................................... 49
6.8.2. Функции BIOS управления экраном............................................................................ 53
Тема 7. СТЕК................................................................................................................................... 57
7.1.Стек и сегмент стека............................................................................................................ 57
7.2.Стековые команды............................................................................................................... 58
7.3. Доступ к элементам стека................................................................................................... 59
Тема 8. Практическая работа на ПК......................................................................................... 60
Тема 9. СОЗДАНИЕ ЛИНЕЙНЫХ ПРОГРАММ...................................................................... 62
9.1 Создание линейной программы......................................................................................... 62
9.1.1. Составление текста программы..................................................................................... 62
9.1.2 Трансляция......................................................................................................................... 63
9.1.3. Создание исполняемого файла....................................................................................... 64
9.1.4.Отладка программы в TURBO DEBUGGER’е............................................................... 64
9.2. Контрольные вопросы и задания...................................................................................... 64
Тема 10. ОРГАНИЗАЦИЯ ВЕТВЛЕНИЙ................................................................................... 66
10.2 Команда безусловного перехода JMP.............................................................................. 67
10.3 Команды условных переходов.......................................................................................... 68
10.4. Создание разветвленной программы.............................................................................. 69
10.4.1. Составление текста программы................................................................................... 69
10.4.2.Трансляция....................................................................................................................... 70
10.4.3. Создание исполняемого файла..................................................................................... 70
10.5. Контрольные вопросы и задания.................................................................................... 70
Тема 11. ОРГАНИЗАЦИЯ ЦИКЛОВ........................................................................................... 72
11.1. Команды управления циклом.......................................................................................... 72
11.2.Создание циклической программы................................................................................. 72
11.2.1.Составление текста программы.................................................................................... 73
11.2.2.Трансляция....................................................................................................................... 74
11.2.3.Создание исполняемого файла...................................................................................... 74
11.2.4.Отладка программы в TURBO DEBUGGER’е............................................................. 74
11.3. Контрольные вопросы и задания.................................................................................... 74
Тема 12. ЦИКЛИЧЕСКАЯ РАЗВЕТВЛЕННАЯ ПРОГРАММА............................................. 76
12.1.Создание программы......................................................................................................... 76
12.1.1.Составление программы................................................................................................. 76
12.1.2.Трансляция....................................................................................................................... 77
12.1.3.Создание исполняемого файла...................................................................................... 78
12.1.4. Отладка программы в TURBO DEBUGGER’е............................................................ 78
12.2.Контрольные вопросы....................................................................................................... 78
12.3. Контрольные задания....................................................................................................... 79
ТЕМА 13. СВЯЗЬ АССЕМБЛЕРА С ЯЗЫКОМ Pascal............................................................. 82
13.1 Общие положения.............................................................................................................. 82
13.2 Организация связи............................................................................................................. 82
13.3 Передача аргументов (и возврат результата в случае функции)................................. 84
13.4 Директива ARG................................................................................................................... 86
13.5 Использование операндов директивы model.................................................................. 88
13.6 Передача данных остальных типов Pascal..................................................................... 90
13.7 Возврат значения в программу на Pascal........................................................................ 91
13.8 Команды Enter и Leave...................................................................................................... 92
13.9 Итоги.................................................................................................................................... 93
Тема 15. Создание Windows-приложения на ассемблере Каркасное Windows-приложение на языке С/С++............................................................................................................................................................. 94
Листинг 1.1. Каркасное Windows-приложение на языке С/С++.......................................... 94
Листинг 1.2. Ассемблерное представление............................................................................. 96
Тема 16. РЕКОМДАЦИИ НАЧИНАЮЩЕМУ ПРОГРАММИСТУ..................................... 102
Тема 17. КОНТРОЛЬНАЯ РАБОТА.......................................................................................... 103
Список литературы..................................................................................................................... 106
ПРИЛОЖЕНИЕ 1......................................................................................................................... 107
Инструкция по работе с программой Turbo Debugger.......................................................... 107
ПРИЛОЖЕНИЕ 2......................................................................................................................... 113
Практическая работа на ПК..................................................................................................... 113
ПРИЛОЖЕНИЕ 3......................................................................................................................... 116
КЛЮЧИ КОМАНДНОЙ СТРОКИ TASM И TLINK............................................................... 116
Тема 1. СИСТЕМЫ СЧИСЛЕНИЯ, ПРИМЕНЯЕМЫЕ В ЭВМ