
- •Тема 1.Системи відліку
- •Тема 2.Пеpевод чисел із однієї системи відліку в іншу
- •Тема 3.Представлення чисел в еом
- •Тема 4.Двійкова арифметика
- •Тема 5.Арифметичні дії над числами з плаваючою комою
- •Тема 6.Аpхітектуpа мікpопpоцесоpа кр580вм80
- •Мультиплексор
- •Тема 7.Пpогpамна модель мп кр580вм80а
- •Тема 8. Методи адpесацiї
- •Тема 9. Машина мова та асемблер
- •Тема 10. Загальна архітектура еом
- •Центральний процесор
- •Запам’ятовуючі пристрої
- •Пристрій введення-виведення
- •Регістри
- •Тема 11. Система команд
- •Групи команд
- •Алгоритм виконання команд
- •Тема 12.Склад команд мп кр580вм80 Склад команд аpифметичних дій мп кр580вм80
- •Додавання з подвійною точністю
- •Операції віднімання
- •Віднімання з позикою
- •Команди інкрементування і декрементування
- •Склад команд передачі даних
- •Команди прямої адресації
- •Додаткові команди
- •E 0101 0111 e не змінюється
- •Склад команд логічних операцій
- •18. Cmc Cy Діє лише на біт Cy.
- •Команди розгалуження і переходів
- •Команда виклику підпрограми
- •Склад команд управління
- •Така задача виникає при аналізі станів сукупності тумблерів, пускачів, перемикачів або індикаторів.
- •Тема 13. Псевдокоманди мп кр580вм80
- •Програма
- •Програма
- •Програма
- •Приклад 10. Додавання десяткових чисел
- •П рограма Алгоритм
- •Тема 14. Директиви умовного асемблювання
- •Тема 15. Макрокоманди
- •Тема 16. Одно та двохпрохідний асемблери
- •Тема 17. Представлення інформації в полях назв, операцій, операндів та коментарів
- •Використання в адресних виразах арифметичних або логічних операціях для всіх типів даних.
- •Приклад 11. Таблиця квадратів
- •Програма Алгоритм
- •Тема 18. Літерно-цифровий код
- •Обробка символьної інформації
- •Приклад 12. Довжина рядка символів в коді ascii
- •Програма Алгоритм
- •Тема 19. Структура управління мп Intel 8080
- •Тема 20. Конструювання програм
- •Структурне програмування
Тема 16. Одно та двохпрохідний асемблери
Більшість асемблерів є двохпрохідними, так як для отримання правильного об’єктного коду вони здійснюють два перегляди початкової програми. Під час першого проходу асемблер створює таблицю символів та збирає всі імена, визначенні в програмі; під час другого проходу він транслює програму, використовуючи інформацію, що зібрана при першому проході. В загальному випадку символічні імена можуть бути визначені в будь-якому місці програми, оскільки в будь-якому випадку асемблер переглядає всю програму. Але програмісту буває зручно розміщати всі визначення на початку програми. Більшість двохпрохідних асемблерів тимчасово записують транслюєму програму на диск, так що повторне введення даних з зовнішнього носія не вимагається.
Крім двохпрохідних асемблерів часто використовуються однопрохідний асемблер, який працює швидше, так як повинен переглядати програму один раз. Але в однопрохідних асемблерах виникає проблема посилання вперед; часто такі посилання оброблює завантажувач. В загальному випадку однопрохідні асемблери задовольняють менше можливостей, ніж двохпрохідні. Крім того вони вносять додаткові обмеження на способи завдання адрес, використання імен, розподілення пам’яті або потребують більш складного завантаження, який виконує частину функцій асемблера в процесі завантаження програми в пам’ять.
Тема 17. Представлення інформації в полях назв, операцій, операндів та коментарів
Поле назв |
Поле операцій |
Поле операндів |
Поле коментарів |
ABC@2: |
ADI |
08h |
;додавання безпосереднє |
Поле назв призначено для запису символічного найменування оператору і використовується в двох випадках:
а) при організації символічних посилань на пойменовані оператори;
б) при ідентифікації елементів програми.
Якщо символічне ім’я в полі назв використовується для організації символічних посилань на пойменовані оператори, то воно називається міткою. Мітка містить від одного до 6 алфавітно-цифрових знаків (латинські букви від А до Z, цифри від 0 до 9 і символи ? та @), причому перший знак не повинен бути цифрою, і закінчується двокрапкою.
Поле операцій містить або мнемонічне ім’я машинної команди або ім’я псевдокоманди, або оператори макровизначення або макровиклику і відокремлюється одним або декількома проміжками.
В полі операндів визначені дані над якими буде виконана операція, або до яких буде застосована псевдокоманда. Це поле може бути вільним, визначати один або два операнда, що записані через кому. Якщо використовуються два операнда (при виконані команд передачі даних), перший зберігає результат виконання операції, а другий – вхідні дані.
Інформацію, що використовується в області операндів, можна представити регістрами; парами регістрів; безпосередньо даними; 16 – бітовими адресами. Вона може бути визначена за допомогою 16-х, 10-х, 8-х або 2-х даних; лічильника команд; рядка символів; імен, значення яких визначені псевдокомандами SET та EQU ; міток операторів; виразів; машинних команд.
16 – H, 10 – D або без букви; 8 – Q або O; 2 – B.
Адресне поле може бути визначене декількома способами:
Як число в шістнадцятковій, десятковій, вісімковій або в двійковій системі відліку.
З використанням поточного значення лічильника адреси.
Рядком символів в коді ASCII.
За допомогою символічних імен.
З використанням арифметичних або логічних виразів.