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

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

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

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

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

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

Міністерство освіти і науки України Національний технічний університет України «Київський політехнічний інститут ім. І. Сікорського» Кафедра автоматизації проектування енергетичних процесів і систем Лабораторна робота № 5 з дисципліни «Операційні системи» «Система команд. Команди пересилання даних . Робота з Турбоналагоджувачем» Робота студентки 1 курсу групи ТР-15, Чубукової Анастасії Перевірила д.т.н., проф. Левченко Л.О. КИЇВ 2022 Мета: Освоєння команд пересилання та отримання навичок налагодження асемблерних програм під керуванням Турбоналагоджувача TD . Індивідуальне завдання: Побудуйте символьний рядок виду "a+b++c+abc+ba $" із символів 'а', 'b', ' с' ,' +'. Теоретична частина Для пересилання даних використовується команда 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=Адреса рядка символів, що виводиться. Кодова сторінка За замовчанням в Dosbox командний інтерпретатор cmd.exe використовує кодову сторінку 866 (DOS кодування). Для відображення кириличних символів компанія Microsoft для ОС Windows розробила русифікатор Windows в кодуванні win 1251. Найпоширенішою в інтернеті кодуванням є UTF-8 - кодова сторінка 65001. Вона включає в себе більше двох мільйонів символів: всі можливі сучасні алфавіти, цифри, розділові знаки, математичні та спеціальні символи, музичні знаки і символи вимерлих форм писемності. Для зміни кодової сторінки в командному інтерпретаторі cmd.exe використовується команда chcp: Chcp <код>, наприклад, Chcp 1251. Також потрібно вибрати шрифт Lucida Console. Для цього необхідно правою кнопкою в заголовку вікна DOSBox Status Window вибрати команду Свойства вкладка Шрифт вибрати шрифт Lusida Console. Виконання завдання Код програми ;Лабораторна робота 5 ;Виконала: Чубукова. А. О., гр. ТР-15, дата: 03.06.2022 ;Команди пересилання .model small ;модель пам'яті для exe файлів .stack 100h ;виділення PSP 256 байт Datas segment ;початок сегменту даних String db 'a' ;змінні символів, з яких утворюється символьний рядок Db 'b' Db 'c' Db '+' CR_LF db 0dh,0ah, '$' Datas ends Codes segment Assume cs:Codes,ds:Datas First: mov ax, Datas mov ds, ax mov ah, 40h ;підготовка і виведення вихідного рядка String засобами DOS mov bx, 1 ;початковий символ mov cx, 13 ;кількість символів, які необхідно вивести lea dx, String int 21h mov ah, 9h ; Виведення на екран mov dx, offset CR_LF ;переведення курсора на наступний рядок int 21h mov String+1, '+' ;записуємо в регістр другий елемент зі значенням + mov String+2, 'b' ;записуємо в регістр наступний елемент зі значенням b mov String+3, '+' ;записуємо в регістр наступний елемент зі значенням + mov String+4, '+' ;записуємо в регістр наступний елемент зі значенням + mov String+5, 'c' ;записуємо в регістр наступний елемент зі значенням c mov String+6, '+' ;записуємо в регістр наступний елемент зі значенням + mov String+7, 'a' ;записуємо в регістр наступний елемент зі значенням a mov String+8, 'b' ;записуємо в регістр наступний елемент зі значенням b mov String+9, 'c' ;записуємо в регістр наступний елемент зі значенням c mov String+10, '+' ;записуємо в регістр наступний елемент зі значенням + mov String+11, 'b' ;записуємо в регістр наступний елемент зі значенням b mov String+12, 'a' ;записуємо в регістр останній елемент зі значенням a mov ah, 40h ;підготовка і виведення результуючого рядка засобами DOS mov bx, 1 ;початковий символ mov cx, 13 ;кількість символів, які необхідно вивести lea dx, String int 21h mov ah, 4ch ;повернення у середовище DOS int 21h Codes ends end First ;кінець програми Після цього створюємо файл *.exe в DOSBox: / Вигляд турбоналагоджувача після запуску виконуваного файлу lab5.exe: / Виконуємо програму натиснувши F9 і переходимо у DOSBox комбінацією ALT+F5, щоб подивитися отриманий результат. / Висновок: У ході виконання лабораторної роботи було освоєно команди пересилання та отримано навички налагодження асемблерних програм під керуванням Турбоналагоджувача TD. Під час виконання індивідуального завдання було розглянуто такі нові команди як xchg, lea, нову функцію виводу на екран 40H, а також детальніше розглянуто використовувану раніше команду mov.
Антиботан аватар за замовчуванням

23.05.2023 13:05-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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