Реферат по предмету "Информатика, программирование"


Програмування універсальних мікропроцесорів на мовах Асемблер

Полтавський ВійськовийІнститут Зв’язку
Кафедра схемотехніки радіоелектроннихсистем
 ОБЧИСЛЮВАЛЬНА ТЕХНІКА ТА МІКРОПРОЦЕСОРИ
 
Програмне забезпеченнямікропроцесорних систем.
Програмування універсальнихмікропроцесорів на мовах Асемблер.
Система команд МП IA-32.
Лекціяобговорена і схвалена на засіданні
предметно-методичноїкомісії
Протокол№ ____ від ________
Полтава – 2006

Навчальна література
 
1.        Юров В.Assembler — СПб: Издательство „Питер”, 2001, с. 57-66.
2.        Мікропроцесорнатехніка: Підручник/ Ю.І. Якименко та інш. – К.: ІВЦ Політехніка; Кондор, 2004.с. 49-53, 105-118.
 

ВСТУП
Як і вся інформація, що збережена в пам'яті ЕОМ, командиподаються двійковим кодом. Як говорилося раніше, двійкове подання інформації єоптимальним для ЕОМ, але незручно для сприйняття людиною. Тому припрограмуванні МП застосовується мова асемблер, а для подання адресноїінформації (а по більшій частині і для подання даних) використовуєтьсяшістнадцяткова система числення. Однак, шістнадцяткові коди команд також незанадто зручні для запам'ятовування, тим більше, що в деяких випадках та самакоманда може мати різне шістнадцяткове подання. Тому система команд МП представляється у вигляді мнемокодів асемблера.
По-справжньому вирішити проблеми, зв'язані з апаратурою (абонавіть, більш того, що залежать від апаратури як, наприклад, підвищенняшвидкодії програми), неможливо без знання асемблера.
Програміст або будь-який інший користувач можевикористовувати будь-які високорівневі засоби, аж до програм побудовивіртуальних світів і навіть не підозрювати, що насправді комп'ютер виконує некоманди мови, на якій написана його програма, а їхнє трансформоване (а точніше,відтрансльоване) подання у формі послідовності команд зовсім іншої мови — машинної. А тепер уявимо, що в такого користувача виникла нестандартнапроблема. Наприклад, його програма повинна працювати з деяким незвичайнимпристроєм або виконувати інші дії, що вимагають знання принципів роботиапаратури комп'ютера. І отут без знання асемблера не обійтися. І не випадковопрактично всі компілятори мов високого рівня містять засоби зв'язку своїхмодулів з модулями на асемблері або підтримують вихід на асемблерний рівеньпрограмування.
Програми, написані мовою асемблер, вимагають значно меншогообсягу пам'яті і часу виконання в порівнянні з програмами, написаними набудь-якій мові високого рівня. Саме тому асемблер широко використовується при створеннісистемних програм, особливо драйверів різних пристроїв, основними вимогами дояких є висока швидкодія і компактність.
Знання мови асемблер і результуючого машинного коду даєрозуміння архітектури ЕОМ, що не забезпечується при програмуванні мовою високогорівня. Мови високого рівня створювалися для того, щоб програмувати переважнобез обліку технічних особливостей конкретних комп'ютерів, асемблер жеорієнтований саме на специфіку комп'ютера або, точніше, на специфіку процесора.Мікропроцесори, що належать до різних сімейств, мають, відповідно, свої,системи команд, що істотно розрізняються.
Програмування на асемблері — це дуже трудомісткій,потребуючий великої уваги і практичного досвіду процес. Тому реально наасемблері пишуть, в основному програми, що повинні забезпечити ефективну роботуз апаратною частиною. Іноді на асемблері пишуться критичні за часом виконанняабо витратами пам'яті ділянки програми. Згодом вони оформляються у виглядіпідпрограм і сполучаються з кодом на мові високого рівня.
На попередніх лекціях (тема 6) ми з’ясували особливостіреального та захищеного режимів роботи МП, розглянули принцип формування адресипам’яті МП архітектури IA-32 у реальному та захищеному режимах. Длястворення ефективних та компактних програм існує достатньо широкий вибір типуадресації операндів. Розвинута система команд в свою чергу дозволяє програмістускладати практично будь-які системні та прикладні програми, використовуючимнемокоди асемблера.

1.Типи адресації операндів МП IA-32.
 
Існують такі способи адресації:
Пряма адресація.При такій адресації адреса операнда вказана безпосередньо вкоманді.
Непряма адресація. При такій адресації у форматі команди вказується номер(ім’я) регістра, у якому зберігається адреса комірки пам’яті, яка містить операнд.
Безпосередня адресація.У першому байті команди збезпосередньою адресацією розміщується код операції. Значення операндівзаносяться в команду під час програмування і знаходяться у другому і третьомубайтах. Цими значеннями зазвичай є деякі константи. У процесі виконанняпрограми значення операндів залишаються незмінними, оскільки вони разом ізкомандою розміщуються в ПЗП. Використання такого способу не потребує адресиоперандів.
Автоінкрементна (автодекрементна) адресація.Адреса операнда обчислюється таксамо, як і при непрямій адресації, а потім здійснюється збільшення вмістурегістра: на один-для звернення до наступного байта, на два – для звернення донаступного слова. Розмір операнда визначається кодом операції.
Сторінкова адресація. Під час використання сторінковоїадресації пам'ять поділяється на ряд сторінок однакової довжини. Адресаціясторінок здійснюється або з програмного лічильника, або з окремого регістрасторінок. Адресація пам'яті всередині сторінок здійснюється адресою, щоміститься в команді.
Індексна адресація. Для утворення адреси операнда до значення адресногополя команди додається значення вмісту індексного регістра (SI або DI),яке називається індексом.
Відносна адресація. При відносній адресації адреса операнда визначаєтьсядодаванням вмісту програмного лічильника або іншого регістра із зазначеним укоманді числом.
Базова адресація. Ефективна адреса операнда ЕА обчислюєтьсяскладанням вмісту базових регістрів ВХ або ВР і зміщенням (8- або16-розряднє число).
Базова-індексна адресація.Ефективна адреса операнда ЕАдорівнює сумі вмісту базових регістрів ВХ або ВР, індекснихрегістрів SI або DI та зміщення. Базова та індексна адресаціязастосовуються для звернення до елементів одновимірного масиву, Базова –індексна – до двовимірного масиву.
Дотепер ми вживали терміни «виконавча (або ефективна)адреса» і «внутрішньосегментний зсув» як синоніми, що є вірнимлише для єдиного, найпростішого режиму адресації, що називається прямоюадресацією. У дійсності ж система команд МП ІA‑32 передбачає 11режимів адресації, у більшості з яких зсув є лише одним з компонентів,використовуваних для обчислення ефективної адреси. При цьому тільки в двохвипадках операнди не зв'язані з пам'яттю. Це операнд — вміст регістра, щобереться з будь-якого регістра процесора і безпосередній операнд, щоутримується в самій команді. Інші дев'ять режимів так чи інакше звертаються допам'яті.
При звертанні до пам'яті ефективна адреса ЕАобчислюється по формулі:
EA = Base +Index* Scale +Disp
з використанням наступних компонентів:
— Зсув (Dіsplacement або Dіsp) — 8, 16 або 32-бітнечисло, включене у команду;
— База (Base) — вміст базового регістра. Звичайновикористовується для вказівки на початок деякого масиву;
— Індекс (Іndex) — вміст індексного регістра. Звичайно використовуєтьсядля вибору елемента масиву;
— Масштаб (Scale) — множник (1, 2, 4 або 8), зазначений у кодіінструкції. Цей елемент використовується для вказівки розміру елемента масиву,доступний тільки при 32-бітній адресації.
Окремі доданки в цій формулі можуть бути відсутніми.
Обчислення ефективної адреси пояснюється схемою,представленої на рис. 1. Можливі режими адресації представлені в таблиці 1.
Процесори ІA-32 можуть працювати з 32-бітною або16-бітною адресацією. 16-бітна адресація функціонує так само, як у МП І8086,при цьому як компоненти адреси використовуються молодші 16 біт відповіднихрегістрів. Як говорилося вище, у реальному режимі за замовчуваннямвикористовується 16-бітна адресація, однак є можливість для поточної інструкціїпереключитися на 32-бітну. При 32-бітній адресації застосовуються розширені32-розрядні регістри і додаткові режими з масштабуванням індексу. Однакзначення ефективної адреси, що обчислюється, усе рівно не може вийти за64-килобайтний бар'єр — при спробі використання ЕА, що виходить за межусегмента генерується виключення #GP (General Protectіon Fault).
/>
 
 
 
 
 
 
 
 

ЕА
Рис. 1. Обчислення ефективної адреси

Таблиця 1
Режим
Адреса Пряма адресація
EA = Disp Непряма регістрова адресація
EA = Base Базова адресація
EA = Base +Disp Індексна адресація
EA = Index +Disp Масштабована індексна адресація
EA = Index* Scale +Disp (*) Базово-індексна адресація
EA = Base +Index Масштабована базово-індексна адресація
EA = Base +Index* Scale (*) Базово-індексна адресація зі зсувом
EA = Base +Index +Disp (*) Масштабована базово-індексная адресація зі зсувом
EA = Base +Index* Scale +Disp
 (*)- масштабування індексу можливо тільки при 32-бітнійадресації.
 
Нагадаємо, у цій ситуації при 16-бітній адресації простоігнорується перенос у розряд А16 і сегмент «звертається вкільце».
Засоби контролю стежать і за переходом через границю сегментапід час звертання до «прикордонної» адресі. При спробі адресації дослова, що має зсув FFFF16 або до подвійного слову зі зсувом FFFD16 — FFFF16 (їх старші байти виходять за межу сегмента), абовиконання інструкції, хоча б один байт якої не уміщається в даному сегменті,процесор також виробляє виключення #GP.
У захищеному режимі також можливе переключення 16-и і32-бітної адресації.
Розходження між режимами адресації при використанні 16-и і32-бітної адресації показані в таблиці 2.
Таблиця 2.
Компонент
16-бітна адресація
32-бітна адресація Базовий регістр ВХ або ВР Будь-який 32-бітний регістр загального призначення. Індексний регістр SI або DI Будь-який 32-бітний регістр загального призначення, крім ESP Масштаб Немає (завжди 1) 1, 2, 4, 8 Зсув 0, 8, 16 біт 0, 8, 32 біт
Як видно з таблиці, при 32-бітній адресації функціональнепризначення регістрів МП фіксовано менш жорстко.
2. Класифікація і формати команд МПIA-32
 
Сукупність команд, що можуть бути виконані конкретниммікропроцесором, називаєтьсясистемою команд мікропроцесора.
Команда визначає операцію, яку має виконати МП над даними.Команда містить у явній або неявній формах інформацію про те, де будерозміщений результат операції, а також про адресу наступної команди. Обсяг,займаний командою в пам'яті, складає декілька байт і залежить від призначеннякоманди. У загальному випадку формат команди містить операційну та адреснучастини. Команди містять однобайтний або двохбайтний код інструкції, за якимможуть випливати декілька байт, що визначають режим виконання команди, іоперанди (об'єкти, над якими або за допомогою яких виконується команда). Командиможуть використовувати від нуля до трьох операндів. Нагадаємо, що операнд –це об'єкт у вигляді значення даних, вмісту регістрів або вмісту комірокпам'яті, з яким оперує команда.
Система команд МП сімейства Іntel 80X86 містить кілька сотеньінструкцій, що мають різне функціональне призначення.
Можна навести такукласифікацію команд МП сімействаІntel 80X86:
-        інструкції пересилання даних,
-        інструкції введення-виведення,
-        інструкції двійкової арифметики,
-        інструкції десяткової арифметики,
-        інструкції логічних операцій,
-        зсуви й обертання (циклічні зсуви),
-        інструкції обробки біт і байт,
-        команди передачі керування,
-        умовні переходи,
-        інструкції виклику процедури,
-        строкові операції,
-        операції з прапорами,
-        інструкції завантаження покажчиків,
-        інструкції математичного співпроцесора,
-        інструкції пакетів мультимєдійних розширень (MMX,SSE),
-        системні інструкції.
Програма на асемблері являє собою сукупність блоків пам'яті,які називаються сегментами пам'яті. Програма може складатися з одного абодекількох таких блоків-сегментів. Кожен сегмент містить сукупність речень мови,кожне з яких займає окремий рядок коду програми.
Речення, що складають програму, можуть являти собоюсинтаксичну конструкцію, що відповідає команді, макрокоманді, директиві абокоментареві:
— команди або інструкції являють собою символічні аналогимашинних команд. У процесі трансляції інструкції асемблера перетворяться увідповідні команди мікропроцесора;
— макрокоманди — оформлені певним чином речення текступрограми, що заміщаються під час трансляції іншими реченнями — як правило,істотно великими за обсягом;
— директиви є вказівкою трансляторові асемблера на виконаннядеяких дій. У директив немає аналогів у машинному поданні;
— рядки коментарів, що містять будь-які символи, у тому числіі літери російського алфавіту. Коментарі ігноруються транслятором.
/>Для того щоб транслятор асемблера мігрозпізнати речення, вони повинні формуватися по визначеним синтаксичнимправилам. Ці правила можуть бути формалізовані на зразок правил граматики.Найбільш розповсюджений і зрозумілий спосіб такого опису мови програмування — синтаксичні діаграми. Наприклад, синтаксис речень асемблера можна описати задопомогою синтаксичної діаграми, представленої на рис.2.
Рис. 2.Формат реченьасемблера.
Синтаксичні діаграми, що пояснюють формат директив, команд імакрокоманд асемблера, представлені на рис. 3 і 4 відповідно.
/>
Рис. 3.Формат директивасемблера.

/> 
 
 
 
 
 
 

Рис. 4. Формат команд імакрокоманд
На цих рисунках:
— ім'я мітки — ідентифікатор, значенням якого є адресапершого байта того речення тексту програми, що він позначає;
— ім'я — ідентифікатор, що відрізняє дану директиву відінших директив;
— код операції (КОП) і директива — це мнемонічні позначеннявідповідної машинної команди, макрокоманди або директиви транслятора;
— операнди — описуються виразами з числовими і текстовимиконстантами, мітками і ідентифікаторами змінних з використанням знаків операційі деяких зарезервованих слів.
Використовувати синтаксичні діаграми дуже просто: для цьогопотрібно знайти шлях від входу діаграми (ліворуч) до її виходу (праворуч). Якщотакий шлях існує, то речення або конструкція синтаксично правильні. Якщо такогошляху немає, цю конструкцію компілятор не прийме. По суті, синтаксичні діаграмивідповідають логіці роботи транслятора при розборі вхідних речень програми.
Припустимими символами при написанні тексту програм є:
1.      усі латинські букви: A-Z, a-z. При цьому заголовні імалі літери вважаються еквівалентними;
2.      цифри від 0 до 9;
3.      знаки ?, @, $, _, &;
4.      роздільники,. [ ] ( ) { } + / * %! '"? \ = # ^.
Речення асемблера формуються з лексем, що представляють собоюсинтаксично нероздільні послідовності припустимих символів мови, що мають змістдля транслятора.
Лексемами є:
— ідентифікатори — послідовності припустимих символів, що використовуютьсядля позначення таких об'єктів програми, як коди операцій, імена змінних і назвиміток. Правило запису ідентифікаторів полягає в наступному: ідентифікатор можескладатися з одного або декількох символів; як символи можна використовувати буквилатинського алфавіту, цифри і деякі спеціальні знаки — _, ?, $, @.Ідентифікатор не може починатися символом цифри. Довжина ідентифікатора можебути до 255 символів, хоча транслятор сприймає лише перші 32, а інші ігнорує.
— ланцюжки символів — послідовності символів, укладені водинарних або подвійних лапках;
— цілі числа в одній з наступних систем числення: двійкової,десяткової, шістнадцяткової.
Ототожнення чисел при записі їх у програмах на асемблерівиконується за визначеними правилами:
— Десяткові числа не вимагають для свого ототожнення вказівкияких-небудь додаткових символів, наприклад 25 або 139.
— Для ототожнення у вихідному тексті програми двійкових чиселнеобхідно після запису нулів і одиниць, що входять у їхній склад, поставитилатинське "b", наприклад 10010101b.
— Шістнадцяткові числа мають більше умовностей при своємузаписі. У транслятора можуть виникнути труднощі з розпізнаваннямшістнадцяткових чисел через те, що вони можуть складатися як з одних цифр 0...9(наприклад 190845), так і починатися з букви латинського алфавіту (наприклад ef15).Для того щоб «пояснити» трансляторові, що дана лексема не єдесятковим числом або ідентифікатором, програміст повинний спеціальним образомвиділяти шістнадцяткове число. Для цього на кінці послідовності цифр, щоскладають шістнадцяткове число, записують латинську букву «h». Якщошістнадцяткове число починається з літери, то перед ним записується ведучийнуль: 0ef15h.
Практично кожне речення мовою асемблер містить опис одногоабо декількох операндів.
Можливо провести наступну класифікацію операндів:
— постійні або безпосередні операнди,
— адресні операнди,
— переміщувані операнди,
— лічильник адреси,
— регістровий операнд,
— базовий і індексний операнди,
— структурні операнди,
— записи.
Перелічимо тепер можливі типи операторів асемблера.
— арифметичні оператори,
— оператори зсуву,
— оператори порівняння,
— логічні оператори,
— індексний оператор,
— оператор перевизначення типу,
— оператор перевизначення сегмента,
— оператор іменування типу структури,
— оператор одержання сегментної складової адреси виразу,
— оператор одержання зсуву виразу.
Операнди та операнди – це складові частини виразів. Виразиявляють собою комбінації операндів і операторів, розглянуті як єдине ціле.
Результатом обчислення виразу може бути адреса деякої коміркипам'яті або деяке константне (абсолютне) значення.Як і в мовах високого рівня,виконання операторів асемблера при обчисленні виразів здійснюється відповіднодо їх пріоритетів. Операції з однаковими пріоритетами виконуються послідовнозліва на право. Зміна порядку виконання можлива шляхом розміщення круглихдужок, що мають найвищий пріоритет.
Розглянемо декілька базових операторів найбільш простих ірозповсюджених типів, що дозволяють створювати найпростіші програми. Усіприклади подані для реального режиму роботи МП ІA-32. Крім того, усічисла в цих прикладах є шістнадцятковими, однак буква h наприкінці числаопущена, а також не використовуються мітки й імена констант і змінних.
1. mov , . Це — основна команда пересилання даних загального призначення. Вонареалізує найрізноманітніші варіанти пересилання.
Наприклад:
MOV AL,03 — помістити число 03 у молодшу половину (байт)регістра АХ. Тут 03 — безпосередній операнд, а AL — регістровий операнд.Регістровий операнд — це просте ім'я регістра. У програмі на асемблері можнавикористовувати імена всіх регістрів загального призначення і більшостісистемних регістрів.
MOV AХ,DX — пересилання значення з регістра DX у AX. Тутобоє операнди — регістрові.
MOV AХ,0000 — очищення акумулятора.
MOV [0023],AХ — пересилання вмісту акумулятора в коміркупам'яті за адресою DS:0023. Зверніть увагу на те, що без використанняпрямокутних дужок ця команда була б безглуздою і транслятор у цьому випадку видавби повідомлення про помилку. Саме використання таких дужок дає можливістьтрансляторові інтерпретувати перший операнд не як безпосереднє число, а яквміст комірки пам'яті, розташованої за адресою DS:0023. Тобто, число впрямокутних дужках сприймається як зсув логічної адреси комірки пам'яті.
MOV СХ,[0023] — пересилання вмісту комірки пам'яті заадресою DS:0023 у CX.
2. add ,. Цякоманда призначена для додавання двох цілочисельних операндів (джерело іприймач) розмірністю байт, слово або подвійне слово. При цьому результатдодавання міститься за адресою першого операнда (приймач).
Наприклад:
ADD DX,03 — збільшує на 3 значення регістра DX. Операндитут, як у попередній команді, можуть бути безпосередніми, регістровими і т.д.
3. sub ,. Ця командапризначена для виконання цілочисельного віднімання першого операнда з другого,результат міститься в приймач.
Приклад:
SUB DX,AX — значення регістра DX віднімається з AX, результатміститься в DX.
4. mul . Ця команда виконуємноження двох цілих чисел без обліку знака. Алгоритм залежить від форматуоперанда команди і вимагає явної вказівки місця розташування тільки одногоспівмножника, що може бути розташований у пам'яті або в регістрі. Місцерозташування другого співмножника фіксоване і залежить від розміру першогоспівмножника:
— якщо операнд, зазначений у команді — байт, то другийспівмножник повинний розташовуватися в AL (молодшій половині акумулятора);
— якщо операнд, зазначений у команді — слово, то другийспівмножник повинний розташовуватися в AX.
Результат множення міститься також у фіксованому місці,обумовленому розміром співмножників:
— при множенні байтів результат міститься в AX;
— при множенні слів результат міститься в пару DX:AX;
Наприклад:
MUL BL — робить цілочисельне множення без обліку знака вмістумолодшої половини регістра BX на вміст молодшої половини акумулятора. Результатміститься в акумуляторі.
5. dіv . Команда виконуєоперацію цілочисельного ділення двох двійкових беззнакових значень с видачеюрезультату у вигляді частки і залишку від ділення. Для виконання командинеобхідне завдання двох операндів — діленого і дільника. Ділене задаєтьсянеявно і розмір його залежить від розміру дільника, що вказується в команді:
— якщо дільник розміром у байт, то ділене повинно бутирозташоване в регістрі AX. Після операції частка міститься в AL, а залишок — уAH;
— якщо дільник розміром у слово, то ділене повинно бутирозташоване в парі регістрів DX:AX, причому молодша частина діленого знаходитьсяв AX. Після операції частка міститься в AX, а залишок — у DX.
Наприклад:
DІV 08 — робить цілочисельне ділення без знака вмісту акумулятора на 08.
Варто пам'ятати, що при виконанні операції ділення можливевиникнення виняткової ситуації: 0 — помилка ділення. Ця ситуація виникає водному з двох випадків: дільник дорівнює 0 або частка занадто велика для йогорозміщення в регістрі AX/AL.
6. іnc . Команда робить збільшеннязначення операнда в пам'яті або регістрі на 1. Наприклад:
ІNC BL — збільшує значення, що утримується в молодшійполовині регістра BX на 1. Команда може бути корисна при організації циклів.
7. dec . Команда робить зменшення значенняоперанда в пам'яті або регістрі на 1. Наприклад:
DEC BL — зменшує значення, що утримується в молодшій половинірегістра BX на 1.
8. pop . Команда призначена для добуванняслова зі стека (вмісту вершини стека) у комірку пам'яті або регістр. Алгоритмроботи:
— завантажити в приймач вміст вершини стека (адресуєтьсяпарою SS:SP);
— збільшити вміст SP на 2 байти.
Варто пам'ятати, що неприпустимий добування слова всегментний регістр CS.
9. push . Команда призначена для розміщеннявмісту операнда «джерело» у стеці. Використовується разом з командоюРОР для запису значень у стек і добування їх зі стека Алгоритм роботи:
— зменшити значення покажчика стека SP на 2;
— записати джерело у вершину стека (яка адресується пароюSS:SP).
У стек можна записувати як вміст регістрів або комірокпам'яті, так і безпосередні значення. На відміну від команди РОР у стек можнавключати значення сегментного регістра CS. При записі в стек 8-бітних значеньдля них усе рівно виділяється слово.
10. ret. Призначена для повернення керування зпроцедури викликаючої програми. Команда досить багатофункціональна і може матичисловий операнд. У найпростішому випадку може використовуватися без додатковихпараметрів як команда завершення програми.
У заключній частині заняття лектор підводить підсумки заняття відповідаєна питання курсантів, звертає їх увагу на основні визначення та поняття, якібули розглянуті на лекційному занятті, рекомендує, які питання буде доцільнододатково розглянути на самостійній підготовці та повідомляє перелік рекомендованоїлітератури. Крім того, лектор повідомляє курсантам тему наступного заняття таформу проведення поточного контролю на ньому.
 

В И С Н О В О К
 
Усі процеси в машині на найнижчому, апаратному рівніприводяться в дію тільки командами (інструкціями) машинної мови. Сукупністькоманд, що можуть бути виконані конкретним мікропроцесором, називаєтьсясистемою команд мікропроцесора.
Мікропроцесори, що належать до різних сімейств, мають,відповідно, свої, що істотно розрізняються системи команд. Система команд МП ІA‑32передбачає 11 режимів адресації, у більшості з яких зсув є лише одним зкомпонентів, використовуваних для обчислення ефективної адреси.
При цьому тільки в двох випадках операнди не зв'язані зпам'яттю. Це операнд — вміст регістра, що береться з будь-якого регістрапроцесора і безпосередній операнд, що утримується в самій команді. Інші дев'ятьрежимів так чи інакше звертаються до пам'яті.
Мова асемблер для кожного типу комп'ютера своя. Знання мови асемблері результуючого машинного коду дає розуміння архітектури ЕОМ, що незабезпечується при програмуванні мовою високого рівня. Мови високого рівнястворювалися для того, щоб програмувати переважно без обліку технічнихособливостей конкретних комп'ютерів, асемблер же орієнтований саме на специфікукомп'ютера або, точніше, на специфіку процесора.


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Правовая концепция иностранных инвестиций в России
Реферат «Все опасные излучения мониторов и способы защиты»
Реферат Кимвры
Реферат Психологический парадокс человека: общая концепция
Реферат Мое отношение к роману М.А.Шолохова "Поднятая целина" и его героям
Реферат лекции по архитектуре ВС
Реферат Казусы по Законам Хаммурапи
Реферат Становление основ регулирования образовательной деятельности в Российской Империи
Реферат Тенденции развития технико-криминалистических средств обнаружения, фиксации, изъятия и исследования наркотиков
Реферат Научитесь общаться
Реферат Интерпретация квантовомеханических представлений с позиций волнового описания системности физических
Реферат Роман Достоевского "Идиот"
Реферат Мэйдзи: император и революция
Реферат Управление капиталом, вложенным в имущество предприятия
Реферат Шельф его строение и полезные ископаемые