
- •Теоретичні відомості
- •1. Структура простої програми мовою асемблера. Формат кодування програми.
- •2. Основні директиви : segment , end, ends, proc, endp, assume.
- •3. Основні вимоги при створенні програми. Приклади простих програм мовою асемблера.
- •4. Трансляція програми. Опції компіляції та загальна характеристика.
- •6. Застосування програми налагодження для пошуку помилок.
- •Розв’язування задач за тематикою заняття
- •Завдання для самостійної роботи
- •Теоретичні відомості
- •1. Директиви визначення даних.
- •2. Директива повторення dup.
- •3. Сталі.
- •5. Представлення в пам’яті цілих чисел.
- •6. Команда пересилки даних mov.
- •7. Команди двійкового додавання та віднімання.
- •Команда зміни знаку операнда neg
- •8. Обчислення цілих арифметичних виразів.
- •Розв’язування задач за тематикою заняття
- •Завдання для самостійної роботи.
- •Теоретичні відомості
- •1. Команда безумовного переходу jmp. Типи адресів переходу short,near та far.
- •2. Команди організації циклів ( loop,loopn,loopnz). Команда loop. Керування циклом за ecx/cx.
- •Керування циклом за ecx/cx із врахуванням ознаки zf
- •3. Команди умовних переходів.
- •5. Команда lea
- •Команда роботи зі стеком push та pop
- •Розв’язування задач за тематикою заняття
- •Завдання для самостійної роботи.
- •Розв’язування задач за тематикою заняття
- •Завдання для самостійної роботи.
- •Логічні операції та операції зсувів.
- •2. Команди логічних операцій (and, test, or, xor, not).
- •3. Команди зсувів та циклічних зсувів.
- •Команди зсувів (sal, sar, shl,shr)
- •Команда зсуву логічного операнда вправо – shr
- •3.2 Команди циклічних зсувів (rol, ror ,rcl, rcr). Циклічний зсув операнда вліво - rol
- •Циклічний зсув операнда вправо ror
- •Циклічний зсув операнда вліво через ознаку переносу - rcl
- •Циклічний зсув операнда вправо через ознаку переносу – rcr
- •Бітові маски.
- •Розв’язування задач за тематикою заняття
- •Завдання для самостійної роботи
- •1. Множення цілих чисел
- •2. Ділення цілих чисел
- •3. Перетворення в регістрах
- •Алгоритм введення–виведення цілих чисел
- •Виведення цілих чисел.
- •Введення цілих чисел.
- •Розв’язування задач за тематикою заняття
- •Завдання для самостійної роботи.
- •Теоретичні відомості
- •Особливості команд обробки рядків.
- •Ознака df. Команди зміни ознаки ( cld, std ).
- •Префікси повторення( rep, repe, repz, repne, repze ).
- •Команди обробки символьних рядків
Завдання для самостійної роботи.
1. Описати різними способами символьний рядок в якому вказати Ваше прізвище та ім’я.
2. Описати вектор, що складається з N елементів типу T , матрицю (N*N) елементів типу R.
|
N |
T |
R |
1 |
10 |
Слово |
подвійне слово |
2 |
13 |
Байт |
Слово |
3 |
11 |
Подвійне слово |
Байт |
4 |
12 |
4 байти |
6 байт |
5 |
24 |
8 байт |
Слово |
6 |
12 |
10 байт |
Подвійне слово |
7 |
13 |
Слово |
Подвійне слово |
8 |
11 |
Байт |
4 байти |
9 |
12 |
6 байт |
8 байт |
10 |
45 |
Слово |
10 байт |
11 |
13 |
Подвійне слово |
Слово |
12 |
11 |
10 байт |
Байт |
13 |
12 |
Слово |
6 байт |
14 |
24 |
Байт |
Слово |
15 |
12 |
6 байт |
Подвійне слово |
3. Знайти об’єктний код фрагменту даних
1 |
A dw 2101h b dd 307h c dd 15409 |
11 |
a dd 30618 b dd dbh c dw 6b0ch |
21 |
a dd 5a57h b dd 1e5h c dw 16851 |
2 |
a dd 2462h b dd 369 c dw 5115 |
12 |
a dd 3166 b dw 31h c dd 1671h |
22 |
a dd 11adh b dw 197h c dd 25009 |
3 |
a dd 21745 b dw 240 c dd 37d2h |
13 |
a dw 30568 b dd 244h c dd 4154h |
23 |
a dd 14aeh b dd e4h c dw 27503 |
4 |
a dd 70ah b dd 707 c dw 363 |
14 |
a dd 12731 b dw 38bh c dd 157fh |
24 |
a dw 6d71h b dd 747 c dd 21777 |
5 |
a dd bbdh b dd 86h c dw 19712 |
15 |
a dw 2e5ah b dd 207h c dd 3698 |
25 |
a dd 23223 b dw 8fh c dd 219ch |
6 |
a dw 13224 b dd 349h c dd 1e01h |
16 |
a dd 442h b dd 10ah c dw 18897 |
26 |
a dd 56b0h b dd 817 c dw 18006 |
7 |
a dw 20440 b dd 833 c dd 5bah |
17 |
a dd abch b dd fdh c dw 22992 |
27 |
a dw 155bh b dd c4h c dd 12064 |
8 |
a dd 7199h b dw 1e8h c dd 9139 |
18 |
a dw 6d76h b dd 602 c dd 11246 |
28 |
a dw 27775 b dd 619 c dd 36adh |
9 |
a dd 7a65h b dd 522 c dw 2774 |
19 |
a dd 1feh b dd 169h c dw 28044 |
29 |
a dd 3931 b dw 1fbh c dd 629ch |
10 |
a dd 18255 b dw 366h c dd 2ba7h |
20 |
a dd 30349 b dw 296h c dd 3115h |
30 |
a dd 10869 b dw 796 c dd 50bfh |
Написати процедуру для обчислення виразу :
|
Вираз |
Змінні |
1 |
a=a+c-(d-(d+8)+(a+b+c+d)-9)-b+c |
a=51 b=22 c=5ah d=48h |
2 |
a=b+b-(d-(d-1-(a+c+d-1)+5))-a+b |
a=30 b=44h c=63h d=88 |
3 |
a=b-c-(c+(1+9-(b+c+d+1-1)-b))+c |
a=3ch b=40h c=12 d=5eh |
4 |
a=(b+b-(c+(d+7+a)-c)+c)+d+1-a+b |
a=2ah b=33 c=4ch d=43h |
5 |
a=b-d+(c-d+1-((a-c-d)+1-1)+b)+b |
a=6ch b=72h c=32h d=19 |
6 |
a=b-(c+c-1-(1-(a+b-c)+1))+8+a+c |
a=71 b=2ah c=4bh d=68h |
7 |
a=(a+c-(d-(1+1+b-c))-c)+1+1+b+b |
a=31h b=73 c=14 d=67 |
8 |
a=a+c+(d-(1+2+(a+c)+c))-1-5-b+b |
a=13h b=24 c=1eh d=5bh |
9 |
a=a-(b+d-(1+1+a-(c+c)+d-5)+b)+c |
a=37h b=39 c=6bh d=2eh |
10 |
a=b-(b-d-(d+(5-b+c))-d+1+1)-a+c |
a=34h b=93 c=3eh d=97 |
11 |
a=(a+b+(d-(1+1)+a)-c-d+1)+7-b-c |
a=31h b=64 c=56 d=15h |
12 |
a=(b+b-d+1+(5-(b-c))-d+1-9)+b-c |
a=4ch b=44 c=85 d=2ch |
13 |
a=b+(b-c+d+1+(a-(c-d)-d+1))-a+b |
a=12 b=51 c=42h d=42 |
14 |
a=(a-b-d-(1+1)-b-(b-c+d)+5)+a+c |
a=11 b=64h c=12 d=58h |
15 |
a=b-(c-(c+d+9-(b-b)-c)-1)-4-a-b |
a=6fh b=25 c=39 d=1ch |
16 |
a=a-(c+(d+(d)+1-a+c+d+1-1)+b+b) |
a=70 b=21 c=22h d=73 |
17 |
a=b-c-c+(1-(7+(b+b-c)-d)+7-a+b) |
a=30 b=3eh c=2ah d=22 |
18 |
a=b+c-(c+d-(6-a)-(b-d-d+7)+b)+c |
a=1dh b=38h c=74 d=3ah |
19 |
a=a+((b+d-d-1)-(b-c)-c)+d-1-a+c |
a=57h b=31h c=46 d=3fh |
20 |
a=(b-b)+c+(5-1+(a-b)+d+1)+6+a+b |
a=1bh b=5eh c=2ah d=15h |
21 |
a=(b-c+(d-c-(1-a-b)+d+d))-1-b+b |
a=70h b=83 c=50 d=16h |
22 |
a=a-(b+(d+1+9+(b+b)+d+d)+1)-a-b |
a=73 b=95 c=89 d=24h |
23 |
a=a+b-(d-(1+(1+a)-c-c+1)+8)+a+b |
a=36h b=39 c=43 d=33 |
24 |
a=a+b+(d-(d+2)+(a-c-d))+d-1-a+c |
a=25h b=3eh c=29 d=82 |
25 |
a=b+c+c-((d+4-(a-c))+c)-d-1+b+b |
a=30h b=62h c=24 d=17 |
26 |
a=(a+c-(c+(1-d))+b+b-c+1)+2-b+c |
a=10 b=21h c=18h d=86 |
27 |
a=b-(b+c+(1-(1-a+b))-c-1-d)-b+b |
a=33h b=54 c=83 d=38h |
28 |
a=b+b-((d+d-(1-a)-b)+d+d-1)-b-c |
a=70 b=5fh c=87 d=78 |
29 |
a=b+b-(c+(1+4-b)+(b+c+d)+1)+b+b |
a=47 b=2dh c=58 d=48h |
30 |
a=a+c+(d+d)-((1+a+b-d-d-8)+b)-b |
a=37 b=81 c=58h d=43h |
Лабораторна робота № 3.
Тема: Цикли. Організація вкладених циклів. Команди передачі управління.
Мета. Вивчення механізму роботи з командами безумовних та умовних команд переходів. Розробка програм з розгалуженням та циклічних програм.
План заняття:
Команда безумовного переходу JMP. Типи адресів переходу (SHORT,NEAR,FAR).
Команди організації циклів ( LOOP,LOOPN,LOOPNZ).
Команди умовних переходів.
Команда завантаження відносної адреси ( LEA ).