Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка_з_АК_пр1.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
4.15 Mб
Скачать

2.2 Порядок виконання роботи

1. Скласти асемблер-програму згідно з завданням. У завданні 1 дані розмістити в кодовому сегменті, у завданні 2 – в сегменті даних.

2. Використовуючи програми tasm.exe та tlink.exe, отримати виконувані модулі - .com для завдання 1 та .exe для завдання 2.

3. Виконати отримані програми у відладчику Turbo Debugger (td.exe) в покроковому режимі. Переконатись у правильності виконання програми, переглядаючи вміст необхідних регістрів та комірок пам’яті.

4. Після виконання кожної команди процесора відобразити значення регістрів що змінилися.

Приклад оформлення програм:

Програма на мові Assembler:

.MODEL SMALL

.STACK 100h

.DATA

Mes DB 'Hello!',13,10,'$'

.CODE

mov ax,@Data

mov ds,ax ; встановити регістр DS так,

; щоб він вказував на сегмент даних

mov ah,9 ; функція DOS виводу рядка

mov dx,OFFSET Mes ; посилання на повідомлення "Hello!"

int 21h ; вивести "Hello!" на екран

mov ah,4ch ; функція DOS закінчення програми

int 21h ; закінчити програму

END

Стани регістрів в процесі виконання програми:

Команда

Стани регістрів, що використовуються

Стани флагів

ax

dx

ip

c

z

s

o

p

a

i

d

mov ax,@Data

5B7E

0003

1

mov dx,ax

5B7E

5B7E

0005

1

mov ah,9

097E

5B7E

0007

1

mov dx,OFFSET Mes

097E

000A

1

int 21h

0924

000C

1

mov ah,4ch

4C24

000E

1

Примітка. Стан регістрів і комірок пам’яті зафіксувати до виконання коду завершення програми (int 21h).

5. Зробити висновки за результатами роботи.

Варіант №

Завдання

1

Задана однобайтова змінна А, константа С=100 та масив В з 5 двобайтових змінних.

1) переслати С в регістр АХ

2) переслати вміст регістру АХ в третій елемент масиву В, використовуючи пряму адресацію.

3) переслати в регістр DL змінну А, використовуючи індексну адресацію.

2

Задана константа С=200, двобайтова змінна А та масив В з 8 двобайтових змінних.

1) переслати в регістр СХ третій елемент масиву В, використовуючи індексну адресацію зі зміщенням.

2) переслати вміст регістру СХ в змінну А, використовуючи базову адресацію

3) переслати С в четвертий елемент масиву В, використовуючи пряму адресацію

3

Задана константа С=20, однобайтова змінна А та масив В з 5 однобайтових змінних.

1) переслати С в змінну А, використовуючи пряму адресацію

2) переслати вміст регістру ВН в третій елемент масиву В, використовуючи базову адресацію.

3) переслати в регістр СХ другий елемент масиву В, використовуючи індексну адресацію.

4

Задана константа С=300, двобайтова змінна А та масив В з 8 однобайтових змінних.

1) переслати в регістр СН другий елемент масиву В, використовуючи базову адресацію зі зміщенням.

2) переслати в регістр ВХ змінну А, використовуючи пряму адресацію.

3) переслати С в третій елемент масиву В, використовуючи індексну адресацію зі зміщенням.

5

Задана константа С=120, масив А з 6 двобайтових змінних та однобайтова змінна В.

1) переслати С в змінну В, використовуючи базову адресацію

2) переслати в регістр АХ другий елемент масиву А, використовуючи індексну адресацію зі зміщенням.

3) переслати В в регістр СХ, використовуючи пряму адресацію.

6

Задана константа С=128, двобайтова змінна А та масив В з 6 однобайтових змінних.

1) переслати в регістр ВН четвертий елемент масиву В, використовуючи пряму адресацію.

2) переслати в регістр СХ змінну А, використовуючи індексну адресацію

3) переслати С в четвертий елемент масиву, використовуючи базову адресацію зі зміщенням.

7

Задана константа С=197, двобайтова змінна А та масив D з 5 двобайтових змінних.

1) переслати в п’ятий елемент масиву вміст регістру ВХ, використовуючи базово-індексну адресацію.

2) переслати С в змінну А, використовуючи пряму адресацію

3) переслати в регістр DХ другий елемент масиву, використовуючи пряму адресацію.

8

Задана константа С=200, двобайтова змінна А та масив В з 8 двобайтових змінних.

1) переслати в регістр СХ третій елемент масиву В, використовуючи базову адресацію.

2) переслати вміст регістру СХ в змінну А, використовуючи пряму адресацію

3) переслати С в четвертий елемент масиву В, використовуючи індексну адресацію зі зміщенням

9

Задана константа С=300, однобайтова змінна А та масив В з 6 двобайтових змінних.

1) переслати в регістр DI другий елемент масиву В, використовуючи пряму адресацію.

2) переслати в регістр ВН змінну А, використовуючи базову адресацію.

3) переслати С в другий елемент масиву В, використовуючи індексну адресацію.

10

Задана константа С=196, двобайтова змінна А та масив В з 10 двобайтових змінних.

1) переслати С в змінну А, використовуючи пряму адресацію.

2) переслати вміст регістру ВХ в четвертий елемент масиву В, використовуючи базову адресацію зі зміщенням.

3) переслати в регістр DХ другий елемент масиву В, використовуючи індексну адресацію зі зміщенням.

11

Задана двобайтова змінна А, константа С=50, масив В з 6 однобайтових змінних

1) переслати в регістр СХ змінну А, використовуючи базову адресацію.

2) переслати С в третій елемент масиву В, використовуючи пряму адресацію.

3) переслати третій елемент масиву В в регістр ВХ, використовуючи індексну адресацію зі зміщенням.

12

Задана константа С=420, двобайтова змінна А та масив В з 7 двобайтових змінних.

1) переслати С в змінну А, використовуючи індексну адресацію.

2) переслати вміст регістру SI в шостий елемент масиву В, використовуючи пряму адресацію.

3) переслати в регістр СL другий елемент масиву В, використовуючи базову адресацію зі зміщенням.

13

Задана константа С=1024, двобайтова змінна А та масив В з 6 однобайтових змінних.

1) переслати в регістр ВН п’ятий елемент масиву В, використовуючи пряму адресацію.

2) переслати вміст регістру СХ в змінну А, використовуючи індексну адресацію

3) переслати С в четвертий елемент масиву, використовуючи базово-індексну адресацію.

14

Задана константа С=30, однобайтова змінна А та масив В з 6 двобайтових змінних.

1) переслати в регістр ВН змінну А, використовуючи пряму адресацію.

2) переслати вміст регістру ВХ в п’ятий елемент масиву В, використовуючи пряму адресацію

3) переслати С в змінну А, використовуючи базову адресацію.

15

Задана константа С=777, однобайтова змінна А та масив В з 6 однобайтових змінних.

1) переслати в регістр СН третій елемент масиву В, використовуючи індексну адресацію.

2) переслати вміст регістру DL в змінну А, використовуючи пряму адресацію

3) переслати С в п’ятий елемент масиву В, використовуючи базову адресацію.