- •Лабораторна робота № 1. «Вивчення програмного пакета tasm32»
- •Короткі теоретичні відомості:
- •Програмна модель:
- •Структура програми
- •Група команд передачі даних
- •Інструкція по роботі з програмним пакетом tasm32
- •Завдання
- •Лабораторна робота № 2 tasm32. «Вивчення групи арифметичних команд»
- •Короткі теоретичні відомості: Частина 1
- •Частина 2
- •Лабораторна робота № 3. «Вивчення групи логічних команд»
- •Короткі теоретичні відомості:
- •Завдання
- •Лабораторна робота №4. «Вивчення груп команд безумовних та умовних переходів та команд управління циклом»
- •Короткі теоретичні відомості:
- •Завдання
- •Лабораторна робота №5. «Вивчення команд роботи з підпрограмами»
- •Короткі теоретичні відомості:
- •Завдання
- •Лабораторна робота №6. «Вивчення груп команд порівняння та логічних зсувів»
- •Короткі теоретичні відомості:
- •Завдання
Структура програми
Програма на асемблері являє собою сукупність блоків пам’яті, званих сегментами пам’яті. Програма може складатись з одного або декількох таких блоків-сегментів. Кожен сегмент містить сукупність речень мові, кожне з яких займає окремий рядок коду програми.
Речення, з яких складається програма, можуть являти собою синтаксичну конструкцію, відповідну команді, макрокоманді, директиві або коментарію.
Для того щоб транслятор асемблера міг розпізнати їх, вони повинні формуватися за певними синтаксичними правилами.
Речення
на мові Асемблера може складатись
з
полів наступного виду:
[Мітка:] Мнемокод [Операнд] [;Коментар]
Квадратні дужки навколо полів мітки, операнда та коментаря показують, що ці поля не обов’язкові. Поля відокремлюються один від одного хоча б одним пробілом (або символом табуляції).
Поле мітки служить для присвоювання імені команді мови асемблера. По ньому на цю команду можуть посилатися інші команди програми. Мітка повинна закінчуватись двокрапкою.
Поле мнемокоду містить ім’я команди мікропроцесора.
Група команд передачі даних
Мнемокод |
Операнд |
Коментар |
MOV |
dst,src |
dst – приймач, а src – джерело даних (src)→(dst) , приклад: MOV DX,CX |
XCHG |
dst,src |
Відбувається обмін між операндами (dst)↔(src) |
LAHF |
|
Завантажити в регістр AH прапори (розряди 0-7) |
SAHF |
|
Завантажити прапори з регістру AH |
Команда MOV здійснює пересилання наступних видів:
З РЗП в РЗП;
З комірки пам’яті (к.п.) в РЗП;
З РЗП в к.п.;
безпосередній операнд в РЗП;
безпосередній операнд в к.п.;
з РЗП у сегментний регістр;
з сегментного регістру в РЗП;
з сегментного регістру в к.п.
У команді MOV виключаються пересилання наступних видів:
з к.п. в к.п. (MOVS);
безпосередній операнд у сегментний регістр;
з сегментного регістру у сегментний регістр;
Приклад 1: Число 72Fh→(BX), (BL)→(AH), F4h→(AL), (CX)↔(AX), (BX)→(DI), 01FCh→d:0004h
Інструкція по роботі з програмним пакетом tasm32
У текстовому редакторі створити файл з розширенням asm. Наприклад, pr.asm.
Відкомпілювати файл, набравши в командному рядку:
tasm.exe /m /zi /l pr.asm
Перевірити наявність помилок, для чого прибрати панелі управління (Ctrl+O). Якщо є помилки, то виправити їх у редакторі та повторити пункт 2.
Якщо помилок немає, впевнитись у створенні файлу pr.obj
Провести компоновку програми, набрав у командному рядку:
tlink.exe /v pr.obj
Запустити відладчик, набрав у командному рядку:
td.exe pr.exe
Увійти в меню, нажав (Alt+F), обрати директиву View, CPU.
Покроковий перегляд програми здійснюється натисканням F7.
