Система команд. Команди пересилання даних . Робота з Турбо налагоджувачем

Інформація про навчальний заклад

ВУЗ:
Національний технічний університет України Київський політехнічний інститут
Інститут:
О
Факультет:
ІСМ
Кафедра:
Не вказано

Інформація про роботу

Рік:
2022
Тип роботи:
Лабораторна робота
Предмет:
Операційні системи

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний технічний університет України «Київський політехнічний інститут  ім. І. Сікорського» Кафедра автоматизації проектування енергетичних процесів і систем Лабораторна робота №5  з дисципліни «Операційні системи» «Система команд. Команди пересилання даних . Робота з Турбо налагоджувачем» Варіант №16 КИЇВ-2022 Мета: освоєння команд пересилання та отримання навичок налагодження асемблерних програм під керуванням Турбоналагоджувача TD. Теоретична частина: Для пересилання даних використовується команда MOV, яка має формат: Mov Приймач, Джерело, яка копіює дані з другого операнда (Джерело) у перший (Приймач). Синтаксис: MOV  регістр/пам’ять, регістр/пам’ять/безпосередній_операнд В якості приймача не можна використовувати регістр CS. Обидва операнди повинні бути одного розміра. Команда XCHG обмінює дані операнда-джерела і операнда-приймача. Дані можуть бути обмінені між регістрами і регістрами і пам'яттю. Формат: XCHG Приймач, Джерело Синтаксис: XCHG регістр/пам'ять, регістр/пам'ять Команда LEA завантажує адресу пам’яті у регістр, має формат: LEA Приймач, Джерело Синтаксис: LEA регістр, пам’ять Операндом-приймачем може бути будь-який загальний регістр, операндом-джерелом може бути будь-який операнд в пам’яті. Виконавча адреса операнда-приймача розташовується в регістр-приймач. Команда LEA мож використовуватися для обчислення виконавчої адреси операнда прямої адресації, хоча зазвичай це неефективно, тому що адреса операнда прямої адресації - константа, яка відома під час асемблювання. LEA DX, STRING MOV DX, OFFSET STRING Обидві команди призводять до однакового результату, однак друга команда більш швидкодіюча. Команда LEA є больш ефективною для обчислення виконавчих адресов непрямих операндів в пам’яті. LEA DX, STRING[SI] Окрім функції виведення рядка символів на екран 9Н, яка заноситься у старший байт регістра АХ, можна використати іншу функцію – 40Н, яка теж заноситься у старший байт регістра АХ. Для цього використовується дексриптор для роботи з екраном або файлом. Дексриптор – це число, яке вказує куди здійснюється виведення інформації: 00 – у файл, 01 – на дисплей. Функція 40Н переривання INT 21H призначена для роботи з дисплеєм. Для виклику цієї функції необхідно завантажити в регістри наступні значення: АН =40Н (код функції), ВХ=01 (дескриптор), СХ=Кількість символів, що виводиться, DX=Адреса рядка символів, що виводиться. Завдання: Налагодьте програми відповідно до індивідуальних завдань, продемонструйте роботу програми в середовищі налагоджувача ТD. Індивідуальне завдання: виключіть цифрові символи із символьного рядка "1RМ4DE5Е6 $" замінивши їх на символ ' ! '. Код для завдання 16 варіанту з коментарями: .model small ;модель пам'яті для exe файлів .stack 100h ;виділяємо PSP 256 байт .data ;початок сегменту даних Symbol db '!' ;змінна для заміни String db "1RM4DE5E6 $" ;змінна із символьним рядком CR_LF db 0dh, 0ah, '$' .code ;початок сегменту коду begin: mov ax, @data ; записуємо адресу сегменту дахих в ax mov ds, ax ; записуємо ax в ds mov ah, 40h ; підготовка і виведення вхідного рядка засобами DOS mov bx, 1 mov cx, 9 ; кількість символів, що виводиться lea dx, String int 21h mov ah, 9h ; виведення на екран mov dx, offset CR_LF ;переведення курсора на наступний рядок int 21h mov al, Symbol ;записуємо в регістр al значення Symbol mov String, al ; заміняємо 1-й символ на знак оклику mov String+3, al ; заміняємо 4-й символ на знак оклику mov String+6, al ; заміняємо 7-й символ на знак оклику mov String+8, al ; заміняємо 9-й символ на знак оклику mov ah, 40h ; підготовка і виведення отриманого рядка засобами DOS mov bx, 1 mov cx, 9 ; кількість символів, що виводиться lea dx, String int 21h mov ah, 4ch ; gовернення у середовище DOS int 21h end begin Створення *.EXE файлу та відкриття його у TD: / Вигляд TD після запуску lab5.exe : / Вигляд TD після проходження програми покроково за допомогою F7: / Виведення в консольному режимі отриманого результату: / Лістинг: / У 11-ому рядку команда mov записує адресу сегменту дахих в регістр ax. У 12-ому рядку команда mov записує ax в ds. У 13-ому рядку команда mov заносить функцію 40h у ah, що підготовляє і виводить вхідний рядок засобами DOS. У 16-ому рядку команда mov сx, 9 записує в регістр сх кількість символів, що виводяться. У 19-ому рядку команда mov ah, 9h виводить рядок симолів на екран. У 20-ому рядку команда mov dx, offset CR_LF переводить курсор на наступний рядок. У 23-ому рядку команда mov al, Symbol записує в регістр al значення Symbol. У 24-25их рядках команда mov mov String(+ номер елемента-1), al змінює елемент з значенням Symbol. У 25-ому рядку команда mov ah, 4ch повертає у середовище DOS. Висновок: У даній лабораторній роботі було освоєно команди пересилання та отримано навички налагодження асемблерних програм під керуванням TD. Також було детальніше ознайомлено з командами mov, xchg, lea. Виконано завдання згідно до варіанту. Зроблено звіт та надіслано викладачу.
Антиботан аватар за замовчуванням

31.07.2023 19:07-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!