Программа дисциплины Языки Ассемблера  для специальности 090102 «Компьютерная безопасность»





Скачать 160.4 Kb.
НазваниеПрограмма дисциплины Языки Ассемблера  для специальности 090102 «Компьютерная безопасность»
Дата публикации05.11.2014
Размер160.4 Kb.
ТипПрограмма дисциплины
100-bal.ru > Информатика > Программа дисциплины



Правительство Российской Федерации
Федеральное государственное автономное образовательное учреждение высшего профессионального образования
"Национальный исследовательский университет
"Высшая школа экономики"

Московский институт электроники и математики Национального

исследовательского университета "Высшая школа экономики"
Факультет прикладной математики и кибернетики

Программа дисциплины

Языки Ассемблера


для специальности 090102 «Компьютерная безопасность»

подготовки специалиста


Автор программы:

Лавренов С.М., к.т.н., доцент

Одобрена на заседании кафедры Кибернетика «___»____________ 20 г

Зав. кафедрой Афанасьев В.Н.
Рекомендована секцией УМС «___»____________ 20 г

Председатель
Утверждена УС факультета «___»_____________20 г.

Ученый секретарь

Москва – 2012 г.
1. Цели и задачи дисциплины.

Дисциплина "Языки Ассемблера" имеет целью обучить студентов программированию на языке Ассемблера.

Задачи дисциплины — дать основы:

  • принципов организации ЭВМ;

  • системы команд ЭВМ;

  • языка Ассемблера;


2. Требования к уровню освоения содержания дисциплины.

В результате изучения дисциплины студенты должны:

иметь представление

  • о принципах организации вычислительных систем;

знать:

  • систему команд центрального процессора;

  • иерархию памяти;

  • принципы взаимодействия с внешними устройствами;

уметь:

  • программировать на языке Ассемблера;

  • осуществлять вставки на языке Ассемблера в программы, написанные на языке Си;

иметь навыки:

  • разработки программ на языке Ассемблера;

  • использования отладчиков.



3. Объем дисциплины и виды учебной работы (часы).

Вид учебной работы


Всего часов
Семестры

6

7

Общая трудоемкость дисциплины

250







Аудиторные занятия

114







Лекции (Л)

85

34

51

Практические занятия (ПЗ)










Семинары (С)










Лабораторные работы (ЛР)

51

34

17

И (или) другие виды аудиторных занятий










Самостоятельная работа

65

51

34

Курсовой проект (работа)










Расчетно-графические работы










Реферат










И (или) другие виды самостоятельной работы




2 к/р, 2 д/з

2 к/р, 1 д/з

Вид итогового контроля (зачет, экзамен)




экзамен

экзамен


4. Содержание дисциплины.

4.1. Разделы дисциплины и виды занятий



п/п

Раздел дисциплины

Аудиторные занятия


Лекции

ПЗ

ЛР

1
Кодирование информации

*




*

2

Основы архитектуры семейства 80x86

*







3

Команды ЦП: пересылки, арифметические, перехода. Кодирование команд

*




*

4

Стек, подпрограммы, программные прерывания

*




*

5

Средства языков Ассемблера

*




*

6

Команды ЦП: битовые, строковые

*




*

7

Модульное программирование

*




*

8

Работа с внешними устройствами

*







9

Развитие семейства 80x86

*








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 Понедельный план проведения занятий: лекционных и практических.

Неделя


Вид

занятий

Тема

Контрольные


точки

1

лекция

Системы счисления. Целые числа. Сложение.

1-я к/р

2

лекция

Кодирование символов.

2-я к/р

3

лекция

Семейство микропроцессоров 80x86. Общая шина.




4

лекция

Типы памяти. Распределение памяти.




5

лекция

Центральный процессор. Регистры.




6

лекция

Методы адресации.




7

лекция

Команды пересылки. Арифметические команды.




8

лекция

Условные и безусловные переходы.




9

лекция

Организация циклов.




10

лекция

Кодирование команд

3-я к/р

11

лекция

Стек. Стековый кадр.




12

лекция

Подпрограммы. Передача параметров.




13

лекция

Прерывания. Программные прерывания.




14

лекция

Прерывания в BIOS и DOS.




15

лекция

Язык Ассемблера. Определение данных.




16

лекция

Ассемблирование, компоновка, выполнение.




17

лекция

Макросредства.




1

лекция

Битовые операции.

1-е д/з

2

лекция

Битовые операции на этапе ассемблирования.

4-я к/р

3

лекция

Строковые операции.




4

лекция

Директивы связи.




5

лекция

Сегментные директивы.




6

лекция

com-файлы.

2-е д/з

7

лекция

Ассемблер и Си.

3-е д/з

8

лекция

Контроллеры. Порты




9

лекция

Асинхронный режим. Принтер.




10

лекция

Программируемый контроллер прерываний.




11

лекция

Таймер. Клавиатура.




12

лекция

Резидентные программы.




13

лекция

Плавающие числа.




14

лекция

Программирование сопроцессора




15

лекция

32-разрядная архитектура.




16

лекция

Защищенный режим.




17

лекция

MMX-технология.





5. Лабораторный практикум.



п/п

№ раздела дисциплины

Наименование лабораторных работ


1

3

Написание и отладка с использованием отладчика debug.exe программы вычисления рациональной функции с исходными данными различной длины.

2

3

Написание и отладка с использованием отладчика debug.exe программы изменения строки из трех цифр в соответствии с заданием, предусматривающим использование условных и безусловных переходов.

3

3

Написание и отладка с использованием отладчика Turbo Debugger программы обработки массивов байтов и слов

4

5,6

Написание программы на языке Ассемблера с использованием макросредств Turbo Assembler. Задание предусматривает битовые операции над массивом байтов и слов.

5

6,7

Написание главной программы на языке Си и подпрограммы на языке Ассемблера. Обязательно использование строковых операций.


6. Учебно-методическое обеспечение дисциплины.
6.1. Рекомендуемая литература

а) основная литература:

  1. Ирвин К. Язык Ассемблера для процессоров Intel. — М.: Издательский дом "Вильямс", 2002. — 616 с.

  2. Лавренов С.М. Решение задач на языке Ассемблера. — М.: Изд.МГИЭМ, 2000. — 96 с.

  3. Пильщиков В.Н. Программирование на языке ассемблера IBM PC. — М.: "ДИАЛОГ-МИФИ", 1994. — 288 с.

  4. Юров В. Assembler. — СПб: "Питер", 2000 — 624 с.

  5. Юров В. Assembler: специальный справочник. — СПб: "Питер", 2000 — 496 с.

б) дополнительная литература:

  1. Рудаков П.И., Финогенов К.Г. Программируем на языке Ассемблера IBM PC. — Обнинск: Изд-во "Принтер", 1999. — 495 с.

  2. Таненбаум Э. Архитектура компьютера. — СПб.: Питер, 2003. — 704 с.


6.2. Средства обеспечения дисциплины.

Программное обеспечение: Turbo Assembler, MASM, Visual C++.
7. Материально-техническое обеспечение дисциплины.

Класс ПЭВМ на базе процессора Intel (не ниже Pentium MMX).
8. Методические рекомендации по организации изучения дисциплины.

Тематика контрольных работ.

  1. Перевод числа, представленного в десятичной системе счисления, в 16-ричную и двоичную системы.

  2. Интерпретация содержимого байта как символа в коде ASCII, а также как знакового и как беззнакового чисел.

  3. Дешифровка кодов команд.

  4. Битовые операции на этапе ассемблирования.


Тематика домашних заданий

  1. Использование средств адресации 386 процессора.

  2. Написание программы в формате .com.

  3. Ассемблерные вставки (inline) в программе на языке Си.



Рабочая программа составлена в соответствии с Государственным образовательным стандартом высшего профессионального образования по специальности 090102 «Компьютерная безопасность».



Добавить документ в свой блог или на сайт

Похожие:

Программа дисциплины Языки Ассемблера  для специальности 090102 «Компьютерная безопасность» iconПрограмма дисциплины «Численные методы» для специальности 090102. 65 «Компьютерная безопасность»
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов специальности 090102 «Компьютерная...
Программа дисциплины Языки Ассемблера  для специальности 090102 «Компьютерная безопасность» iconПрограмма дисциплины Операционные системы для специальности 090102....
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов специальности «090102 Компьютерная...
Программа дисциплины Языки Ассемблера  для специальности 090102 «Компьютерная безопасность» iconУчебно-методический комплекс рабочая программа для студентов специальности...
Учебно-методический комплекс. Рабочая программа для студентов специальности 090102. 65 – «Компьютерная безопасность», очной формы...
Программа дисциплины Языки Ассемблера  для специальности 090102 «Компьютерная безопасность» iconРабочая программа для студентов очной формы обучения специальности...
Иванов Д. И. Алгебра. Учебно-методический комплекс. Рабочая программа для студентов очной формы обучения, специальности 090301. 65...
Программа дисциплины Языки Ассемблера  для специальности 090102 «Компьютерная безопасность» iconПрограмма вступительного экзамена по научной специальности 10. 02....
Дисциплина «Германские языки» относится к обязательному циклу «Специальные дисциплины отрасли науки и научной специальности» по направлению...
Программа дисциплины Языки Ассемблера  для специальности 090102 «Компьютерная безопасность» iconРабочая программа для студентов направления 090301. 65 Компьютерная...
Хохлов А. Г. Математический анализ. Учебно-методический комплекс. Рабочая программа для студентов направления 090301. 65 Компьютерная...
Программа дисциплины Языки Ассемблера  для специальности 090102 «Компьютерная безопасность» iconРабочая программа дисциплины «Компьютерная анимация» для специальности 032401 «Реклама»
Дисциплина «Компьютерная анимация» предназначена для реализации требований учебного заведения к уровню подготовки выпускников по...
Программа дисциплины Языки Ассемблера  для специальности 090102 «Компьютерная безопасность» iconРабочая программа для студентов направлений: 090301. 65 «Компьютерная безопасность»
...
Программа дисциплины Языки Ассемблера  для специальности 090102 «Компьютерная безопасность» iconПрограмма дисциплины для направления/ специальности подготовки бакалавра/...
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направления 090301. 65 «Компьютерная...
Программа дисциплины Языки Ассемблера  для специальности 090102 «Компьютерная безопасность» iconПрограмма кандидатского экзамена по специальности 10. 02. 04 Германские языки (немецкий язык)
Тгу имени Г. Р. Державина на основе типовой программы кандидатского экзамена по специальности 10. 02. 04 – германские языки. В ней...
Программа дисциплины Языки Ассемблера  для специальности 090102 «Компьютерная безопасность» iconУчебно-методический комплекс дисциплины ен. В. Безопасность жизнедеятельности
Рабочая программа учебной дисциплины составлена на основании основной образовательной программы специальности 040201 "Социология"...
Программа дисциплины Языки Ассемблера  для специальности 090102 «Компьютерная безопасность» iconУчебно-методический комплекс дисциплины опд. Ф. 11, Дпп. Дс. 7 Основы...
«Безопасность жизнедеятельности» со специализацией «Экологическая безопасность и охрана труда», 050104 «Безопасность жизнедеятельности...
Программа дисциплины Языки Ассемблера  для специальности 090102 «Компьютерная безопасность» iconУчебно-методического комплекса дисциплины рабочая программа учебной...
Учебно-методический комплекс дисциплины «Компьютерная графика» разработан для студентов 3 курса по специальности 240902. 65 «Пищевая...
Программа дисциплины Языки Ассемблера  для специальности 090102 «Компьютерная безопасность» iconУчебной дисциплины «Медицина катастроф, безопасность жизнедеятельности»...
Дисциплина «Медицина катастроф, безопасность жизнедеятельности» входит в основную образовательную программу по направлению подготовки...
Программа дисциплины Языки Ассемблера  для специальности 090102 «Компьютерная безопасность» icon«Компьютерная графика»
Рабочая программа по дисциплине «Компьютерная графика» предназначена для реализации Государственного образовательного стандарта спо...
Программа дисциплины Языки Ассемблера  для специальности 090102 «Компьютерная безопасность» iconПрограмма дисциплины «Оценка лингвистических систем и компонентов»...
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направления подготовки/ специальности...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск