зміст
вступ............................................................................................................. 3
1. Постановка задачі............................................................................ 4
2. Програмний інструментарій........................................................ 5
2.1. Вибір засобу виконання поставленої задачі........................................... 5
2.2. Функції переривання INT 21h MS DOS, що використані при роботі програм 5
2.2.1. Функції роботи із DTA.......................................................................... 5
2.2.2. Інші функції переривання INT 21h, що необхідні для використання у програмі, що розробляється.................................................................................................. 7
3. Розробка задачі на мові асемблер.......................................... 10
3.1. Допоміжні процедури............................................................................ 10
3.1.1. Модуль PARAMS.asm........................................................................ 10
3.1.2. Модуль STRIO.asm............................................................................. 14
3.1.3. Модуль BINASC.asm.......................................................................... 17
3.2. Розробка основної програми DR.asm................................................... 20
4. Розробка задачі на мові високого рівня із використанням асемблерних фрагментів коду..................................................... 30
4.1. Розробка програми на Pascal................................................................ 30
Висновки.................................................................................................. 34
Список використаних джерел...................................................... 35
Додатки..................................................................................................... 36
вступ
Еволюція мов програмування нараховує вже не один десяток років. Пройдено великий етап від мов структурного програмування (таких як С) до систем багатомовного програмування, на роль яких претендують такі бренди як С#, Java, та ін. Однак слід зазначити, що незважаючи на постійне оновлення мов високого рівня щодо їх пристосування до зростаючих потреб програмістів, головна їх задача лишається тією ж самою – транслювати свої команди у машинний код. Тобто, не має ніякої різниці, якою мовою виконувати задачу – результат лишається той же; відмінність полягає лише у тому, як ця мова інтерпретує рішення програміста у мову машинних кодів. Тому відповідь на питання – чому мова асемблера, залишаючись практично незмінною у своїй ідеології і лексичній базі (цього не можна сказати, наприклад, про сімейство С), лишається й досі конкурентноспроможною іншим мовам – є цілком зрозумілою: вона, як мова програмування низького рівня, найближча до мови комп'ютера і, наразі, найбільш ефективна.
Мета даного курсового проекту – відбити ідеологію мови асемблера і продемонструвати можливості, які надає їй взаємодія із середовищем MS DOS, на прикладі розробки програми перегляду каталогів і виводу інформації про файли, що в них містяться.
Однак, не зважаючи на всі переваги мови асемблера, вона має вагомий недолік відносно мов високого рівня, що й зумовлює їх існування. У порівнянні з асемблером вони значно спрощують роботу програміста шляхом реалізації різноманітних аспектів алгоритму, таких як вивід на екран інформації, реалізація циклів, тощо за допомогою власних вбудованих інструментів.
Наразі, друга частина цього проекту присвячена розробці програми, що виконує аналогічні задачі вже мовою Pascal, надаючи реалізацію основного алгоритму асемблерним вставкам, а елементів інтерфейсу – функціям Pascal.
Таким чином, даний курсовий проект має продемонструвати переваги і недоліки програмування мовами низького і високого рівня, а також розкрити деякі аспекти роботи середовища MS DOS і його функцій.