Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
asm.doc
Скачиваний:
6
Добавлен:
09.11.2019
Размер:
913.41 Кб
Скачать

Завдання для самостійної роботи.

:

1. Написати програму обчислення виразу :

Вираз

Змінні

1

f=(d*c-1)/(c*a-10)+a*b/c+a*c%d+b/d

a=6fh b=14 c=-93 d=46h

2

f=a-b*(c+(d/a)*b%(c%d-a)/b)+c/d

a=58h b=45h c=-66h d=-5fh

3

f=(a-b+(c+(d-a*b/c*d)/a/b)*c)/d

a=61 b=19 c=15 d=-44h

4

f=a-(b/(c*d/a%(b+c*d))/a+b)+c%d

a=45 b=70 c=-75 d=2eh

5

f=a-b/c+((d/a+(b/c)*d%a+b*c)+d)

a=35 b=31 c=1bh d=59

6

f=a-b*((c+d/a+(b+c)*d+a)%b)-c-d

a=60 b=71 c=51h d=-19h

7

f=a-b*(c%(d+(a-b)/c)+d/a)*b*c/d

a=47 b=41 c=-1fh d=18

8

f=a*(b/c-(d*(a)-b)+c/d/a-b+c+d)

a=70 b=31 c=-6ah d=-2bh

9

f=a+(b-c%(d-(a/b-c)*d-a)+b*c)+d

a=11h b=30 c=47 d=51

10

f=(a*(b+c))*d/(a+b/c+d*a%b-c)-d

a=53h b=1fh c=34 d=-39

11

f=(a-b-(c+d)*(a+b)/c%d+a)*b/c+d

a=72 b=79 c=-15 d=89

12

f=a-b+(c-d%(a-b)/(c+d)%a-b+c)*d

a=53h b=3eh c=-72 d=-73

13

f=a/(b+c-(d-a/b+(c*d)+a))*b-c%d

a=28h b=55 c=67h d=42

14

f=(a+b*(c-(d+a)/b)%c+d*a-b+c)/d

a=4fh b=35 c=-18h d=-69

15

f=a/b*c+((d/(a*b+c-d*a+b)-c))-d

a=91 b=31h c=54h d=-88

16

f=a-b*c*d/((a-b)-(c/d+a/b)%c-d)

a=94 b=38 c=59h d=57

17

f=a-b%c*(d+((a+b))/c+d)+a-b/c/d

a=5ah b=66 c=-61h d=-6ch

18

f=(a-b-c*((d-a)/b)%c+d)*a+b/c+d

a=4fh b=36 c=74 d=39h

19

f=a%(b+c%d+(a-(b/c))+d+a*b)/c+d

a=6eh b=33 c=-98 d=53

20

f=a-(b/(c*d+(a/b)/c/d)%a+b+c)*d

a=46h b=64 c=60 d=-32

Заняття №7 Обробка символьних рядків використанням ланцюжкових команд.

Мета. Вивчення можливостей роботи з символьними рядками з використанням використовуючи ланцюжкові команди.

План заняття :

  1. Особливості команд обробки рядків.

  2. Напрямок обробки символьних рядків. Ознака DF. Команди зміни ознаки ( CLD, STD ).

  3. Префікси повторення( REP, REPE, REPZ, REPNE, REPZE ).

  4. Команди обробки символьних рядків ( MOVS, CMPS, SCAS, LODS, STOS).

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

  1. Особливості команд обробки рядків.

На практиці буває необхідно переслати або порівняти декілька раз підряд дані розміром байт, слово або подвійне слово. Для таких кодування дій, які повторяються призначені спеціальні ланцюжкові команди.

Кожна ланцюжкова команда за одну ітерацію може обробляти структурний елемент розміром у байт, слово або подвійне слово.

Операнди приймач та джерело, якщо визначені синтаксисом команди, знаходяться в пам’яті, і адресуються відповідним чином. Так адреса джерела — за допомогою пари регістрів DS:ESI/SI (DS за замовчуванням, допускається заміна сегмента), а адреса приймача — за допомогою пари регістрів ES:EDI/DI (заміна сегмента не допускається). До виконання ланцюжкової команди адреси елементів попередньо повинні бути завантажені у відповідні регістри.

У залежності від стану ознаки DF( DF– ознака напрямку обробки ланцюжка) змінюється значення регістрів ESI/SI і/або EDI/DI:

    • якщо DF=0, то збільшити вміст цих регістрів на довжину структурного елемента послідовності;

    • якщо DF=1, то зменшити вміст цих регістрів на довжину структурного елемента послідовності.

Для організації багаторазового повторення ланцюжкових команд використовуються префікси повторення REP, REPE, REPNE,REPZ та REPNZ.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]