Формат команд
Програмування на рівні машинних команд — це той мінімальний рівень, на якому ще можливе програмування комп'ютера. Система машинних команд повинна бути достатньої для того, щоб реалізувати необхідні дії, видаючи вказівки апаратурі машини. Кожна машинна команда складається із двох частин: операційної частини, що визначає, «що робити?», і операндной частини обробки, що визначає об'єкти, тобто те, « над чим робити?».
Уся ця інформація, зрозуміло, повинна бути певним чином закодована й формалізована. Відзначимо архітектурний аспект, що цікавить нас.
У машинну команду мікропроцесора явно або неявно входять наступні елементи:
поле префіксів — елемент команди, який уточнює або модифікує дію цієї команди в наступних аспектах:
заміна сегмента, якщо нас із якої-небудь причини не задовольняє сегмент за замовчуванням;
зміна розмірності адреси;
зміна розмірності операнда;
вказівка на необхідність повторення даної команди;
поле коду операції, що визначає дію даної команди. Однієї й тій же команді можуть відповідати кілька кодів операцій залежно від її операндів;
поле операндів; містить від 0 до 2 елементів.
Важливою особливістю машинних команд є те, що вони не можуть маніпулювати одночасно двома операндами, що перебувають в оперативній пам'яті. Це означає, що в команді можуть бути використано один регістр і/або регістр і деякий операнд, який може або безпосередньо перебувати в команді, або розташовуватися в пам'яті.
Із цієї причини можливі тільки наступні комбінації операндів у команді:
регістр — регістр;
регістр — пам'ять;
пам'ять — регістр;
безпосередній операнд — регістр;
безпосередній операнд — пам'ять.
Обробка переривань
По визначенню переривання означає тимчасове припинення основного процесу обчислень для виконання деяких запланованих або незапланованих дій, викликуваних роботою апаратури або програми. Ці дії можуть носити сервісний характер, бути запитами з боку програми користувача на виконання обслуговування з боку операційної системи або бути реакцією на позаштатні ситуації.
Механізм переривань підтримується на апаратному рівні й дозволяє реалізувати як ефективну взаємодію програм з операційною системою, так і ефективне управління програмою апаратною частиною комп'ютера.
Залежно від джерела, переривання класифікуються так:
апаратні, що виникають як реакція мікропроцесора на фізичний сигнал від деякого пристрою комп'ютера (клавіатура, системний таймер, жорсткий диск і т.д.). За часом виникнення ці переривання асинхронні, тобто відбуваються у випадкові моменти часу;
програмні, які викликаються штучно за допомогою відповідної команди із програми (команда int). Вони призначені для виконання деяких дій операційної системи. Ці переривання є синхронними,
виключення — різновид програмних переривань, що є реакцією мікропроцесора на нестандартну ситуацію, що виникла усередині мікропроцесора під час виконання деякої команди програми.
Більш докладно механізм переривань буде обговорюватися пізніше.
