Читайте также:
|
|
ВИВЧЕННЯ СИСТЕМИ КОМАНД МП К1810ВМ86, КОМАНДИ ПЕРЕДАВАННЯ ДАНИХ, МАТЕМАТИЧНИХ ОПЕРАЦІЙ
Мета роботи. | Освоїти лінійне програмування мовою Асемблер для процесорів К1810ВМ86. Вивчення використання команд обміну даними, математичних та логічних команд. |
2.1 Теоретичні відомості
Система команд мікропроцесора К1810ВМ86 містить близько 130 машинних команд. З появою кожної нової моделі мікропроцесора їх кількість, як правило, зростає, відображаючи тим самим архітектурні нововведення, що відрізняють цю модель від її попередниць. Набір машинних команд можна структурувати по групах і підгрупах. Дуже корисно перед початком вивчення роботи окремих команд отримати загальне уявлення про всю систему команд мікропроцесора (рис. 2.1).
Рис. 2.1 - Машинні команди МП К1810ВМ86 та їх функціональні групи
Формати команд МП К1810ВМ86/8088
Система команд мікропроцесора К1810ВМ86 складається з таких груп ко-манд: команди пересилання даних; команди арифметичних операцій; команди логічних операцій; команди маніпуляції ланцюжками; команди передачі керу-вання; команди керування мікропроцесором.
Цілочисловий обчислювальний пристрій підтримує трохи більше десятка арифметичних команд. На рис. 2.2 приведена класифікація команд цієї групи.
Рис. 2.2 - Класифікація арифметичних команд
Група арифметичних цілочислових команд працює з двома типами чисел:
- цілими двійковими числами. Числа можуть мати знаковий розряд або не мають такого, тобто є числами із знаком або без знака;
- цілими десятковими числами.
Діапазон значень двійкового числа залежить від його розміру і трактування старшого біта, або як старшого значущого біта числа, або як біта знака числа.
; prg_2_1.asm
masm
model small
stack 256
.data;початок сеґмента даних
Реr_1 db 23;блок
per_2 dw 9856;визначення змінних
per_3 dd 9875645
per_4 dw 29857
.code;початок сеґмента коду
main:;точка входу в програму
mov ax.edata;зв'язуємо реґістр DX з сеґментом
mov ds.ax;даних через реґістр АХ
exit:;подивитися у відладчику дамп сеґменту даних
mov ах,4С00h;стандартний вихід
int 21h
end main;кінець програми
Для опису двійково-десяткові числа в програмі можна використовувати тільки дві директиви опису та ініціалізації даних - db і dt.
;prg_2_2.asm
masm
model small
stack 256
.data;сеґмент даних
per_1 db 2,3,4,6,8,2;неупаковане BCD-число 286432
per_3 dt 9875645;упаковане BCD-число 9875645
.code;сеґмент коду
main:;точка входу в програму
mov ах,@data;зв'язуємо реґістр DX з сеґментом
mov ds,ax;даних через реґістр АХ
exit:;подивитися у відладчику дамп сеґменту даних
mov ах,4c00h;стандартний вихід
int 21h
end main;кінець програми
Розглянемо приклад обчислення суми чисел (лістинг 2.3).
;prg_2_3.asm
masm
model small
stack 256
.data
а db 254
.code;сеґмент коду
main:
mov ах,@data
mov ds.ax
...
xor ах,ах
add al,17
add al,a
jnc m1;якщо немає перенесення, то перейти на m1
adc ah,0;в АХ сума з урахуванням перенесення
m1:...
exit:
mov ах,4c00h;стандартний вихід з програми
int 21h
end main;кінець програми
Дата добавления: 2015-11-14; просмотров: 52 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Порядок виконання роботи | | | ЛАБОРАТОРНА РОБОТА №3 |