Мова програмування Assembler - Курс лекций

бесплатно 0
4.5 45
Порівняльна характеристика структури мов програмування Assembler та C. Вивчення поняття "об"єктного файлу" та "виконуваного модуля". Розгляд функцій переривання, введення/виведення символу та стрічки, екранного режиму та малювання крапки і прямої.


Аннотация к работе
Основні аспекти створення системних програм 3. Моделі пам’яті та компонування програм 1. Загальний огляд дисципліни Дисципліна системне програмування зазвичай викладається в технічних вузах як курс якоїсь окремої мови програмування, частіше всього - це асемблер або С. Насправді ж ця дисципліна не є черговим курсом з методики створення програм, а є курсом з тонкощів операційної системи, які можна використовувати в будь-якій мові програмування, де є можливість підключення або зовнішніх модулів або асемблерних вставок безпосередньо до програмного коду. Отже, сформулюємо чітке визначення курсу: Системне програмування - дисципліна, яка вивчає засоби та функції операційної системи, пов’язані з керуванням нею, периферійними пристроями та обміну даними між ними. Перша мова бере свій початок від найпершого компілятора - Автокоду (1952), розробленого Аліком Гленні для компютера Манчестер Марко I. Цей компілятор вперше використовував мнемонічне (у вигляді команд та відповідних операндів) позначення основних операцій, які здатна виконувати машина, які потім перетворювались на коди, зрозумілі машині. З винайденням операційної системи, на яку покладалися загальні задачі обміну даними між процесором, памяттю та периферійними пристроями, основна задача системного програмування змінилась - оскільки керування обміну даними між периферійними пристроями перебрала на себе операційна система, до задач системного програмування увійшло завдання керування ресурсами, які контролює операційна система. Основні аспекти створення системних програм Перед тим, як ввести поняття системної програми, розглянемо спрощену архітектуру комп’ютерної системи: На рівні мікрокоду як правило, працюють прошиті в мікросхемі програми, наприклад, MMX (MultiMedia Extended Set) чи SSE (Sequenced and Structured Extensions/Поширення для роботи з послідовностями та структурами), які фактично є програмами, зашитими в процесор. На рівні команд процесора працюють такі базові пакети, як BIOS та операційна система. На рівні команд процесора також працюють так звані програми нульового рівня, тобто такі програми, які реалізовують основні функції операційної системи - обробники переривання, драйвери тощо. Перше - це набір вже написаних програм на певній мові програмування, і сформованих у так звану бібліотеку, якою може користуватись програміст. Друге - це прошитий у ядро операційної системи програмний код, який виконується в залежності від того, які переривання були збуджені, і які значення регістрів при цьому були. Усе, що стосується більш низьких чи високих рівнів до системних програм може відноситись тільки опосередковано. Програми на асемблері, які більші за 1000 рядків, вже не сприймаються адекватно навіть тим програмістом, який цю програму пише. 3. Інтерпретовані - це мови, програми на яких перетворюються на машинний код тільки під час виконання. Прикладом такої мови є мова Rexx, розроблена IBM для операційної системи PCDOS. Трансльовані - це такі мови, програмний код яких цілком може бути безпосередньо перетворений у машинний код, і поширюватись у вигляді цілісного двійкового (виконуваного) модуля. Такий процес називається компіляцією: Перші два етапи називаються компіляцією, тобто утворення певного кістяку, за якими буде будуватись вихідний програмний код. Програми складаються з сегментів (частин). Сегмент може містити код або дані, відповідно до термінів Фон Неймана. Код знаходиться в одному сегменті, але кожна змінна - фактично у своєму власному сегменті, оскільки адресується не за локальним посиланням, а шляхом точного вказання комірки. Прикладом імперативних мов може слугувати будь-яка сучасна мова програмування, наприклад, C чи Assembler. Такі мови містять ключові слова для утворення основних елементів алгоритмів - розгалужень, точок вибору, циклів, функцій тощо та відповідних структур даних. Так, мови розмітки документів XML та HTML містять способи вказання способу відображення даних у Web-браузері, а мова APL - методи для обробки векторних даних. 3. Для запуску макроасемблера з використанням підказок необхідно ввести командний рядок, що містить тільки імя макроасемблера MASM зі специфікацією підзаголовку, якщо вона потрібна. MASM перейде в діалоговий режим і серією підказок запросить у користувача інформацію про наступні файли (відповідь полягає в наборі необхідних символів і натисканні клавіші ENTER): 1. Якщо при відповіді не зазначене розширення, передбачається ASM. 2. Імя обєктного файлу. Якщо при відповіді не зазначене розширення, передбачається OBJ. У цьому випадку одна відповідь від іншого відокремлюється комами. Порівняльна характеристика мов Assembler та C Сі є мовою функцій, типів даних, операторів присвоювання і керування послідовністю обчислень. Програмуючи на Сі, ви здійснюєте звертання до функцій, і більшість функцій повертають деякі значення. Види асемблерів Макроасемблер MASM фірми MICROSOFT асемблює програми мовою асемблера для мікропроцесорів 8086, 8088, 80186 і 80286 і створює обєктні файли, що можуть редагуватися і виконуватися в оп
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?