11.1. Програма на асемблері

При складанні програм на асемблері кожна лінія програми підрозділяєть­ся на поля:

Адр еса

Код

Мітка

М немокод

Коментарій

У полі „ Адреса" вказується адреса комірки пам'яті ОЗП до якої запису­ється код операції або операнд. Усі адреси і коди записують у шістнадцятковій системі числення.

Міткою позначають окремі програми або їх фрагменти. Як правило, мітки проставляють в лініях, де вказані команди переходу. Мітка може мати обмеже­не число символів (звичайно 6).

У полі „Мнемокод" записують мнемонічне позначення операції, яку треба виконати.

Рис .11.1 - Концептуальна схема алгоритму

У полі „Коментарій" дають необхідні пояснення виконаних операцій. Наприклад, для створення програми складання трьох чисел 23D, 42D, 18D с кладемо концептуальну схему алгоритму:

Функціональну схему алгоритму створимо з урахуванням структури ти­пового мікропроцесора, зобразивши її на рис .11.2. Слід пам'ятати, що для запи­су програми необхідно перетворити десяткові числа у шістнадцяткові еквівале­нти:


23D >> 17H; 42D >> 2 AH;18D >> 12H .

Програму на асемблері представимо у вигляді лістингу, використовуючи типову заготівку з раніше згаданими полями (табл.10.1). Використовуючи ін­формацію про час виконання команд в МП, можна визначити час виконання всієї програми при певній тактовій частоті генератора МПП.

При підготовці програми за допомогою програми - редактора асемблера поле "КОД" не заповнюється. Ці коди "з'являються" після трансляції програми, якщо редактор не виявить помилок в текс ті. Зберігаються програми придатни­ми для їх завантаження в пам'ять МПП у вигляді кодованих текстів, прикладом яким і є поле " Код" ліс тингу. Якщо виконати проглядання програми в пам'яті МПП (ця операція завжди можлива по певній команді, наприклад: L 8050 > Enter), то вона на екрані дисплея буде представлена в наступному вигляді:

8050 06 17 0Е 2A 16 12 78 81 82 OA 50 77 76 FF FF FF . (11.1) Таблиця 10.1 - Програма на асемблері

Адреса

Код

Мітка

Мнемокод

Коментарій

8050

06

SUMA:

MVI B,17

Завантажити:

 

 

 

 

(B)<=N1

8051

17

 

 

 

8052

0e

 

MVI C,2A

(C)<=N2

8053

2a

 

 

 

8054

16

 

MVI D,12

(D)<=N3

8055

12

 

 

 

8056

78

 

MOV A,B

Отр имати су му

 

 

 

 

^)<=(B)

8057

81

 

ADD C

(A)<=(A)+(C)

8058

82

 

ADD D

(A)<=(A)+(D)

8059

21

 

LXI H,500A

Запам'ятати ре-

805А

0a

 

 

зультат

805B

50

 

 

(H,L)<=500A

805C

77

MOV MA

(500A)<=(A)

805D

76

HLT

Зу пинення

Очевидно, що перша група цифр і є адреса елемента пам'яті, з якою і пла­нувалася нашим лістингом завантаження програми. Всі подальші осередки міс -тять коди програми відповідно до лістингу. Такі тексти нерідко використову­ють для вивчення чужих готових програм при освоєнні асемблера.

При лінійній схемі алгоритму час виконання програми tпр дорівнюватиме

с умі часу виконання окремих команд:

= 1/F * Ц + П2 +... + nm), (11.2)

де F - частота тактових імпульсів, Гц; n - число тактів для команди; m - кіль­кість команд.


Авторы: 239 А Б В Г Д Е З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я

Книги: 268 А Б В Г Д Е З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я