Скачать 160.4 Kb.
|
Правительство Российской Федерации Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "Высшая школа экономики" Московский институт электроники и математики Национального исследовательского университета "Высшая школа экономики" Факультет прикладной математики и кибернетики Программа дисциплины Языки Ассемблера для специальности 090102 «Компьютерная безопасность» подготовки специалиста Автор программы: Лавренов С.М., к.т.н., доцент Одобрена на заседании кафедры Кибернетика «___»____________ 20 г Зав. кафедрой Афанасьев В.Н. Рекомендована секцией УМС «___»____________ 20 г Председатель Утверждена УС факультета «___»_____________20 г. Ученый секретарь Москва – 2012 г. 1. Цели и задачи дисциплины. Дисциплина "Языки Ассемблера" имеет целью обучить студентов программированию на языке Ассемблера. Задачи дисциплины — дать основы:
2. Требования к уровню освоения содержания дисциплины. В результате изучения дисциплины студенты должны: иметь представление
знать:
уметь:
иметь навыки:
3. Объем дисциплины и виды учебной работы (часы).
4. Содержание дисциплины. 4.1. Разделы дисциплины и виды занятий
4.2. Содержание разделов дисциплины Раздел 1. Кодирование информации (4 часа) Структура ячейки памяти: биты, байты, слова. Системы счисления: двоичная, 16-ричная. Целые числа: знаковые и беззнаковые. Диапазоны целых. Сложение и вычитание целых. Примеры программ на языке Си для изучения эффекта переполнения. Кодирование символов. Код ASCII. Расширения кода ASCII: кодировка IBM, альтернативная кодировка ГОСТа, UNICODE. Раздел 2. Основы архитектуры семейства 80x86 (6 часов) Общие сведения о семействе процессоров 80x86. Общая шина. Память: ОЗУ и ПЗУ. Кэш-память. Адресное пространство. Сегмент и смещение, параграф. Нормализованный адрес. Распределение памяти персональной ЭВМ: обычная память, видеобуфер, ROM BIOS, дополнительная (expanded) и расширенная (extended) память, область верхней памяти (UMA – upper memory area). Команды отладчика debug для просмотра ячеек памяти. Сегментные регистры. Структура центрального процессора: исполнительный блок и шинный интерфейс. Конвейеризация. Очередь команд. Регистры центрального процессора: HL-регистры, PI-регистры, счетчик команд, регистр флагов. Назначение битов регистра флагов. Работа с отладчиком debug: запуск отладчика, пример сеанса работы с отладчиком, команды отладчика, сгруппированные по функциональному признаку. Раздел 3. Команды ЦП: пересылки, арифметические, перехода. Кодирование команд (10 часов) Методы адресации: регистровый и непосредственный. Структура описания команд. Команды пересылки. Арифметические команды: сложение, вычитание. Длинные целые. Операнды различной длины. Арифметические команды: умножение, деление. Десятичная арифметика. Условные переходы. Команды безусловных переходов. Индексная адресация. Команды организации циклов. Косвенная адресация. Команды косвенного перехода. Кодирование команд: однооперандные команды, непосредственный операнд, двухоперандные команды. Префикс замены сегмента. Команды загрузки исполнительного адреса. Раздел 4. Стек, подпрограммы, программные прерывания. (8 часов) Стек. Команды работы со стеком. Использование стека для организации вложенных циклов. Стековый кадр. Подпрограммы. Передача параметров: через стек и через регистры. Возвращение результата через флаг CF. Команды изменения флага CF. Вложенные подпрограммы. Использование Turbo Debugger для отладки программ. Прерывания: их классификация. Команды запрета и разрешения внешних прерываний. Программные прерывания. Векторы прерываний. Команды прерываний. Пример программы обработки прерывания: определение размера доступной памяти. Однобайтная команда INT и ее применение при трассировке программ. Структура программного обеспечения IBM PC. Таблица векторов прерываний. Прерывания BIOS (примеры). Прерывания DOS (примеры). Трассировка подпрограмм и прерываний в отладчиках. Прерывание INTO. Операции с сегментными регистрами. Организация прерывания посредством дальнего косвенного вызова. Реализация прерываний в Си. Раздел 5. Средства языков Ассемблера (6 часов) Язык Ассемблера. Определение данных. Пример программы на языке Ассемблера. Этапы создания программы: ассемблирование, компоновка, выполнение. Листинг. Сообщения TASM. Различия в диагностике ошибок TASM и MASM. Карта памяти. Подпрограммы. Макросы. Вложенные макросы. Условное ассемблирование. Локальные метки. Блоки повторений. Включаемые файлы. Использование кода завершения в командных файлах. Директивы определения идентификаторов. Командный файл для ассемблирования, компоновки и отладки программ, содержащихся в одном файле. Раздел 6. Команды ЦП: битовые, строковые (6 часов) Битовые команды: булевские, линейные и циклические сдвиги. Битовые операции на этапе ассемблирования. Локальный счетчик адреса. Строковые команды: пересылка строк. Флаг направления. Префикс повторения. Команды сравнения. Команды загрузки адресов. Пример применения битовых и строковых команд: заполнение экрана в текстовом режиме. Команда табличного преобразования. Раздел 7. Модульное программирование. (8 часов) Директивы связи. Сегментные директивы. Директива ASSUME. Параметры директивы SEGMENT. Сегментные группы. Взаимоотношение упрощенных и стандартных сегментных директив. Модели памяти. Исполняемые файлы в COM-формате. Отладка COM-программ. Встроенный ассемблерный код (inline). Стыковка модулей, написанных на языках Си и Ассемблера. Передача параметров в Си. Примеры программ для разных моделей памяти. Директивы, упрощающие стыковку модулей. Раздел 8. Работа с внешними устройствами. (10 часов) Контроллеры. Порты. Команды работы с портами. Пример: получение звука. Режимы работы контроллеров: синхронный, асинхронный, по прерываниям. Пример работы в режиме опроса флага: программирование параллельного адаптера (принтер). Программируемый контроллер прерываний. Таймер. Клавиатура. Примеры резидентных программ. Раздел 9. Развитие семейства 80x86 (10 часов) Форматы данных для плавающих чисел. Регистры сопроцессора. Примеры программ с использованием сопроцессора. Особые значения. 32-разрядная архитектура. Регистры. Новые методы адресации. Пример программы использованием возможностей 32-разрядной платформы. Защищенный режим. Страничная организация памяти. MMX-технология. Новые типы данных. Обзор команд. Пример программы. 4.3 Понедельный план проведения занятий: лекционных и практических.
5. Лабораторный практикум.
6. Учебно-методическое обеспечение дисциплины. 6.1. Рекомендуемая литератураа) основная литература:
б) дополнительная литература:
6.2. Средства обеспечения дисциплины. Программное обеспечение: Turbo Assembler, MASM, Visual C++. 7. Материально-техническое обеспечение дисциплины. Класс ПЭВМ на базе процессора Intel (не ниже Pentium MMX). 8. Методические рекомендации по организации изучения дисциплины. Тематика контрольных работ.
Тематика домашних заданий
Рабочая программа составлена в соответствии с Государственным образовательным стандартом высшего профессионального образования по специальности 090102 «Компьютерная безопасность». |
Программа дисциплины «Численные методы» для специальности 090102. 65 «Компьютерная безопасность» Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов специальности 090102 «Компьютерная... | Программа дисциплины Операционные системы для специальности 090102.... Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов специальности «090102 Компьютерная... | ||
Учебно-методический комплекс рабочая программа для студентов специальности... Учебно-методический комплекс. Рабочая программа для студентов специальности 090102. 65 – «Компьютерная безопасность», очной формы... | Рабочая программа для студентов очной формы обучения специальности... Иванов Д. И. Алгебра. Учебно-методический комплекс. Рабочая программа для студентов очной формы обучения, специальности 090301. 65... | ||
Программа вступительного экзамена по научной специальности 10. 02.... Дисциплина «Германские языки» относится к обязательному циклу «Специальные дисциплины отрасли науки и научной специальности» по направлению... | Рабочая программа для студентов направления 090301. 65 Компьютерная... Хохлов А. Г. Математический анализ. Учебно-методический комплекс. Рабочая программа для студентов направления 090301. 65 Компьютерная... | ||
Рабочая программа дисциплины «Компьютерная анимация» для специальности 032401 «Реклама» Дисциплина «Компьютерная анимация» предназначена для реализации требований учебного заведения к уровню подготовки выпускников по... | Рабочая программа для студентов направлений: 090301. 65 «Компьютерная безопасность» ... | ||
Программа дисциплины для направления/ специальности подготовки бакалавра/... Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направления 090301. 65 «Компьютерная... | Программа кандидатского экзамена по специальности 10. 02. 04 Германские языки (немецкий язык) Тгу имени Г. Р. Державина на основе типовой программы кандидатского экзамена по специальности 10. 02. 04 – германские языки. В ней... | ||
Учебно-методический комплекс дисциплины ен. В. Безопасность жизнедеятельности Рабочая программа учебной дисциплины составлена на основании основной образовательной программы специальности 040201 "Социология"... | Учебно-методический комплекс дисциплины опд. Ф. 11, Дпп. Дс. 7 Основы... «Безопасность жизнедеятельности» со специализацией «Экологическая безопасность и охрана труда», 050104 «Безопасность жизнедеятельности... | ||
Учебно-методического комплекса дисциплины рабочая программа учебной... Учебно-методический комплекс дисциплины «Компьютерная графика» разработан для студентов 3 курса по специальности 240902. 65 «Пищевая... | Учебной дисциплины «Медицина катастроф, безопасность жизнедеятельности»... Дисциплина «Медицина катастроф, безопасность жизнедеятельности» входит в основную образовательную программу по направлению подготовки... | ||
«Компьютерная графика» Рабочая программа по дисциплине «Компьютерная графика» предназначена для реализации Государственного образовательного стандарта спо... | Программа дисциплины «Оценка лингвистических систем и компонентов»... Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направления подготовки/ специальности... |