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

Індивідуальні завдання:

1) (2X+3Y)Z, Y<2 та X>5

F= (3XX-Z)/Y, Y>0 або z<8

3Z, в інших випадках

2) 5/y+3x, x=>5 та y<>0

F= 4x-3z, z<2 або x<3

x+y+z в інших випадках

3) (4xx-3)/5+7y, x>5 або в>0

F=(y-3)/z, z<>0 та x<=5

5y+7, в інших випадках

4) (3x+9y)/(2+3z), z<>3 та в>10

F=7y+5x-z, y<8 або x<5

zz-3, в інших випадках

5) 6x+2y, x=5 або z>0

F=z-3/5y, y<>0 та x=0

4x+5y-z, в інших випадках

6) (7x-5)/7, y>0 або z=0

F= y-3+z, y<=10 та x=0

x+z+zz-2, в інших випадках

7) 4x+z, y=0 або x<5

F= 5y-3+6z/(z-1), x=0 та z<>1

x+y, в інших випадках

8) 3x+5, x>5 або y=0

F= 7y-7+6x/z, x<3 та z<>0

zz, в інших випадках

9) 4x/5y, y<>0 та x>5

F= 6y-3z, z>3 або x<3

6xx, в інших випадках

10) 7x+xx-1, x<10 та z=0

F= 5y/z, x>5 або y=0

5x+3y+3, в інших випадках

11) (2X+3Y)Z, Y<2 та X>5

F= (3XX-Z)/Y-1, x>0 або z<8

3Z, в інших випадках

12) 5/y+3x, x=5 або y<>0

F= 4x-3z, y<2 та x>3

x+y+z в інших випадках

13) (3xx+9y)/2+3*в, z<>3 та в>0

F=7y+5x-6z, z>1 або x<5

zz-5x, в інших випадках

14) 6x+2y+1, x=5 або z=0

F=z-3+4x, y=0 та z>10

4x+5y-z, в інших випадках

15) (3x-5)/7+1, y>15 або z=0

F= y-3+z, y<10 та x=0

x+z+2y, в інших випадках

16) 4x+z/7, y=0 або x<5

F= 5y+6z/(z-1), x=0 та z<>1

x+y-z, в інших випадках

17) 3x+2z+5, x>5 або y=0

F= 7y-7+6x/z, x<3 та z<>0

z+3x, в інших випадках

18) 4x/5y+3z, y<>0 та x>15

F= 8y-3z-1, z>3 або x<3

6x+y, в інших випадках

19) 7x+yx-1, x<12 та z=0

F= 5y/z+2, x>5 або y>=10

4x+3y+7, в інших випадках

20) (2XY+3Y)Z, Y<2 та X>5

F= (3XX-Z)/3+Y, Y>0 або z<=8

3Z+1, в інших випадках

21) y/2+3x, x>=5 або y<>0

F= (4x-3z)/(2x+1), z<2 та x>3

x+y+z в інших випадках

22) (4x-3)/5+7yz, x>=5 або в>0

F=(y-3)/z+x, z<>0 та x<=5

5y+7, в інших випадках

23) (3x+9)/(3+3z), z<>-1 та в>10

F=7y+5x-z, z>3 або x<5

(z-3)x, в інших випадках

24) 6x+2y-1, x<=5 або z>6

F=z-3/5y, y<>0 та x=0

4x+5y-z, в інших випадках

Контрольний приклад

(4xx-3)/5y, x>5 або в=5, додаткова умова - в<>0

F=(y-3)/z+2, z<>0 та x<=5

y*y-3, в інших випадках

program al1;

uses crt;

var x,y,z,f:integer;

label m1,m2,stop;

begin

clrscr;

write('Input x=');

readln(x);

write('Input y=');

readln(y);

write('Input z=');

readln(z);

asm

cmp y,5

je m1

cmp x,5

jg m1

cmp z,0

jne m2

mov ax,y

imul y

sub ax,3

jmp stop

m1: mov ax,4

imul x

imul x

sub ax,3

mov bx,5

xchg ax,bx

imul y

xchg ax,bx

idiv bx

jmp stop

m2: mov ax,y

sub ax,3

idiv z

add ax,2

stop:

mov f,ax

end;

writeln('f=',f);

readkey;

end.

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

1. Вивчити команди умовного та безумовного переходів.

3. Написати програму.

4. Зробити звіт .

Зміст звіту

1. Опис команд умовного та безумовного переходів.

2. Текст програми.

3. Результати.

4. Висновки.

5. Відповіді на контрольні питання.

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

1. Назвіть команди умовного переходу?

2. Назвіть команди безумовного переходу?

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

Тема роботи: Програмування циклічних процесів на асемблері.

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

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

Серед циклів на практиці найчастіше зустрічаються цикли з попередньо відомою кількістю повторень, до них відносяться:

1. LOOP - перехід по лічильнику

Ознаки не змінюються.

LOOP short-label.

Логіка: CX = CX - 1; if (CX <> 0)

JMP short-label.

Команда LOOP зменшує CX на 1, потім передає керування на мітку short-label, якщо CX не дорівнює 0. Операнд short-label повинен знаходитись у межах від -128 до +127 байт від наступної команди.

2. LOOPE - перехід доки рівно

Ознаки не змінюються.

Команда: LOOPE short-label.

Логіка: CX = CX - 1; if (CX <> 0) and (ZF = 1)

JMP short-label.

Команда LOOPE використовується після команд CMP чи SUB. Вона зменшує CX на 1, потім передає керування на мітку short-label, якщо CX не дорівнює нулю та якщо перший операнд команд CMP або SUB дорівнював іншому операнду. Операнд short-label повинен знаходитись у межах від -128 до +127 байт від наступної команди.

Примітка: Команда LOOPZ, перехід доку нуль, - це та ж команда, що й LOOPE.

3. LOOPNE - перехід доку не рівно

Ознаки не змінюються.

Команда: LOOPNE short-label.

Логіка: CX = CX - 1 if (CX <> 0) and (ZF = 0)

JMP short-label.

Команда LOOPNE використовується після команд CMP або SUB. Вона зменшує CX на 1, потім передає керування на мітку short-label, якщо CX не дорівнює нулю, та якщо перший операнд команд CMP або SUB не дорівнює іншому операнду. Операнд short-label мусить знаходитися в межах від -128 до +127 байт від наступної команди.

Примітка: Команда LOOPNZ, перехід доку не нуль, - це та ж команда, що й LOOPNE.

4. LOOPNZ - перехід доки не нуль

Ознаки не змінюються.

Команда: LOOPNZ short-label.

LOOPNZ - синонім LOOPNE. Дів. пояснення LOOPNE.

5. LOOPZ - перехід доки нуль

Ознаки не змінюються.

Команда: LOOPZ short-label.

LOOPZ - синонім LOOPE. Дів. пояснення LOOPE.