Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практика.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
3.73 Mб
Скачать

Контрольні запитання і задачі

1. Яка команда програми Debug встановлює режим трансляції операторів мови Assembler?

Режим трансляції операторів мови Assembler встановлює команда А адреса першої команди <Enter>.

2. Що означає вислів «трансляція оператора мови Assembler

Цей компілятор вперше використовував мнемонічне (у вигляді команд та відповідних операндів) позначення основних операцій, які здатна виконувати машина, які потім перетворювались на коди, зрозумілі машині. Цей процес був названий трансляцією

3. Запишіть формат команди запуску програми на виконання у середовищі програми Debug, програми TurboDebugger.

Формат команди запуску: Debug <Enter> у середовищі операційної системи MS DOS або Пуск->Выполнить->Debug-> ОК у середовищі операційної системи Windows.

4. Запишіть команду виведення мнемоніки машинних команд у середовищі програми Debug.

U Aдреса першої команди, адреса останньої команди <Enter>

Тема: Оформлення алгоритмів з галуженням.

Мета: Набути початкові навички використання операторів умовного та безумо­вного переходу для записування розгалужених процесів. Матеріально-технічне оснащення робочого місця.

Завдання для самостійного опрацювання

Записати на Асемблері програму обчислення величини у відповідно до варіантів завдань.

Завдання №1

Тест 1 Тест 2

a=5 a=15

x=5 x=5

b=10 b=7

y=15 y=8

TEST1 TEST2

.MODEL TINY .MODEL TINY

.DATA .DATA

A DW 5 A DW 15

X DW 5 X DW 5

B DW 10 B DW 7

Y DW ? Y DW ?

.CODE .CODE

MOV AX, @DATA MOV AX, @DATA

MOV DS, AX MOV DS, AX

MOV AX, A MOV AX, A

MOV BX, X MOV BX, X

MOV CX, B MOV CX, B

CMP AX, BX CMP AX, BX

JE PLUS JE PLUS

JNE MINUS JNE MINUS

PLUS: ADD AX, CX PLUS: ADD AX, CX

MOV X, AX MOV X, AX

JMP END JMP END

MINUS: SUB AX, CX MINUS: SUB AX, CX

MOV X, AX MOV X, AX

JMP END JMP END

END: Hlt END: Hlt

Завдання №2

Тест 1 Тест 2

x=7

a=53

c=2 x=4

y=2 y=30

TEST1 TEST2

.MODEL TINY .MODEL TINY

.DATA .DATA

A DW 53 A DW 53

X DW 7 X DW 4

C DW 2 C DW 2

Y DW ? Y DW ?

.CODE .CODE

MOV AX, @DATA MOV AX, @DATA

MOV DS, AX MOV DS, AX

MOV AX, X MOV AX, X

MOV BX, A MOV BX, A

MOV CX, C MOV CX, C

CMP X, 6 CMP X, 6

JA DIV JA DIV

JNA MINUS JNA MINUS

DIV: NEG BX DIV: NEG BX

ADD AX, BX ADD AX, BX

IDIV CX IDIV CX

MOV X, AX MOV X, AX

JMP END JMP END

MINUS: SUB BX, CX MINUS: SUB BX, CX

MOV BX, CX MOV BX, CX JMP END JMP END

END: Hlt END: Hlt

Контрольні запитання і задачі

1. З якою метою виконується тестування програми?

Тестування програми – техніка контролю якості, що перевіряє відповідність між реальною і очікуваною поведінкою програми завдяки кінцевому набору тестів, які обираються певним чином.

2. Вкажіть оператор Assembler, який запише у регістр ІР зміщення 140 без перевірки умови.

За допомогою оператора MOV ми заносим в ІР зміщення 140 без перевірки умови:

MOV IP, 140

3. Вкажіть оператор Assembler, який здійснює порівняння вмісту регістрів DX, CX.

CMP – команда процесора для порівняння чисел. Реально вона змінює значення прапорів. Зазвичай після команди CMP використовуються команди умовного переходу. Таким чином, використовуючи послідовно CMP і команди умовного переходу, можна організовувати умовні оператори, цикли і так далі.

4. Що відбувається при виконанні оператора CMP BX, DX?

При виконані команди CMP BX, DX порівнюються два регістра і після цієї команди повинні бути наступні команди, які визначають, що буде відбуватись, якщо один або другий регістр більший/менший/рівний.

5. На основі якої інформації здійснюється умовний перехід в програмах на Assembler?

В командах умовного переходу рішення про примусову передачу управління або продовження звичайного режиму виконання програми приймається в залежності від виконання або невиконання певної умови.

6. Який оператор умовного переходу потрібно використати, щоб здійснити перевірку умови [ax]=[bx]?

CMP AX, BX

JE <перехід на команду/мітку>

Тема: Оформлення алгоритмів циклічного типу.

Мета: Набути початкові навички використання оператора циклу LOOP для записування циклічних процесів.

Варіант №1

Записати на Assembler програму табуляції функції:

на відрізку з кроком ∆x = 1 для y = 4.

Кратність: +1 = 5

Адреса

Вміст

130

01

131

00

132

09

133

00

134

19

135

00

136

31

137

00

138

51

139

00

MOV CX, 5

MOV BX, 130/139

MOV BP, 1

PRHD: MOV AX, BP

IMUL BP

MOV DX, 4

ADD AX, DX

MOV [BX], AX

ADD BP, 1

ADD BX, 1

LOOP PRHD

hlt

Варіант №3

Записати на Асемблері програму табуляції функції

на відрізку з кроком ∆x=2.

Кратність: +1 = 2

Адреса

Вміст

130

01

131

00

132

09

133

00

134

19

135

00

136

31

137

00

138

51

139

00

MOV CX, 18

MOV BX, 130/139

MOV BP, 4

PRHD: MOV AX, BP

ADD AX, 6

MOV DX

IDIV DX

MOV [BX], AX

ADD BP, 2

ADD BX, 2

LOOP PRHD

hlt