System Programming, Part 1

Major: Computer Engineering
Code of subject: 6.123.00.O.122
Credits: 4.00
Department: Electronic Computing Machines
Lecturer: senior lecturer Markhyvka Vasyl Stepanovich
Semester: 4 семестр
Mode of study: денна
Learning outcomes: know technology of system software; basic architecture processor company Intel and modern x86 processor architecture; system features teams; Assembler programming language; programming methods and algorithms typical elements of the system and applications; be able to develop software modules for information retrieval and data transformations in complex system and applications in assembly language to ensure their operation in the given technical conditions; perform debugging programs to search, identify, detect and eliminate errors.
Required prior and related subjects: prerequisites: The organization and operation of computers, Programming; corequisites: Algorithms and models of computation
Summary of the subject: Means and tasks and language system programming. Generalized architecture of a computer system. Architecture and programming model the base processor Intel 8086. Assignment of registers. Memory organization. Architecture and programming models of modern processors: IA32, AMD64 and IA64 (EM64T). Assignment of registers. Memory organization. The basic elements of assembly language, alphabet, directives and commands, expressions and operations, data definition, operand addressing modes, structure of the program, basic input-output system. Instructions format the computer. The main groups of instructions. The method of effective programming in assembly language. Programming branching and cycles. Stack and its usage. Procedures and macros. Interaction procedures. Multimodal technology programming. The concept of interrupts and interrupt processing routines. Structured data types and their use.
Assessment methods and criteria: Written reports on laboratory work, the verbal questioning (30%) Final assessment (control method, exam): written-verbal form (70%)
Recommended books: 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/