Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Downloads / лаба9

.rtf
Скачиваний:
6
Добавлен:
19.02.2016
Размер:
293.68 Кб
Скачать

Лабораторна робота № 9

Дослідження рекурсії

Мета: навчитись досліджувати використання рекурсивної функції(додавання).

Хід роботи:

  1. Записати масив array із 7-ми числами: 1 – число масиву номер по журналу , наступні числа збільшуються на одиницю.

  2. Включити комп’ютер. Завантажити MS-DOS, NC, зайти в каталог з TASM, TLINK, TD.

  3. За допомогою редактора нортоновських команд перенести програму Amo08.asm на машинний носій, виконати її асемблювання і компановку, реквізити файлів asm, obj, exe привести в звіті.

  4. За допомогою турбо-дебагера виконати програму amo08.exe, результаті привести у вигляді таблиці.

  5. Скласти таблицю рекурсивного отримання суми. Довести правильність отриманих сум.

  6. Правильно виключити комп’ютер.

model small

.data

array dw 24,25,26,27,28,29,30

numbers dw 7

.code

begin:

mov ax,@data

mov ds,ax

lea bx,array

mov cx,numbers

xor ax,ax

for: add ax,[bx]

add bx,2

Loop for

mov si,5555h

mov dx,ax

mov ax,4c00h

int 21h

end begin

Команда

Регістри

назва

до

після

1.

mov ds,ax

ds

0A10

0A22

2.

mov bx,0000

bx

0000

0000

3.

mov cx,[000E]

cx

0000

0007

4.

xor ax,ax

ax

0А22

0000

5.

add ax,bx

ax

0000

0018

6.

add dx,0002

bx

0000

0002

7.

loop 000E ↑

cx

0007

0006

ip

0013

000E

8.

add ax[bx]

ax

0018

0031

9.

add bx,0002

bx

0002

0004

10.

loop 000E ↑

cx

0006

0005

ip

0013

000E

11.

add ax[bx]

ax

0031

004B

12.

add bx,0002

bx

0004

0006

13.

loop 000E ↑

cx

0005

0004

ip

0013

000E

14.

add ax[bx]

ax

004B

0066

16.

add bx,0002

bx

0006

0008

loop 000E ↑

cx

0004

0003

ip

0013

000E

17.

add ax[bx]

ax

0066

0082

18.

add bx,0002

bx

0008

000A

19.

loop 000E ↑

cx

0003

0002

ip

0013

000E

20.

add ax[bx]

ax

0082

009F

21.

add bx,0002

bx

000A

000C

22.

loop 000E↑

cx

0001

0000

ip

0013

000E

23.

add ax[bx]

ax

009F

00BD

24.

add bx,0002

bx

0002

0004

25.

loop 000E

cx

000C

000E

ip

0013

0015

26.

mov si,5555

si

0000

5555

27.

mov dx,ax

dx

0000

00BD

28.

mov ax,4C00

ax

00BD

4C00

29.

int

amo08.asm 362 2.01.13 10:20P­

Remaining memory: 261 k

amo08.obj 267 2.01.13 10:21P­

amo08.exe 570 2.01.13 10:21P

i

16-річна

10-річна

10

1

18

24

25

2

31

49

26

3

4B

75

27

4

66

102

28

5

82

130

29

6

9F

159

30

7

BD

189

Висновок: я навчився досліджувати використання рекурсивної

функції

Соседние файлы в папке Downloads