Порівняльна характеристика мов програмування. Застосування мнемонічного позначення для машинних команд. Особливість транслятора вихідних платформ в асемблері. Розробка блок-схеми алгоритму програми. Особливість трансляції проекту та пошуку помилок.
Аннотация к работе
Я розробив курсовий проект з дисципліни ”Системне програмування ”, він являється моєю самостійною науково-дослідницькою роботою, яка підтверджує здібність самостійно і якісно виконувати поставлені переді мною завдання. В даному випадку, завдання у вигляді написання програми яка виводить на екран номер групи, мої прізвище імя та закривається по натисканню комбінації клавіш ”1” ”2”. Головною проблемою при вирішенні курсового проекту був вибір мови програмування на якій я буду виконувати завдання, адже велика частина роботи програмістів повязана з написанням програмного коду, тестуванням і налагодженням програм на одній з мов програмування. Різні мови вимагають від програміста різного рівня уваги до деталей при реалізації алгоритму, результатом чого часто буває компроміс між простотою і продуктивністю (або між часом програміста і часом користувача).Програма яка виконує перетворення вихідного тексту (звичайний текст програми у термінах мови програмування, оформлюється як звичайний текстовий файл створюється програмістом) програми користувача в бінарний код (програма у вигляді сукупності бінарних символів 0 або 1) називається транслятором. Якщо код програми досить великий, - дані, якими він оперує, не поміщаються цілком в регістрах процесора, тобто частково або повністю перебувають в оперативній памяті, - то майстерний програміст, як правило, здатний значно оптимізувати програму в порівнянні з транслятором з мови високого рівня по одному або декільком параметрам і створити код близький до оптимального по Парето (як правило, швидкодія програми досягається за рахунок подовження коду і навпаки): швидкість роботи - за рахунок оптимізації обчислювального алгоритму і / або більш раціонального звернення до оперативної памяті (ОП) (наприклад, якщо всі вихідні дані зберігаються в регістрах процесора, то можна виключити зайві звернення до ОП), перерозподілу даних, табличного обчислення функцій,обсяг коду (в тому числі за рахунок ефективного використання проміжних результатів). В силу машинної орієнтації («низького» рівня) мови асемблера людині складніше читати і розуміти програму на ньому в порівнянні з мовами програмування високого рівня; програма складається з надто «дрібних» елементів - машинних команд, відповідно, ускладнюються програмування і налагодження, ростуть трудомісткість і ймовірність внесення помилок. Програма на мові високого рівня може бути перекомпільована з автоматичною оптимізацією під особливості нової цільової платформи , програма ж на мові асемблера на новій платформі може втратити свою перевагу в швидкості без ручного переписування коду. 9. команду ret - повернення управління з процедури викликає програмі, команду ret необхідно застосовувати для повернення управління викликає програмі з процедури, управління якою було передано по команді call;
Список литературы
1. Вострикова З. П. Программирование на языке ассемблера ЕС ЭВМ;
2. Владислав Пирогов. Ассемблер и дизассемблирование. - СПБ;
3. Калашников О. А. Ассемблер? Это просто! Учимся программировать;
4. Владислав Пирогов. Ассемблер для Windows. - СПБ;