Page 190 - 149
P. 190
XTHL ; обмін ( H, L) і SP
Програма - асемблер має знайти двійковий еквівалент вмісту поля
операнда і підставити його ( в залежності від типу команди) в певні біти коду
операції, в другий байт 2- байтової команди або у другий і третій байт 3-
байтових команд. Обраховане двійкове значення вмісту поля операнда
вирівнюється зправа і має вкладатись в діапазон, визначений змістом
команди. В іншому випадку фіксується хибне поле операнда.
Поле операнда стандартного асемблера МП 8080 може містити
інформацію таких типів: числові і символьні безпосередні дані, внутрішні
регістри і регістрові пари, адреси пам’яті. Розглянемо способи визначення
інформації вказаних типів.
Шістнадцяткові дані. Шістнадцяткове число в полі операнда має
починатись з цифр 0-9 і завершуватись буквою Н (Нех). Число, яке
починається з букв А-F, доповнюється зліва нулем. Приклади завдання
шістнадцяткових чисел:
Мітка Код Операнд Коментар
STORE: STA 8000Н ; Запам’ятати в комірці 8000
MVI С,ОААН ; Запам’ятати в регістр
ANI ; С код 10101010
COMP: CPI 10Н ; Виділення четвертого біта
290Н ; Недопустимий операнд
Десяткові дані. Десяткове число в полі операнду закінчується
необов’язково буквою D (Decimal). Приклади завдання десяткових чисел:
Мітка Код Операнд Коментар
MVI B,15 ; Завантажити в регістр В
; код 00001111
ADI 1 D ; інкремент акумулятора
ANI 64 ; виділення шостого біту
IN 32 ; ввід із порту з адресою
; 00100000
Вісімкові дані. Кожне вісімкове число в полі операнда закінчується
буквою О (Octal). Частіше вісімкову систему ідентифікують буквою Q, щоб
відрізнити букву О від цифри 0. Приклади вісімкових чисел:
Мітка Код Операнд Коментар
ORI 200Q ; Установка старшого біта
SUI 1Q ; Декремент акумулятора
MVI H,777Q ; Хибний операнд
Двійкові дані. Двійкове число в полі операнда закінчується буквою
В(Binary). Приклади визначення двійкових чисел:
191