Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral

Министерство образования и науки Российской Федерации
Федеральное агентство по образованию
Рыбинская государственная авиационная технологическая академия им.
Факультет радиоэлектроники и информатики
Кафедра ²Вычислительные системы²
²УТВЕРЖДАЮ²
Декан факультета РЭИ
__________
РАБОЧАЯ ПРОГРАММА
По дисциплине ²Программирование на ассемблере²
для направления 230100 – Информатика и вычислительная техника
для специальности 230101 – Вычислительные машины, комплексы,
системы и сети
Распределение часов
Форма обучения | Очная | Очно-заочная | Заочная | ||
| на базе ПСО | на базе СПО |
| на базе ПСО | на базе СПО |
Лекции | 34 | 34 | – | – | 6 |
Практические занятия | 17 | 17 | – | – | 8 |
Лабораторные занятия | 34 | 34 | – | – | – |
Индивидуальные занятия | – | 5 | – | – | – |
Самостоятельная работа в т.ч. курсовая работа | 85 | 85 | – | – | 156 |
Всего часов | 170 | 170 | – | – | 170 |
Форма контроля | экзамен | экзамен | – | – | зачет |
Программу составил к.т.н. доцент _____________________
Рабочая программа рассмотрена на заседании кафедры ²Вычислительные системы² 6 сентября 2005 г.
Заведующий кафедрой к.т.н. профессор ____________________
Согласовано Декан ФЗО _________________________________
Рыбинск 2005
Настоящая программа составлена в соответствии с Государственным стандартом высшего профессионального образования и Учебным планом подготовки специалиста по направлению 220100 (230101).
ЦЕЛИ И ЗАДАЧИ ИЗУЧЕНИЯ ДИСЦИПЛИНЫ
Целью преподавания дисциплины является приобретение студентами знаний и умений в области программирования на языке ассемблера.
Задачи изучения дисциплины
В результате изучения дисциплины студенты должны:
– знать архитектурную организацию вычислительных систем;
– приобрести умения и навыки по программированию на ассемблере;
– уметь отлаживать ассемблерные программы в среде отладчиков.
Рекомендации по изучению дисциплины
Изучение дисциплины основывается на знаниях и практических навыках, полученных студентами при изучении дисциплин “Дискретная математика” и “Информатика”.
1. СОДЕРЖАНИЕ ДИСЦИПЛИНЫ
Введение (4 час.)
1.1. Цель и задачи дисциплины. Место в подготовке инженера по специальности 220100. Порядок изучения дисциплины. Литература.
1.2. Фундаментальные принципы организации вычислительных систем. Программное управление вычислительным процессом. Структура команд вычислительных машин. Структура и принцип действия вычислительной машины. Функциональные группы команд. Способы адресации операндов.
1.3.Программирование на языке ассемблера (28 час.)
1.3.1. Архитектура вычислительной системы: архитектура памяти, архитектура ввода-вывода, архитектура процессора. Архитектура микропроцессоров ВМ86/ВМ88. Назначение ее элементов. Логическая организация памяти, вычисление физического адреса.
1.3.2. Основные элементы ассемблера. Формат программной строки. Директивы управления сегментами. Типовая структура текста программы. Символьные имена. Константы и директивы их описания. Переменные и директивы их описания. Стандартные типы данных и их размещение в памяти.
Атрибуты переменных и меток. Директивы, возвращающие атрибутные значения. Замена атрибутов.
Способы адресации операндов. Адресация данных: регистровая, непосредственная, прямая, косвенная регистровая, базовая, индексная, базово–индексная, относительная базовая–индексная. Адресация переходов: внутрисегментный прямой, внутрисегментный косвенный, межсегментный прямой, межсегментный косвенный.
1.3.3. Система команд. Команды пересылки данных. Арифметические команды. Логические команды. Команды передачи управления. Команды для организации подпрограмм. Команды прерываний. Команды обработки строк. Префиксы повторения. Команды управления микропроцессором.
1.3.4. Принципы кодирования команд. Время выполнения команд.
1.3.5. Организация подпрограмм. Директивы описания подпрограмм. Передача параметров в подпрограммы: через регистры, через общие ячейки памяти, через зону, через стек.
1.3.6. Организация системы прерываний.
Внешние и внутренние прерывания. Их обслуживание.
1.3.7. Нестандартные типы данных. Структуры. Записи. Их описание и использование.
1.3.8. Макрокоманды. Макроопределения и макровызовы. Сравнение макрокоманды и подпрограммы. Макрокоманды повторения. Библиотеки макроопределений и их использование.
1.3.9. Технология подготовки программ: создание исходного файла, трансляция, компоновка и отладка.
1.3.10. Модульное программирование. Методы и проблемы. Реализация модульности за счет библиотек макроопределений. Реализация модульности за счет связывания объектных модулей. Объединение логических сегментов. Описание межмодульных обращений. Библиотеки объектных модулей и операции над ними. Использование библиотек объектных модулей.
2. ПЕРЕЧЕНЬ ПРАКТИЧЕСКИХ И ЛАБОРАТОРНЫХ
ЗАНЯТИЙ
2.1.Перечень практических занятий (17 час.)
2.1.1 Изучение системы команд микропроцессоров ВМ86/ВМ88.
2.1.2. Разработка простейших программ на ассемблере.
2.1.3. Изучение алгоритмов математической и логической обработки данных.
2.2. Перечень лабораторных занятий (34 час.)
2.2.1. Изучение отладчиков afd и td с выполнением в них основных операций.
2.2.2. Изучение технологии подготовки ассемблерных программ: создание исходного текста, ассемблирование, компоновка, отладка.
2.2.3. Отладка простой ассемблерной программы с заданием данных путем описания и наблюдением результатов в отладчике.
2.2.4. Отладка ассемблерной программы с заданием данных с клавиатуры и выводом результатов на экран.
3. СПИСОК ЛИТЕРАТУРЫ И ПЕРЕЧЕНЬ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Основной
3.1. Комаров системы. Учебное пособие для вузов. – Рыбинск: РГАТА, 1997.
3.2. Григорьев однокристальных микропроцессоров. – М.: Энергоатомиздат, 1987.
3.3. Лямин MASM. – М.: Радио и связь, 1994.
3.4. Использование Turbo Assembler при разработке программ. – Киев: Диалектика, 1994.
Дополнительный
3.5. Л. Дао. Программирование микропроцессора 8088. – М.: Мир, 1988.
3.6. Д. Бредли. Программирование на языке ассемблера для персональной ЭВМ фирмы IBM. – М.: Радио и связь, 1988.
3.7. Л. Скэнлон. Персональные ЭВМ IBM PC и XT. Программирование на языке ассемблера. – М.: Радио и связь, 1989.
4. МЕТОДИЧЕСКИЕ УКАЗАНИЯ СТУДЕНТАМ ПО ИЗУЧЕНИЮ ДИСЦИПЛИНЫ
Успешное освоение дисциплины проявляется прежде всего в умении студента решать задачи по программированию на языке ассемблера. Для этого необходимо сначала изучить теоретические вопросы организации вычислительной системы, а также четко представить суть и назначение команд языка ассемблера, используемых для решения задач определенной тематической направленности. При самостоятельной подготовке целесообразно руководствоваться учебным пособием [1], в котором подробно рассмотрены все изученные вопросы. При этом необходимо детально разобрать все примеры, приведенные в этом учебном пособии. Не рекомендуется изменять последовательность изучения тем, так как изучение последующих тем основывается на ранее рассмотренном материале.
Однако, главным, что максимально способствует успешному изучению дисциплины, является посещение студентом всех аудиторных занятий с обязательным выполнение всех заданий, предлагаемых преподавателем. Это гарантирует последовательный характер изучения дисциплины от простого к сложному, а, следовательно, и окончательный успех при сдаче экзамена.
5. список ЭКЗАМЕНАЦИОННЫХ (ЗАЧЕТНЫХ) ВОПРОСОВ
Экзамен проводится письменно в форме рейтинговой контрольной работы. В контрольную работу включаются две задачи, охватывающие следующие темы:
- сегментная организация памяти, доступ к сегментам;
- табличное преобразование данных;
- организация стека и работа с ним;
- ввод/вывод данных;
- арифметические операции над двоичными знаковыми и беззнаковыми числами;
- арифметические операции над десятичными числами в упакованном и распакованном формате;
- логические операции над числами;
- передача управления в программе;
- организация подпрограмм. Передача параметров в подпрограммы;
- организация макрокоманд. Передача параметров в макрокоманды;
- организация системы прерываний. Инициализация векторов прерываний;
- полная и сокращенная формы записи программы;
6. КОНТРОЛЬНЫЕ ВОПРОСЫ (ЗАДАЧИ ИЛИ ТЕСТЫ
САМОПРОВЕРКИ)
Так как экзамен по дисциплине сводится к решению задач, то для самопроверки студент должен решить контрольные задачи следующего вида:
1. В дополнительном сегменте имеется двумерный массив. Записать в каждую третью строку этого массива некоторую фразу, инициализированную в памяти системы. Индекс начальной строки – 2.
2. Начиная от верхушки, записать в каждый элемент с нечетным индексом текущего стека результат вычисления функции
. Значения Х выбираются из одномерного массива байтов и могут быть равны 5, 24, 61, 122 (по полной форме).
3. Из массива двухбайтных портов, начиная с порта с номером 5000h, ввести 256 слов и разместить их в памяти. После этого вывести введенные данные в канал последовательной связи в режиме синхронного обмена.
4. Написать подпрограмму обработки прерывания для копирования каждого третьего элемента одномерного массива квадрослов в область памяти с физического адреса ABCDEh. Для инициализации адресов памяти использовать заранее подготовленные адресные буферы, причем один инициализировать описанием, а другой – программным путем.
5. Написать подпрограмму для вычисления среднего арифметического элементов больших заданного значения некоторого массива слов без знака. С помощью этой подпрограммы обработать два массива, суммируя в первом числа большие 5000, а во втором – большие 20000. Для передачи параметров использовать стек.
6. Написать макрокоманду для выборки из некоторого массива слов без знака всех элементов с заданным значение заданного поля. С помощью этой макрокоманды обработать два массива, выбирая в первом числа со значение поля D13 – D9 = 10010, а во втором – поля D8 – D6 = 101.


