• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 2020/2021

Компьютерный практикум 1

Статус: Курс обязательный (Прикладная математика)
Направление: 01.03.04. Прикладная математика
Когда читается: 1-й курс, 1-4 модуль
Формат изучения: без онлайн-курса
Язык: русский
Кредиты: 3
Контактные часы: 34

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

Аннотация

Знакомство слушателей дисциплины с представлением и кодированием данных в ЭВМ, основами языка Ассемблера, базовыми приемами работы в среде MS Visual Studio, концепциями использования в программах языка С и Ассемблера. Формирование практических навыков программирования на языке Ассемблера, базовых принципов, применяемых при разработке и реализации алгоритмов, разработке и отладке компьютерных программ. Получение опыта работы с механизмами связи низкоуровневого языка Ассемблер с языком высокого уровня С; поиска эффективных реализаций различных алгоритмов, практических навыков разработки прикладных программ. Практические занятия по программированию подкрепляются теоретическим материалом курса «Алгоритмизация и программирование».
Цель освоения дисциплины

Цель освоения дисциплины

  • Изучение принципов организации ЭВМ.
  • Изучение системы команд центрального процессора ЭВМ
  • Изучение основ построения алгоритмов и выработки умений эффективных реализаций различных алгоритмов
  • Выработка навыков и умений программирования на языке С и Ассемблера.
Планируемые результаты обучения

Планируемые результаты обучения

  • Выполняет перевод заданных значений в различные позиционные системы счисления
  • Знание базовых регистров центрального процессора
  • Разрабатывает программу на языке ассемблера
  • Оформление ассемблерных вставок в виде подпрограмм
  • Знание дополнительных средств языка ассемблера
  • Разработка программ с использованием языка СИ для ввода/вывода данных
  • Умение использовать современные расширенные регистры центрального процессора
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Представление и кодирование информации в ЭВМ
    Структура ячейки памяти: биты, байты, слова. Системы счисления: двоичная, 16-ричная. Целые числа: знаковые и беззнаковые. Диапазоны целых. Сложение и вычитание целых. Примеры программ на языке Си для изучения эффекта переполнения. Кодирование символов. Код ASCII. Расширения кода ASCII: кодировка IBM, альтернативная кодировка ГОСТа, UNICODE
  • Основы архитектуры процессора семейства 80х86
    Общие сведения о семействе процессоров 80x86. Общая шина. Память: ОЗУ и ПЗУ. Кэш-память. Адресное пространство. Сегмент и смещение, параграф. Нормализованный адрес. Команды отладчиков для просмотра ячеек памяти. Сегментные регистры. Структура центрального процессора: исполнительный блок и шинный интерфейс. Регистры центрального процессора: HL-регистры, PI-регистры, счетчик команд, регистр флагов. Назначение битов регистра флагов.
  • Система команд центрального процессора: пересылки данных, арифметические, команды сравнения, команды переходов. Кодирование команд.
    Структура описания команд. Команды пересылки. Арифметические команды: сложение, вычитание. Длинные целые. Операнды различной длины. Арифметические команды: умножение, деление. Десятичная арифметика. Команды сравнения. Условные переходы. Команды безусловных переходов. Кодирование команд: однооперандные команды, непосредственный операнд, двухоперандные команды.
  • Методы адресации и организация циклов
    Методы адресации: регистровый и непосредственный. Индексная адресация. Команды организации циклов. Косвенная адресация. Команды косвенного перехода. Префикс замены сегмента. Команды загрузки исполнительного адреса
  • Стек, подпрограммы, программные прерывания
    Стек. Команды работы со стеком. Использование стека для организации вложенных циклов. Подпрограммы. Передача параметров: через стек и через регистры. Возвращение результата через флаг CF. Команды изменения флага CF. Вложенные подпрограммы. Использование отладчиков для отладки программ. Прерывания, их классификация. Команды запрета и разрешения внешних прерываний. Программные прерывания. Векторы прерываний. Команды прерываний. Пример программы обработки прерывания.
  • Средства языка Ассемблера
    Язык Ассемблера. Определение данных. Пример программы на языке Ассемблера. Этапы создания программы: ассемблирование, компоновка, выполнение. Подпрограммы. Макросы. Вложенные макросы. Условное ассемблирование. Локальные метки. Блоки повторений.
  • Связь программ на языке С и Ассемблера
    Стыковка модулей, написанных на языках Си и Ассемблера. Передача параметров в Си. Примеры программ
  • Развитие процессоров семейства 80х86
    32-разрядная архитектура. Регистры. Новые методы адресации. Пример использования возможностей 32-разрядной платформы. 64-разрядная архитектура. Регистры.
Элементы контроля

Элементы контроля

  • неблокирующий индивидуальное задание №1
  • неблокирующий экзамен
    Экзамен проводится на основании накопленной оценки. Накопленная оценка выставляется на основании выполненных индивидуальных заданий по материалам курса. Оценка за экзамен может быть выставлена в отсутствии студента. Экзамен проводится на платформе jitsi (https://www.meet.miem.hse.ru). К экзамену необходимо подключиться согласно расписанию 'экзаменов. В день проведения экзамена студенты могут узнать свою оценку. Оценка за экзамен может быть выставлена в отсутствии студента.
  • неблокирующий индивидуальное задание №2
  • неблокирующий индивидуальное задание №3
  • неблокирующий индивидуальное задание №4
  • неблокирующий контрольно-измерительные материалы
    контрольно-измерительные материалы
Промежуточная аттестация

Промежуточная аттестация

  • Промежуточная аттестация (4 модуль)
    0.25 * индивидуальное задание №1 + 0.25 * индивидуальное задание №2 + 0.25 * индивидуальное задание №3 + 0.25 * экзамен
Список литературы

Список литературы

Рекомендуемая основная литература

  • Аблязов Р.З. - Программирование на ассемблере на платформе x86-64 - Издательство "ДМК Пресс" - 2011 - 304с. - ISBN: 978-5-94074-676-8 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/1273

Рекомендуемая дополнительная литература

  • Максимов А.В., Максимова Е.А. - Оптимальное проектирование ассемблерных программ математических алгоритмов: лабораторный практикум - Издательство "Лань" - 2017 - 128с. - ISBN: 978-5-8114-2545-7 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/93701