![](/user_photo/2706_HbeT2.jpg)
- •Системне програмування
- •Машинні коди. Байт Способу Адресації.
- •Способи адресації
- •Приклади адресації
- •Визначення даних в мові Assembler
- •[Ім’я] Dn вираз
- •Директива визначення байта (db)
- •Директива визначення слова (dw)
- •Директива визначення подвійного слова (dd)
- •Безпосередні операнди
- •Директива equ
Директива визначення байта (db)
Один байт виражається двома шістнадцятковими цифрами. Найбільше додатне число в одному байті це 7F, всі "більші" числа від 80 до FF представляють від’ємні значення. У десятковому виразі ці межі визначаються числами +127 і -128.
Приклад використання:
Адреса |
Значення |
Ім’я |
Директива |
Дані |
коментар |
0000 |
?? |
Label1 |
DB |
? |
Не ініціалізовано |
0001 |
50 65 72 73 6F 6E 61 6C 20 43 6F 6D 70 75 74 65 72 |
Label2 |
DB |
‘Personal Computer’ |
Символьний рядок |
0012 |
20 |
Label3 |
DB |
32 |
Десяткова константа |
0013 |
20 |
Label4 |
DB |
20h |
Шістнадцяткова константа |
0014 |
20 |
Label5 |
DB |
0010 0000b |
Двійкова константа |
0015 |
50 43 |
Label6 |
DB |
‘PC’ |
Символьний рядок |
Директива визначення слова (dw)
Директива DW визначає елементи, які мають довжину в одне слово (два байти). . Два байти представляються чотирма шістнадцятковими цифрами. Найбільше позитивне шістнадцяткове число у двох байтах це 7FFF; всі "більші" числа від 8000 до FFFF представляють від’ємні значення. У десятковому форматі ці межі визначаються числами +32767 і -32768. Для директиви DW асемблер перетворить константи в шістнадцятковий об’єктний код, але записує його в зворотній послідовності.
Символьний вираз в DW обмежений двома символами, які асемблер представляє в об’єктному коді так, що, наприклад, ‘PC’ стає ‘CP’. Для визначення символьних рядків директива DW має обмежене застосування.
Приклад використання
Адреса |
Значення |
Ім’я |
Директива |
Дані |
коментар |
0000 0001 |
?? ?? |
Label1 |
DW |
? |
Не ініціалізовано |
0002 0003 |
43 50 |
Label2 |
DW |
‘PC’ |
Символьний рядок |
0004 0005 |
3C 7F |
Label3 |
DW |
32572 |
Десяткова константа |
0006 0007 |
F0 FF |
Label4 |
DW |
0FFF0h |
Шістнадцяткова константа |
0008 0009 |
20 00 |
Label5 |
DW |
0010 0000b |
Двійкова константа |
000A 000B 000C 000D 000E 000F |
03 00 05 00 07 00 |
Label6 |
DW |
3,5,7 |
Три константи |
0010 |
0004 R |
Label7 |
DW |
Label3 |
Адресна константа |
0012 |
0006 |
Label8 |
DW |
Label5- Label2 |
Різниця адрес |
Директива визначення подвійного слова (dd)
Директива DD визначає елементи, які мають довжину в два cлова (чотири байти). Числовий вираз може містити одну або більше констант, кожна з яких має максимум чотири байти (вісім шіст. цифр). Найбільше додатне шіст. число в чотирьох байтах це 7FFFFFFF; всі "більші" числа від 80000000 до FFFFFFFF представляють від’ємні значення. У десятковому форматі ці межі становлять +2147483647 і -2147483648. Для директиви DD асемблер перетворить константи в шістнадцятковий об’єктний код, але записує його в зворотній послідовності.
Директива визначення DQ та директива визначення DТ є аналогічними до DW та DD, з відповідними довжинами даних.