Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_лаборат.doc
Скачиваний:
5
Добавлен:
01.05.2025
Размер:
244 Кб
Скачать
☆

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

Тема: Програми з розгалуженням

Мета: навчитися користуватися командами умовних і безумовних переходів

Теоретичні відомості

Приклад.

Написати алгоритм і програму для обчислення величини z

2x – 18, якщо x<=8 x1 =8 x2 =10

Z =

(y-x)/2, якщо x>8 y1 =9 y2 =16

Блок – схема Програма

ORG 800H

800 3A 1E 08 LDA XXX

803 FE 08 CPI 8

805 FA 16 08 JM RRR ; A<=8

808 CA 16 08 JZ RRR ;

80B 47 MOV B,A;

80C 3A 1F 08 LDA YYY;

80F 90 SUB B;

810 37 STC ; (y-x)/2

811 3F CMC;

812 1F RAR ;

813 C3 1A 08 JMP KON;

816 87 RRR: ADD A;

817 06 12 MVI B,18; 2x-18

819 90 SUB B;

81A 32 20 08 KON: STA ZZZ

81D 76 HLT

81E 08 XXX: DB 8

81F 09 YYY: DB 9

820 00 ZZZ: DB 0

END

A  (XXX)

ні

A  A+A

B  18

A  A-B

(ZZZ)  A

B  A

A  (YYY)

A  A-B

CY  0

A  A/2

так

Завдання: Написати алгоритм і програму для обчислення величини z у відповідності з вказаним варіантом. Програму розпочати з адреси 800H+N, N - номер варіанту. Результат занести за адресою ZZZ. Програму набрати на УМК, перевірити результати.

Варіант 1

60/2 - x, якщо x > 11 x1 =20h x2 =5

Z =

(x-2)/2, якщо x <= 11 y1 =5 y2 =65h

Варіант 2

14 - y, якщо x <= 14 x1 =14 x2 =15

Z =

y – 81, якщо x > 14 y1 =4 y2 =100

Варіант 3

2x + 13, якщо x <= 5 x1 =6 x2 =2

Z =

3y, якщо x > 5 y1 =10 y2 =10

Варіант 4

4x + 2, якщо x <= 53 x1 =10 x2 =60

Z =

3y - 8, якщо x > 53 y1 =25 y2 =25

Варіант 5

(x – 34)/2, якщо x > 78 x1 =79 x2 =10

Z =

y + 3x , якщо x <= 78 y1 =10 y2 =20

Варіант 6

x - y, якщо x <= 15 x1 =10 x2 =20

Z =

x + 3 , якщо x > 15 y1 =15 y2 =15

Варіант 7

x+13 , якщо x>34 x1 =100 x2 =21

Z =

y/2 , якщо x<=34 y1 =30 y2 =30

Варіант 8

4x-y , якщо x<=10 x1 =9 x2 =30

Z =

y+x+5, якщо x>10 y1 =20 y2 =15

Варіант 9

4-y+x , якщо x>18 x1 =19 x2 =22

Z =

2y+3x, якщо x<=18 y1 =20 y2 =11

Варіант 10

24 - 4y , якщо x<=41 x1 =40 x2 =60

Z =

y – 80/2, якщо x>41 y1 =2 y2 =100

Варіант 11

x – 124/2, якщо x > 78 x1 =80 x2 =30

Z =

y + 3x, якщо x <= 78 y1 =10 y2 =10

Варіант 12

x - y , якщо x<=15 x1 =10 x2 =60

Z =

2x - y, якщо x>15 y1 =8 y2 =100

Варіант 13

x + 20 , якщо x>= 5 x1 =7 x2 =3

Z =

y + x, якщо x< 5 y1 =12 y2 =124

Варіант 14

2x - 3y , якщо x<=100 x1 =30 x2 =120

Z =

y – 80/2, якщо x>100 y1 =8 y2 =100

Варіант 15

x+20/2 , якщо x>=5 x1 =7 x2 =-2

Z =

5y, якщо x<5 y1 =24 y2 =10

Варіант 16

2x+124/2 , якщо x<=50 x1 =5 x2 =60

Z =

2x - 3y, якщо x>50 y1 =124 y2 =10

Варіант 17

48 - 2x , якщо x<46 x1 =45 x2 =46

Z =

33- 2x + 2y, якщо x>=46 y1 =12 y2 =40

Варіант 18

64 + 2x , якщо x<46 x1 =30 x2 =60

Z =

47 + x - 2y, якщо x>=46 y1 =127 y2 =20

Варіант 19

60/2 - x, якщо x > 11 x1 =20h x2 =5

Z =

(x-2)/2, якщо x <= 11 y1 =5 y2 =65h

Варіант 20

14 - y, якщо x <= 14 x1 =14 x2 =15

Z =

y – 81, якщо x > 14 y1 =4 y2 =100

Варіант 21

2x + 13, якщо x <= 5 x1 =6 x2 =2

Z =

3y, якщо x > 5 y1 =10 y2 =10

Варіант 22

4x + 2, якщо x <= 53 x1 =10 x2 =60

Z =

3y - 8, якщо x > 53 y1 =25 y2 =25

Варіант 23

(x – 34)/2, якщо x > 78 x1 =79 x2 =10

Z =

y + 3x , якщо x <= 78 y1 =10 y2 =20

Варіант 24

x - y, якщо x <= 15 x1 =10 x2 =20

Z =

x + 3 , якщо x > 15 y1 =15 y2 =15

Варіант 25

x+13 , якщо x>34 x1 =100 x2 =21

Z =

y/2 , якщо x<=34 y1 =30 y2 =30

Варіант 26

4x-y , якщо x<=10 x1 =9 x2 =30

Z =

y+x+5, якщо x>10 y1 =20 y2 =15

Варіант 27

4-y+x , якщо x>18 x1 =19 x2 =22

Z =

2y+3x, якщо x<=18 y1 =20 y2 =11

Варіант 28

24 - 4y , якщо x<=41 x1 =40 x2 =60

Z =

y – 80/2, якщо x>41 y1 =2 y2 =100

Варіант 29

x – 124/2, якщо x > 78 x1 =80 x2 =30

Z =

y + 3x, якщо x <= 78 y1 =10 y2 =10

Варіант 30

x - y , якщо x<=15 x1 =10 x2 =60

Z =

2x - y, якщо x>15 y1 =8 y2 =100

Контрольні питання:

  1. Які команди використовують для організації розгалуження ?

  2. Скільки байт займає команда JMP KKK ?

  3. Як здійснити запис результату в пам’ять ?