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

1.2 Порядок виконання роботи

  1. Увійти в програмне середовище DOS.

  2. За допомогою текстового редактора ввести текст програми, наведений нижче, та зберегти його з розширенням *.asm в каталозі C:\CPU\TASM\WORK.

;Приклад 1-1. Проста програма з трьома сеґментами

;Вкажемо відповідність сеґментних реґістрів сеґментам

assume CS:code, DS:data ;Опишемо сеґмент команд

code segment ;Відкриваємо сеґмент коду

begin: mov AX,data ;Початкова ініціалізація

mov DS,AX ;сеґментного реґістра DS на сеґмент

;даних

;Виведемо на екран рядок тексту

mov АН,09h ;Функція DOS виведення на екран

mov DX,offset msg ;Адреса, де зберігається

;рядок що виводиться на екран

int 21h ;Виклик функції DOS

;Завершення програми

mov AX,4C00h ;Функція DOS завершення програми

int 21h ;Виклик функції DOS

code ends ;Закриваємо сеґмент коду

;Опишемо сеґмент даних

data segment ;Відкриваємо сеґмент даних

msg db "Програма працює!$” ;Рядок, що виводиться на екран

data ends ;Закриємо сеґмент даних

;Опишемо сеґмент стеку

stk segment stack ;Відкриваємо сеґмент стеку

db 256 dup (?) ;Відводимо під стек 256 байт

stk ends ;Закриваємо сеґмент стеку

end begin ;Кінець тексту програми

  1. Засобами операційної системи, або сервісної оболонки типу «Norton Commander», або «Volcov Commander» перейти до каталогу C:\CPU\TASM\WORK.

  2. У командному рядку ввести ім’я командного файлу: ta, а потім ім’я вихідного файлу з текстом програми без указування розширення *.asm.

  3. Виконати асемблерування та компонування файла.

  4. Перевірити правильність виконання програми. Виконати редаґування файла.

  5. Ознайомитися з інтерфейсом та з меню програми.

  6. Вийти коректно з програмного середовища.

1.3 Зміст звіту

  1. Титульна сторінка.

  2. Найменування та мета лабораторної роботи.

  3. Короткі теоретичні відомості.

  4. Отримане у викладача завдання (текст програми з докладними коментарями).

  5. Опис виконання кожного пункту завдання.

  6. Письмові відповіді на контрольні питання.

1.4 Контрольні запитання

  1. Призначення системи TASM. Які основні компоненти входять до її складу?

  2. Назвіть, які режими перегляду реґістрів процесора, для якого розробляється програма, надає Turbo Debugger, і стисло опишіть їх.

  3. Як установити у вікні відлагоджувача Turbo Debugger точки зупинки? Пояснити для чого вони використовуються.

  4. Опишіть призначення основних пунктів меню відлагоджувача Turbo Debugger.

  5. Опишіть основні етапи створення програми мовою асемблер для МП К1810ВМ86 з використанням відлагоджувальника Turbo Debugger.

Лабораторна робота № 2 вивчення системи команд мп к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 ;кінець програми

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