
- •Системне програмування, характерні особливості.
- •Асемблер. Варіанти спільного використання асемблера і мов високого рівня.
- •Інструментальні засоби розробки програм на мові Асемблер.
- •Регістри.
- •Користувацькі регістри.
- •Сегментні регістри.
- •Організація роботи з пам’ятю.
- •Сегментна модель пам’яті.
- •Специфікація типів даних
- •Набір команд мікропроцесора.
- •11. Використання арі-функцій.
- •12. Структура програми, приклад простої програми для Windows.
- •13. Передача параметрів через стек
- •14. Використання ресурсів при роботі з діалоговими вікнами.
- •15.Використання ресурсів при роботі з меню.
- •16. Використання акселераторів у файлах ресурсу.
- •17. Ресурси. Переваги використання ресурсів у програмах.
- •18. Використання ресурсів при роботі з іконками, рядками, курсорами.
- •21. Потоки, взаємодія потоків.
- •22. Семафори блять! Події нахуй!
- •23. Критичні секції.
Системне програмування, характерні особливості.
Системне програмування – це вид програмування, який полягає в роботі з системним програмним забезпеченням. Головною відмінністю системного програмування в порівнянні з прикладним є те, що прикладне програмне призначення випускати ПЗ для користувачів, системне призначення випускати програми, які обслуговують апаратну частину ПК і вимагають значної залежності розроблювального ПЗ від апаратної частини ПК.
Характерна особливість системного програмування:
Програміст, повинен приймати до уваги апаратне забезпечення та інші особливості системи на якій передбачається запуск програми та на пряму використовувати ці особливості.
При розробці ПЗ використовується низько рівневі мови програмування або діалекти, які можуть працювати в ресурсно - обмеженому режимі.
Розроблювальне ПЗ є максимально раціональним та має мінімальну затримку в часі під час виконання.
Розроблювальні ПЗ мають малі бібліотеки типів періоду виконання або вони взагалі відсутні.
Дозволяють прямий доступ до пам’яті та керуючої логіки ПК.
Системне програмування суттєво відрізняється від прикладного, що змушує спеціалістів працювати лише в одній галузі.
Асемблер. Варіанти спільного використання асемблера і мов високого рівня.
Асемблер – це система програмування, яка включає, в себе мову асемблера та транслятори цієї мови . Трансляція зазвичай вимагає двох переглядів початкової програми. При першому перегляді здійснюється розподіл пам’яті і присвоєнню значень символьним . При другому перегляді формується робоча програми у вигляді модуля завантаження. В процесі трансляції асемблер проводить повинний синтаксичний контроль програми, забезпечує при цьому повну діагностику помилок та точне місце їх виконання. Асемблер є низькою мовою програмування , що вимагає більш вузької спеціалізації програміста. Програми на мові асемблер є компактні та швидкі у виконанні.
Мова асемблера, як засіб поліпшення продуктивності додатків написаних на мовах високого рівня використовуються досить широко. Розумне поєднання в одному додатку модулів написаних на мові високого рівня і асемблері дозволяють досягнути високої швидкості роботи програми та зменшити розмір виконуваного коду. На практиці застосовують 2 варіанти спільного використання асемблера і мов високого рівня. В першому випадку використовується окремий файл об’єктного модуля в якому розташовується одна або декілька процедур обробки даних. Виклик такої процедури здійснюється програмою що написана на мові високого рівня. В другому випадку у вихідному тексті додатку на мові високого рівня асемблерна процедура оголошується відповідним чином після чого її можна викликати з будь-якої точки основної програми. Файл з вихідним текстом процедури зазвичай має розширення *. Asm і компілюється будь-яким пакетом компіляторів мовою асемблер (MASM, TASM). Переваги окремо компільованих модулів на асемблері – це можливість використання програмного коду в додатках написаних на різних мовах та деякому випадку використання на різних ОС.