- •Інструкційна картка до проведення лабораторного заняття № 1
- •Короткі відомості з теоретичної частини роботи
- •Інструкційна картка до проведення лабораторного заняття № 2
- •Команда lea. При використанні регістрів-модифікаторів часто доводиться записувати в них ті чи інші адреси. Нехай, наприклад, нам необхідно занести в регістр вх адресі змінної X:
- •Інструкційна картка до проведення лабораторного заняття № 3
- •Короткі відомості з теоретичної частини роботи
- •Зміст і послідовність виконання
- •Методичні рекомендації з виконання та оформлення роботи
- •Рекомендована література:
- •Інструкційна картка до проведення лабораторного заняття № 4
- •Короткі відомості з теоретичної частини роботи
- •Зміст і послідовність виконання
- •Методичні рекомендації з виконання та оформлення роботи
- •9 Рекомендована література:
- •Інструкційна картка до проведення лабораторного заняття № 5
- •Короткі відомості з теоретичної частини роботи
- •Зміст і послідовність виконання
- •Методичні рекомендації з виконання та оформлення роботи
- •Рекомендована література:
Інструкційна картка до проведення лабораторного заняття № 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) (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. Вивчити команди умовного та безумовного переходів.
2. Написати програму.
3. Зробити звіт .
Зміст звіту
1. Опис команд умовного та безумовного переходів.
2. Текст програми.
3. Результати.
4. Висновки.
5. Відповіді на контрольні питання.
Рекомендована література:
Сваи Т. Освоение Turbo Assembler. – Киев: Диалектика, 1996.
П. Абель. Язык ассемблера для IBM PC и программирования.-М.:Высшая школа,1992.
Лебедев В.Н. Введение в системы программирования. – М.: Статистика, 1975.
Юров В. Assembler. Учебник.-СПб: Питер, 2000