- •Основи програмування на мові асемблер та знайомство з програмним забезпеченням для виконання лабораторних робіт
- •Теоретичні відомості
- •1.1 Особливості архітектури мікропроцесора типу Intel 80х86
- •Головні регістри мп Intel 8086 та їх призначення
- •1.2 Організація обчислень та узагальнена архітектура комп’ютера ibm pc
- •1.3 Основи програмування на мові асемблер та її синтаксис. Позначки, коди команд, операнди та директиви
- •1.4. Перетворення програми з тексту на мові асемблера у виконуваний модуль
- •1.5. Основи роботи з програмою afd
- •1.6. Основи роботи з програмою td
- •2. Порядок виконання роботи
- •4. Контрольні питання:
- •Сегментація програми. Сегменти коду, даних та стеку. Їх розташування в пам’яті еом. Директиви мови асемблера segment та ends.
- •Арифметичні та логічні операції мови асемблер
- •1. Теоретичні відомості
- •Директиви визначення даних
- •1.2. Команда перенесення даних
- •1.3. Арифметичні операції над двійковими числами
- •1.4. Команди логічних операцій
- •1.5. Команди зсуву бітів числа
- •1.6. Команди циклічного зсуву бітів числа
- •1.7. Структура асемблерних програм для com- та exe-модулів. Виклик процедур та стек
- •Таким чином, структура com-програми повинна бути такою:
- •2. Варіанти індивідуальні завдання для лабораторної роботи
- •3. Порядок виконання роботи
- •5. Контрольні питання
- •Структура програми на мові асемблер. Команди вітвлення та циклу
- •1. Теоретичні відомості
- •1.1 Механізми передачі керування та зміна послідовності виконання команд. Їх реалізація у мові асемблера. Типи адресації
- •1.2 Команда безумовного переходу jmp
- •1.3 Команда циклу loop
- •1.4 Команда порівняння cmp
- •1.5. Команди умовного переходу в мові асемблер
- •2. Варіанти індивідуальних завдань
- •3. Порядок виконання роботи
- •Виведення даних на монітор персонального комп’ютера
- •1. Теоретичні відомості
- •1.1. Представлення арифметичних та рядкових даних. Формати ascii та bcd. Команди корекції
- •1.2. Команди обробки рядкових даних мови асемблера
- •1.3. Переведення ascii-формату у двійковий формат та навпаки
- •Починаючи з молодшого байту обробляти число у лівому напрямку.
- •Вилучати трійки з шістнадцятирічних цифр кожного ascii-байту.
- •Множити отримані цифри на ваговий коефіцієнт кожного з розрядів та складати результати.
- •1.4. Введення та виведення даних в мові асемблера
- •1.5. Реалізація екранних операцій у мові програмування асемблер
- •2. Індивідуальні завдання для виконання лабораторної роботи №4
- •3. Порядок виконання роботи
- •5. Контрольні питання
- •Перелік рекомендованої літератури
- •Додаток 1 загальні вимоги до оформлення протоколів лабораторних робіт
- •Додаток 2 головні функції перериваннь bios та операційної системи ms-dos д2.1 переривання bios
- •Int 05h. Друк екрану.
- •Int 10h. Керування монітором (більш досконало функції переривання 10н описані у теоретичних відомостях до лабораторної роботи №4).
- •Int 11h. Запит списку приєднаного обладнання.
- •Д2.2 переривання ms-dos
- •Д2.3 головні функції перивання ms-dos int 21н
- •Додаток 3
Додаток 3
Таблиця 26. ASCII-коди символів
DEC |
HEX |
Символ |
DEC |
HEX |
Символ |
DEC |
HEX |
Символ |
DEC |
HEX |
Символ |
000 |
00H |
Нуль |
032 |
20H |
проміжок |
064 |
40H |
@ |
096 |
60H |
` |
001 |
01H |
Початок заголовку |
033 |
21H |
! |
065 |
41H |
A |
097 |
61H |
a |
002 |
02H |
Початок тексту |
034 |
22H |
« |
066 |
42H |
B |
098 |
62H |
b |
003 |
03H |
Кінець тексту |
035 |
23H |
# |
067 |
43H |
C |
099 |
63H |
c |
004 |
04H |
Кінець передачі |
036 |
24H |
$ |
068 |
44H |
D |
100 |
64H |
d |
005 |
05H |
КТМ |
037 |
25H |
% |
069 |
45H |
E |
101 |
65H |
e |
006 |
06H |
Так |
038 |
26H |
& |
070 |
46H |
F |
102 |
66H |
f |
007 |
07H |
Дзвоник |
039 |
27H |
‘ |
071 |
47H |
G |
103 |
67H |
g |
008 |
08H |
Повернення на крок назад |
040 |
28H |
( |
072 |
48H |
H |
104 |
68H |
h |
009 |
09H |
Горизонтальна табуляція |
041 |
29H |
) |
073 |
49H |
I |
105 |
69H |
i |
010 |
0AH |
Переведення рядку |
042 |
2AH |
* |
074 |
4AH |
J |
106 |
6AH |
j |
011 |
0BH |
Вертикальна табуляція |
043 |
2BH |
+ |
075 |
4BH |
K |
107 |
6BH |
k |
012 |
0CH |
Прокручення сторінки |
044 |
2CH |
, |
076 |
4CH |
L |
108 |
6CH |
l |
013 |
0DH |
Повернення каретки |
045 |
2DH |
- |
077 |
4DH |
M |
109 |
6DH |
m |
014 |
0EH |
Shift out |
046 |
2EH |
. |
078 |
4EH |
N |
110 |
6EH |
n |
015 |
0FH |
Shift in |
047 |
2FH |
/ |
079 |
4FH |
O |
111 |
6FH |
o |
016 |
10H |
Data line ESC |
048 |
30H |
0 |
080 |
50H |
P |
112 |
70H |
p |
017 |
11H |
Керування 1 |
049 |
31H |
1 |
081 |
51H |
Q |
113 |
71H |
q |
018 |
12H |
Керування 2 |
050 |
32H |
2 |
082 |
52H |
R |
114 |
72H |
r |
019 |
13H |
Керування 3 |
051 |
33H |
3 |
083 |
53H |
S |
115 |
73H |
s |
020 |
14H |
Керування 4 |
052 |
34H |
4 |
084 |
54H |
T |
116 |
74H |
t |
021 |
15H |
Ні |
053 |
35H |
5 |
085 |
55H |
U |
117 |
75H |
U |
022 |
16H |
Синхронізація |
054 |
36H |
6 |
086 |
56H |
V |
118 |
76H |
V |
023 |
17H |
Кінець блоку |
055 |
37H |
7 |
087 |
57H |
W |
119 |
77H |
W |
024 |
18H |
Анулювання |
056 |
38H |
8 |
088 |
58H |
X |
120 |
78H |
X |
025 |
19H |
Кінець сегменту |
057 |
39H |
9 |
089 |
59H |
Y |
121 |
79H |
Y |
026 |
1AH |
Заміна |
058 |
3AH |
: |
090 |
5AH |
Z |
122 |
7AH |
Z |
027 |
1BH |
Escape |
059 |
3BH |
; |
091 |
5BH |
[ |
123 |
7BH |
{ |
028 |
1CH |
Розділення файлу |
060 |
3CH |
< |
092 |
5CH |
\ |
124 |
7CH |
| |
029 |
1DH |
Розділення групи |
061 |
3DH |
= |
093 |
5DH |
] |
125 |
7DH |
} |
030 |
1EH |
Розділення запису |
062 |
3EH |
> |
094 |
5EH |
^ |
126 |
7EH |
~ |
031 |
1FH |
Розділення одиниці |
063 |
3FH |
? |
095 |
5FH |
_ |
127 |
7FH |
Backspace |
