Курсовая работа: Проектування комп'ютера
(000011111111) 2= (0377) 8=
(0FF) 16;
Мнемонічне кодування спрощує
процес написання, читання і відлагодження програми. Основний принцип такого кодування
- кожна команда представляється 3-х або 4-х буквеним символом, який показує назву
команди. Деякі приклади мнемонічного кодування:
ADD - додати (add),
SUB - відняти (subtract),
MPY - перемножити (multiply),
DIV - поділити (divide).
Операнди також представляються символічно. Наприклад
команда ADD R Y означає додавання вмісту комірки пам'яті Y до вмісту регістра R.
Зауважимо, що операція виконується над вмістом, а не над адресою комірки пам'яті
та регістра.
Таким чином, з'являється можливість написання машинних
програм в символічній формі. Повний набір символічних назв і правила їх використання
утворюють мову програмування, відому як асемблерна мова. Символічні імена називаються
мнемонічними, а правила їх використання для створення команд і програм називаються
синтаксисом мови.
Програма, яка переводить із мнемонічного коду асемблерної
мови в машинний, називається асемблером. Команди, які використовуються для переводу
вихідної програми в асемблерну, називаються командами асемблера. Ці команди вказують
як інтерпретувати назви, де розмістити програму в пам'яті, яка кількість комірок
пам'яті необхідна для зберігання даних.
Способи адресації
Варіанти інтерпретації бітів (розрядів) поля адреси з метою знаходження
операнда називаються способами адресації. Коли команда вказує на операнд, він може
знаходитись в самій команді, в основній або зовнішній пам'яті чи в регістровій пам'яті
процесора. За роки існування комп'ютерів була створена своєрідна технологія адресації,
яка передбачає реалізацію різних способів адресації, чому послужило ряд причин:
забезпечення ефективного використання розрядної сітки команди; забезпечення ефективної
апаратної підтримки роботи з масивами даних; забезпечення задання параметрів операндів;
можливість генерації великих адрес на основі малих. Існує велика кількість
способів адресації. Розглянемо п’ять основних способів адресації операндів в командах.
Пряма - в цьому випадку
адресне поле зберігає адресу операнда. Її різновидом є пряма регістрова адресація,
яка адресує не комірку пам’яті а номер регістру.
Безпосередня - в поле
адреси команди поміщається не адреса, а сам операнд.
Непряма - в полі адреси
команди зберігається адреса комірки пам’яті в якій знаходиться адреса операнда.
Такій спосіб дозволяє оперувати з адресами як з даними. Різновид непряма-регістрова
адресація, адреса адреси зберігається в регістрі загального призначення.
Відносна - адреса формується,
як сума з двох доданків: бази, яка зберігається в спеціальному регістрі чи в одному
з регістрів спеціального призначення, та зміщення, яке задається в полі адреси команди.
Різновид індексна та базова індексна. При індексній замість базового регістра є
індексний, який автоматично модифікується (зазвичай збільшується на 1). Базова-індексна
адресація формується адреса як сума трьох доданків: бази, індексу та зміщення.
Безадресна - поле адреси
в команді відсутнє. Адреса операнда, або немає змісту або є по замовчуванню (наприклад
дії на спеціальним регістром - акумулятором). Безадресні команди неможливо використати
для інших регістрів чи комірок пам’яті. Одним з різновидів безадресної адресації
є використання стеку. В команду вводяться спеціальні ознаки з тим, щоб пристрій
керування міг розпізнати використаний спосіб. Це можуть бути додаткові розряди в
команді, або для різних типів команд закріплюватись різні способи адресації.
Вихідні дані на проектування
Варіант №9 |
№ |
Арифметичні |
Логічні |
Керування |
Прапорці |
Адресація |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
1 |
2 |
3 |
9 |
3 |
5 |
9 |
1 |
2 |
17 |
2 |
10 |
ZF |
2 |
3 |
5 |
1 |
1.
Реалізація додаткових команд. Необхідно реалізувати
8 додаткових команд. Серед них 3 арифметичні, 3 логічні та 2 команди керування згідно
варіанту. В таблиці представлено повний перелік множини інструкцій.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8 |