DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

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

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

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

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

Рік:
2023
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Операційні системи

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

Міністерство освіти і науки України Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» Теплоенергетичний факультет Кафедра автоматизації проектування енергетичних процесів і систем Звіт до лабораторної роботи №5 з дисципліни «Операційні системи» Тема «Система команд. Команди пересилання даних . Робота з Турбоналагоджувачем» Варіант 12 КИЇВ-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=Адреса рядка символів, що виводиться. За замовчанням в Dosbox командний інтерпретатор cmd.exe використовує кодову сторінку 866 (DOS кодування). Для відображення кириличних символів компанія Microsoft для ОС Windows розробила русифікатор Windows в кодуванні win 1251. Для зміни кодової сторінки в командному інтерпретаторі cmd.exe використовується команда chcp: Chcp <код>, наприклад, Chcp 1251. Також потрібно вибрати шрифт Lucida Console. Для цього необхідно правою кнопкою в заголовку вікна DOSBox Status Window вибрати команду Свойства вкладка Шрифт вибрати шрифт Lusida Console. Завдання :Розмістити в порядку спадання цифри в символьному рядку виду " 97154823$". Код програми ;Лабораторна робота №5 ;Виконала: Ткаченко Майя Вадимівна, ТР-15, 02.06.22 ;Команди пересилання ;Варіант-12.Завдання:Розмістити в порядку спадання ;цифри в символьному рядку виду " 97154823$" .model small .stack 100h data segment range db "97154823 $" CR_LF db 0dh,0ah, "$" data ends commands segment assume cs:commands,ds:data pochatok: ;<~~ Виведення початкового рядка ~~> mov ax,data ;запис адреси сегменту даних в регістр ах mov ds,ax ;запис вмісту ах (адреси сегменту даних) в регістр сегменту даних mov ah, 40h ;підготовка і виведення початкового масиву засобами DOS mov bx, 0 mov cx, 8 ;кількість елементів, які виводяться lea dx, range int 21h mov ah, 9h ;виведення на екран mov dx, offset CR_LF ; перехід на новий рядок int 21h ;<<<== Перестановка елементів рядка ==>>> mov ah, range+5 ;записуємо в регістр аh 5-те значення рядка xchg range+1, ah xchg range+2, ah xchg range+7, ah xchg range+5, ah ;<<<== Кінець перестановки ==>>> ;<~~ Виведення рядка після перестановки ~~> mov ah, 40h mov bx, 0 mov cx, 8 lea dx,range int 21h mov ah, 4ch ;повернення у середовище DOS int 21h commands ends end pochatok Створення файлу з розширенням EXE / Робота з TD Вигляд TD після запуску. / Натискаємо F8 -покрокове виконання програми. / Регістр АХ зазнає змін оскільки туди ми завантажуємо адресу початку сегменту даних. Також зазнав змін регістр вказівник-команд (IP), з минулих робіт пам’ятаємо, що він змінюватиметься постійно, оскільки вказує на поточну команду. / Бачимо, що зазнав змін регістр DS оскільки туди ми завантажили вміст регістру АХ. / Регістр АХ зазнав змін, оскільки його старші біти були задіяні в виклику функції 40Н. / Ми записали в регістр СХ кількість елементів, що виводятьтся,тому можна побачити, як він змінив своє значення. / Також під час перестановки елементів, активними є лише регістри АХ і ІР. Результати покрокового виконання програми. / Результати роботи з TD після переходу в консольний режим. / Висновок Під час виконання даної лабораторної роботи освоєно команди пересилання та отримано навички налагодження асемблерних програм під керуванням Турбоналагоджувача TD. Написано програму, яка переставляє елементи рядка в порядку спадання, проаналізовано вмістр регістрів під час покрокового виконання програми в TD.
Антиботан аватар за замовчуванням

14.06.2023 20:44

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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