Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторні роботи 1-5.doc
Скачиваний:
3
Добавлен:
28.08.2019
Размер:
188.42 Кб
Скачать

Інструкційна картка до проведення лабораторного заняття № 1

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

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

    1. Після виконання роботи студент повинен:

Знати: команди умовного переходу, команди безумовного переходу.

Вміти: програмувати на мові Асемблер процеси з розгалудженням.

  1. Матеріально-технічне оснащення робочого місця: персональний ЕОМ, інструкція до лабораторної роботи.

  1. Інструктаж з техніки безпеки (згідно з інструкцією до виконання конкретної лабораторної роботи)

  2. Короткі відомості з теоретичної частини роботи

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

E – equal (рівно)

N – not (не)

G – greater (більше) - для чисел зі знаком

L – less (менше) - для чисел зі знаком

A – above (вище) - для чисел без знака

B – below (нижче) - для чисел без знака

Далі наведені назви усіх команд умовного переходу, що використовуються після команди порівняння (через слеш вказані назви-синоніми):

Таблиця 1.1 Команди умовного переходу, що використовуються після команди порівняння

Мнемокод

Змістовна умова для переходу.

після CMP ор1, ор2

Стан прапорців для переходу

для будь-яких чисел

je

jne

op1=op2

op1<>op2

zf=1

zf=0

для чисел зі знаком

jl/jnge

jle/jng

jg/jnle

jge/jnl

op1<op2

op1<=op2

op1>op2

op1>=op2

sf<>of

sf<>of або zf=1

sf=of і zf=0

sf=of

для чисел без знаку

jb/jnae

jbe/jna

ja/jnbe

jae/jnb

op1<op2

op1<=op2

op1>op2

op1>=op2

cf=1

cf=1 або zf=1

cf=0 і zf=0

cf=0

До другої групи команд входять ті, що ставляться після команд, відмінних від команд порівняння, і ті, які реагують на те чи інше значення якого-небудь визначеного прапорця.

Таблиця 1.2 Команди умовного переходу, які реагують на те чи інше значення прапорця

Мнемокод

Умова переходу

Мнемокод

Умова переходу

jz

js

jc

jo

jp

zf=1

sf=1

cf=1

of=1

pf=1

jnz

jns

jnc

jno

jnp

zf=0

sf=0

cf=0

of=0

pf=0

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

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, в інших випадках

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

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

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

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

  1. Зміст звіту

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

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

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

4. Висновки.

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

  1. Рекомендована література:

  1. Сваи Т. Освоение Turbo Assembler. – Киев: Диалектика, 1996.

  2. П. Абель. Язык ассемблера для IBM PC и программирования.-М.:Высшая школа,1992.

  3. Лебедев В.Н. Введение в системы программирования. – М.: Статистика, 1975.

  4. Юров В. Assembler. Учебник.-СПб: Питер, 2000