Мова Асемблера, її можливості та команди. Розробка алгоритму програми, його реалізація в програмі на мові Асемблера. Введення елементів матриці та обчислення cуми елементів, у яких молодший біт дорівнює нулю. Методи створення програми роботи з матрицями.
Мнемокод визначає загальну функцію команди незалежно від типу адресації, а операнд задає дані, що беруть участь в ній, одним з типів адресації. При асемблюванні кожна команда мови породжує одну машинну команду, а вся початкова програма - обєктну (двоїчну) програму. Оскільки обєктна програма повинна розташовуватися в конкретній області памяті, в початковій програмі має бути задана її початкова адреса, по якій при асемблюванні обчислюються абсолютні адреси розміщення всіх команд. Програмування на мові Асемблера вважається складною задачею, по причинам: Мова Асемблера будь якого процесора суттєво складніша будь-якої високорівневої мови. Програміст, який використовує мову асемблера повинен сам слідкувати за розподілом памяті та вмістом регістрів, щоб коректно розподіляти і оперувати памяттю, в мовах високого рівня це робиться автоматично при допомозі компілятора, але ця обставина має перевагу: можна оптимально розташувати дані в памяті, забезпечити максимальну швидкість виконання та мінімальну довжину програми.В цій курсовій роботі необхідно розробити алгоритм програми і реалізувати його в програмі на мові асемблера.Для реалізації цієї програми були використані такі команди: Mov - команда пересилки данних, примітка: Данні передаються з другого операнда в перший. Значення другого операнда не змінюється. Лише один з операндів може бути сегментним регістром. Add - складання двох операндів - джерело і приймач, розмірністю байт - слово або подвійне слово. Cmp - порівняння двох операндів, виконати віднімання (операнд1-операнд2), залежно від результату встановити прапори (флаги), операнд1 і операнд2 не змінювати (тобто результат не запамятовувати).Для об’явлення розмірності матриці використовуємо змінну n. Для того щоб елементи матриці були порожні використовуємо директиву dup (?). n equ 3 mas dw n*n dup (?) Об’явлення матриці розмірністю 3 на 3, де в регістрі si буде зберігатись індекс елементу матриці mov cx,n*n; За допомогою процедури call read вводимо елементи матриці, цей елемент буде зберігатись в регістрі ax. Цикл для проходження по елементам матриці: В регістрі cx буде зберігатись розмірність матриці n*n.Після запуску програми вводимо елементи масиву, програма виведе результат на консоль.Асемблер - мова низького рівня, команди якої відповідають інструкціям процесора обчислювальної системи. Трансляція програми у виконуваний машинний код здійснюється асемблером - програмою - транслятором, яка і дала назву мові асемблер (збирач). Максимально оптимальне використання ресурсів процесора, використання меншої кількості команд і звернень в память, і як наслідок - велика швидкість і менший розмір програми. Найчастіше компілятор мови високого рівня, завдяки сучасним алгоритмам оптимізації, дає більш ефективну програму..
План
Зміст
Вступ
1. Постановка завдання
2. Методи і засоби рішення поставленого завдання
3. Методи створення програми роботи з матрицями
4. Контрольній приклад роботи програми
Висновки
Література
Додатки
Вывод
Асемблер - мова низького рівня, команди якої відповідають інструкціям процесора обчислювальної системи. Трансляція програми у виконуваний машинний код здійснюється асемблером - програмою - транслятором, яка і дала назву мові асемблер (збирач).
Максимально оптимальне використання ресурсів процесора, використання меншої кількості команд і звернень в память, і як наслідок - велика швидкість і менший розмір програми. Використання розширених наборів інструкцій процесора.
Доступ до портів введення-виведення і особливих реєстрів процесора.
Великі обсяги коду, велика кількість додаткових дрібних завдань, менша кількість доступних для використання бібліотек, у порівнянні з мовами високого рівня. Трудомісткість читання та пошуку помилок. Найчастіше компілятор мови високого рівня, завдяки сучасним алгоритмам оптимізації, дає більш ефективну програму. Непереносимість на інші платформи, крім сумісних. Асемблер складніший для спільних проектів. В підсумку можна сказати - в тих областях, де необхідно проводити обчислення з великими числами за алгоритмами довгої арифметики, які будуть розглядатися далі, велику роль грає їх ефективність.
В цій курсовій роботі було вивчено теоретичний матеріал, розроблено і реалізовано алгоритм програми за допомогою мови асемблер. У програмі виводиться сума елементів матриці 3Х3, у яких молодший біт дорівнює нулю.