Будь умным!


У вас вопросы?
У нас ответы:) SamZan.ru

Реферат на тему- Особливості програмування у автокодах Виконав Студент 2го курсу ФІСіТ 2 гр

Работа добавлена на сайт samzan.ru: 2016-03-13

Бесплатно
Узнать стоимость работы
Рассчитаем за 1 минуту, онлайн

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ

ДЕРЖАВНИЙ ВИЩІЙ НАВЧАЛЬНИЙ ЗАКЛАД

«Київський національний економічний університет імені Вадима Гетьмана»

Кафедра інформаційного менеджменту

Реферат на тему:

Особливості програмування у автокодах

Виконав 

Студент 2-го курсу

ФІСіТ 2 групи

Ковадло Вадим

Перевірив Потапенко С.Д.

Київ – 2013

 Мов програмування, як і людських мов, придумано багато. Причина - в різноманітності потреб програмістів, в різних рівнях їхньої кваліфікації і в багато чому іншому. Так, початківцям навряд чи варто пропонувати Асемблер, а професіоналові не потрібен Лого. Часто різні мови орієнтовані на різні предметні області. Наприклад, мова Пролог дозволяє зручно описувати логічні взаємозв'язки в навколишньому світі, Логотип дозволяє зручно малювати фігури і забезпечений для цього відповідним набором процедур, а от вирішувати складні математичні завдання з його допомогою краще і не намагатися. Програмістам поки ще не вдалося створити мову, зрозумілу всіх, та й невідомо, чи можливо взагалі його створити, і чи треба.

 Мова програмування - це спосіб запису програм вирішення різних завдань на електронних обчислювальних машинах у зрозумілій        для комп'ютера формі.

 Перші комп'ютери доводилось програмувати двійковими машинними кодами. Проте програмувати таким чином — доволі трудомістка і важка задача. Для спрощення цієї задачі почали з'являтися мови програмування низького рівня, які дозволяли задавати машинні команди в зрозумілішому для людини вигляді. Для перетворення їх у двійковий код були створені спеціальні програми — транслятори. 

Приклад машинного коду і представлення його на асемблері:

 Прикладом мови низького рівня є асемблер. Мови низького рівня орієнтовані на конкретний тип процесора і враховують його особливості, тому для перенесення програми на асемблері на іншу апаратну платформу її потрібно майже цілком переписати. Певні відмінності є і в синтаксисі програм під різні компілятори. Щоправда, центральні процесори для комп'ютерів фірм AMD та Intel практично сумісні і відрізняються лише деякими специфічними командами. А ось спеціалізовані процесори для інших пристроїв, наприклад, відеокарт, телефонів містять суттєві відмінності.

Переваги

За допомогою мов низького рівня створюються ефективні і компактні програми, оскільки розробник отримує доступ до всіх можливостей процесора.

Недоліки

1) Програміст, що працює з мовами низького рівня, має бути високої кваліфікації, добре розуміти будову мікропроцесорної системи, для якої створюється програма. Так, якщо програма створюється для комп'ютера, потрібно знати будову комп'ютера і, особливо, влаштування і особливості роботи його процесора.

2) Результуюча програма не може бути перенесена на комп’ютер або пристрій з іншим типом процесора.

3) Значний час розробки великих і складних програм.

 Мови низького рівня, як правило, використовують для написання невеликих системних програм, драйверів пристроїв, модулів стиків з нестандартним обладнанням, програмування спеціалізованих мікропроцесорів, коли найважливішими вимогами є компактність, швидкодія і можливість прямого доступу до апаратних ресурсів.

 Асемблер — мова низького рівня, що широко застосовується і досі.

 У 1950-х рр.. з'являються перші засоби автоматизації програмування - мови автокодом. Поява мов типу Автокод-Асемблер полегшила  життя програмістам. Числові коди операцій замінилися на мнемонічні (словесні) позначення, які легше запам'ятати. Мова програмування стала більш зрозумілою для людини, але при цьому віддалилась від мови машинних команд. Щоб комп'ютер міг виконувати програми на автокоди, знадобився спеціальний перекладач - транслятор.

  Транслятор - це системна програма, яка перетворює текст програми на автокоді в текст еквівалентної програми. Мови програмування високого рівня є машинно-незалежними мовами. Одна і та ж програма на такій мові може бути виконана на ЕОМ різних типів, з транслятором відповідного рівня оснащеності. Форма запису програм на мовах програмування високого рівня в порівнянні з автокодом, ще ближча до традиційної математичної форми, до природної мови.                                             

Транслятори поділяються на:

1) Компілятори — перетворюють текст програми в машинний код, який можна зберегти і після цього використовувати уже без компілятора (прикладом є виконувальні файли з розширенням *.exe).

2) Інтерпретатори — перетворюють частину програми в машинний код, виконують і після цього переходять до наступної частини. При цьому щоразу при виконанні програми використовується інтерпретатор.    

      Асемблер (англ. assembler) — загальноприйнята назва транслятора з автокоду. Асемблер переводить початкову програму, написану на автокоді, в переміщувану програму на мові машинній. Оскільки асемблер здійснює трансляцію на мову завантажувача, при завантаженні програми необхідне налаштування умовних адрес, тобто адрес, значення яких залежать від розташування даної програми в пам'яті цифрової обчислювальної машини і від її зв'язків з іншими незалежно трансльованими програмами.

 У простому випадку асемблер переводить одне речення початкової програми в один об'єкт (команду, константу) модуля завантаження (т. з. трансляція «один в один»). При цьому взаємне розташування об'єктів в модулі завантаження і, зрештою, в пам'яті машини визначається порядком пропозицій в початковій програмі на автокоді і повністю залежить від програміста. Асемблер виконує і допоміжні функції, такі, як підготовка до друку документів необхідної форми, реєстрація зв'язків даної програми з іншими програмами і т. д. Для цієї мети в автокодах передбачаються команди асемблера, які не породжують об'єктів в робочій програмі і призначені тільки для вказівки допоміжних дій асемблера.

 Трансляція зазвичай вимагає двох переглядів початкової програми: при першому перегляді здійснюється розподіл пам'яті і надання значень символічним іменам; при другому — формується робоча програма у вигляді модуля завантаження. В процесі трансляції асемблер проводить повний синтаксичний контроль початкової програми (див. синтаксичний аналіз програм), забезпечуючи при цьому достатньо точну діагностику помилок за місцем і характером.

 Розширення можливостей автокодів досягається за рахунок використання макрокоманд, що будуються за правилами, близькими до правил написання команд автокоду, але що описують складніші функції, для реалізації яких потрібна група звичайних команд. В цьому випадку перед трансляцією проводиться заміна макрокоманд макророзширеннями — послідовностями команд на базовій мові відповідно до макроозначень. У останніх задається прототип макрокоманди із структурою списку параметрів і процедура генерування макророзширення. Транслятор, що виконує функції макрогенератора і асемблера, називається макроасемблером. При трансляції з мов високого рівня асемблер нерідко використовується для виконання завершальної фази трансляції.

 Машиинний код— набір команд, що може зрозуміти й обробити центральний процесор комп'ютера без транслятора. Кожен тип центрального процесора має власний машинний код. Оскільки машинний код складається повністю з двійкових чисел (бітів), більшість програмістів пишуть програми на мовах програмування високого рівня. Програми, написані такими мовами повинні транслюватися в машинний код, що здійснює компілятор або інтерпретатор програм, до того, як комп'ютер починає їх виконувати.

 Автокод - мова програмування, орієнтована на конкретну цифрову обчислювальну машину.

 Асемблер (assembler) — система програмування, яка включає мову асемблера та транслятор з цієї мови. Є мовою програмування низького рівня. Чим нижчий рівень мови програмування, тим ближча специфіка роботи програми до самого процесора, для якого вона й була написана. Вважається, що мови низького рівня складніші й потребують більш вузької спеціалізації програміста, оскільки програма написана на асемблері для одного типу процесорів виявиться не завжди придатною для роботи з іншими процесорами. З іншого боку програми написані на асемблері компактні та швидкі, що теж є немаловажливим.Поки існують процесори, буде існувати й асемблер.                                 

  Програмні пакети для програмування на мові асемблера

Середовища для розробки: RadASM , WinAsm , ASMedit , Easy Code , Fresh , GSS Visual Assembler

Транслятори: MASM , GAS , fasm , NASM , RosASM , TASM , Yasm , HLASM               

Список літератури:         

  1.  Енциклопедія кібернетики в 2 т. / За ред. В. М. Глушкова. — Київ: Головна редакція Української радянської енциклопедії, 1973.

  1.  Галисеев Геннадий Владимирович Асемблер для Win 32. Самоучитель. Ассемблер для Win 32. Самоучитель. — М.: «Діалектика», 2007. — С. 368. ISBN 978-5-8459-1197-1
  2.  Кіп Ірвін Мова асемблера для процесорів Intel. Мова асемблера для процесорів Intel. — М.: «Вільямс», 2005. — С. 912. ISBN 0-13-091013-9         
  3.  Вікіпедія – Вільна енциклопедія [Електронний ресурс] // http:// uk.wikipedia.org

Диплом на заказ


1. Москва-столица РСФСР
2. I. КАРТА ОБЕСПЕЧЕННОСТИ СТУДЕНТОВ УЧЕБНОЙ И МЕТОДИЧЕСКОЙ ЛИТЕРАТУРОЙ.
3. Тема 1 1. Менеджмент ~ це- Б управління організацією; 2.
4. Савинский детский сад Карагайского района Пермского края Конспект практического за
5. Учет активных операций с ценными бумагами в кредитных организация
6. Если план исследования большего числа групп совершенно недопустимо просто сравнивать их попарно.
7. это средства труда которые многократно участвуют в производственном процессе сохраняя при этом свою натур
8. Французская буржуазная революция
9. Методические рекомендации для выполнения внеаудиторной самостоятельной работы к занятиям по теме- Биохим
10. 1 Описание деятельности организации5 1
11. вариант античного пути развития и его особенности
12. 150
13. Мировые цивилизации в глобализирующемся мире
14. Валютные ценности как объекты гражданских прав
15. Ремонт и модернизация компьютерной техники и периферийного оборудования
16. на тему- Похідна за напрямком і градієнт функції основні властивості
17. Тема 3 Правильность экономической речи
18. социально мировоззренческая общественно политическая Профессиональные склонности- запускающие ме
19.  Кафедра ЭВМиС Разработка системы удаленного контроля приборов ldquo;АЛКОНТrdquo;
20.  3D ~ рендеринг. Этап сканирования объема