Professional Documents
Culture Documents
Untitled
Untitled
Лабораторна робота №5
Структура програми на Асемблері.
Програмування простих арифметичних та логічних операцій
1. Теоретичні відомості
5
Архітектура комп’ютерів
6
Архітектура комп’ютерів
Вираз може містити константу, наприклад: FLD1 DB 25, або знак питання
для невизначеного значення, наприклад: FLD2 DB ?
Вираз може містити кілька констант, розділених комами й обмеженими
тільки довжиною рядка:
FLD3 DB 11, 12, 13, 14, 15, 16, ...
Приклади повторення:
FLD4 DW 10 DUP(?) ;Десять невизначених слів
7
Архітектура комп’ютерів
Цілочисельні дані
Цілі числа в асемблері можуть бути представлені в 1-, 2-, 4- або 8-байтній
формі. Цілочисельні дані можуть представлятися у знаковій і беззнаковій формі.
Беззнакові цілі числа представляються у вигляді послідовності бітів в
діапазоні від 0 до 2n-1 (рис. 5.1), де n – кількість займаних бітів.
Знакові цілі числа представляються в діапазоні -2n-1 ... + 2n-1-1 (рис. 5.2).
При цьому старший біт даного відводиться під знак числа (0 відповідає
позитивному числу, 1 - негативному).
8
Архітектура комп’ютерів
Числові константи
Числові константи використовуються для позначення арифметичних
операндів і адрес пам'яті. Для числових констант в Асемблері можуть
використовуватися такі числові формати.
і ланцюжки
Масивом називається послідовний набір однотипних даних, іменований
одним ідентифікатором.
Ланцюжок - масив, який має фіксований набір початкових значень.
9
Архітектура комп’ютерів
де Ідентифікатор - ім'я масиву; Тип - визначає кількість байт, які займає один
елемент; Розмір - константа, що характеризує кількість елементів в масиві;
Значення - початкове значення елементів.
Наприклад: a DD
20 DUP (0),
10
Архітектура комп’ютерів
Від’ємні числа
Якщо число десяткове, то перед ним ставлять знак мінус (наприклад, -26).
Якщо число двійкове або шістнадцяткове, то його вводять у доповняльному коді.
Число -32: 11100000b або 0E0h.
11
Архітектура комп’ютерів
Команда Опис
AAA Корекція AX після додавання двох неупакованих двійково-десяткових чисел
AAS Корекція AX після віднімання двох неупакованих двійково-десяткових чисел
AAM Корекція AX після множення двох неупакованих двійково-десяткових чисел
AAD Корекція AX перед діленням двох неупакованих двійково-десяткових чисел
Команда Опис
DAA Корекція AL після додавання двох упакованих двійково-десяткових чисел
DAS Корекція AL після віднімання двох упакованих двійково-десяткових чисел
12
Архітектура комп’ютерів
13
Архітектура комп’ютерів
int 21h
4.
3
Обчислити вираз: y a *ca , де а=12, б=5, с=4.
8b
1. Створіть новий exe-файл та введіть програмний код на мові
асемблера:
const segment
const1 equ 3
const2 equ 8
ends data
segment
val_a db 12
val_b db 5
14
Архітектура комп’ютерів
val_c db 4
y db 0
mes db "rezultat y=$"
ends stack segment
dw 128 dup(0) ends
code segment start:
mov ax, data
mov ds, ax mov
es, ax
15
Архітектура комп’ютерів
start
16
Архітектура комп’ютерів
Загальні висновки:
3. Індивідуальна робота
Контрольні питання
17
Архітектура комп’ютерів
18