Системне програмування, частина 1

Спеціальність: Комп'ютерна інженерія
Код дисципліни: 6.123.00.O.122
Кількість кредитів: 4.00
Кафедра: Електронні обчислювальні машини
Лектор: ст. викладач Мархивка Василь Степанович
Семестр: 4 семестр
Форма навчання: денна
Результати навчання: знати технологію створення системних програм; архітектуру базового процесора фірми Intel та сучасних процесорів архітектури х86; особливості системи команд; мову програмування Асемблер; методи і алгоритми програмування типових елементів системних та прикладних програм; уміти розробляти програмні модулі для інформаційного пошуку та перетворень даних у комплексах системних та прикладних програм мовою Асемблера з метою забезпечення їх функціонування в заданих технічних умовах; виконувати відлагодження програм з метою пошуку, ідентифікації, виявлення та усунення помилок.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: пререквізити: організація та функціонування комп’ютерів, програмування; кореквізити: алгоритми та моделі обчислень.
Короткий зміст навчальної програми: Засоби, задачі та мови системного програмування. Узагальнена архітектура комп’ютерної системи. Архітектура та програмна модель базового процесора фірми Intel 8086. Призначення регістрів. Організація пам’яті. Архітектура та програмна модель сучасних процесорів: IA32, AMD64 та IA64(EM64T). Призначення регістрів. Організація пам’яті. Основні елементи мови Асемблер: алфавіт, директиви та команди, вирази та операції, визначення даних, режими адресації операндів, структура програми, елементарний ввід-вивід. Формати машинної команди. Основні групи команд: команди пересилань, арифметичні команди, команди переходів, команда циклу та ланцюгові команди. Методика ефективного програмування мовою Асемблера. Програмування розгалужень та циклів. Стек та його використання. Процедури та макрокоманди. Взаємодія процедур. Технологія багатомодульного програмування. Поняття переривання та підпрограми опрацювання переривань. Структуровані типи даних та їх використання.
Методи та критерії оцінювання: поточний контроль (30%): письмові звіти з лабораторних робіт, усне опитування на практичних заняттях; підсумковий контроль (70 %): контрольних захід - екзамен, письмово-усна форма
Рекомендована література: 1. Рисований О.М. Системне програмування: підручник для студентів напрямку “Комп’ютерна інженерія” вищих навчальних закладів в 2-х томах. Том 1. – Видання четверте: виправлено та доповнено – Х.: “Слово”, 2015. – 576 с. 2. Тонкошкур О.С, Гниленко, О.Б, Матвєєва Н.О, Морозов О.С. Архітектура комп’ютерів. Машинні команди та програмування на асемблері: навчальний посібник - Д.: Вид-во «Нова Ідеологія», 2018, 179 с. 3. Рысованый А.Н. Системное программирование, Ч.1. Программирование в среде masm64: учеб.-метод. пособие – Харьков : «Слово», 2017. – 108 с. 4. Intel® 64 and IA-32 Architectures Software Developer’s Manual: URL: https://www.intel.com/ content/www/us/en/homepage.html 5. AMD64 Architecture Programmer’s Manual: URL: https://developer.amd.com/resources/ developer-guides-manuals/