ОСОБЛИВОСТІ ПРОГРАМУВАННЯ З ВИКОРИСТАННЯМ ФУНКЦІЙ АРІ

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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКТА
Факультет:
КН
Кафедра:
Кафедра електронні обчислювальні машини

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

Рік:
2016
Тип роботи:
Лабораторна робота
Предмет:
Системне програмування та операційні системи

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

Міністерство освіти і науки України Національний університет “Львівська політехніка” Кафедра «Електронні обчислювальні машини» Лабораторна робота №2 “ОСОБЛИВОСТІ ПРОГРАМУВАННЯ З ВИКОРИСТАННЯМ ФУНКЦІЙ АРІ” з дисципліни: “Системного програмування” Мета роботи: Ознайомитись з можливостями програмування на Асемблері під Windows та засвоїти навики використання функцій АРІ. Порядок виконання роботи: Набрати подану нижче програму для визначення імені комп'ютера (яке задається системним адміністратором при установці операційної системи), зберегти її у файлі з розширенням ".ASM ". Відкомпілювати за допомогою MASM32 набрану програму та запустити одержаний exe-файл на виконання. Записати ім'я комп'ютера, яке отримала програма. Розглянути текст програми, вивчити загальну структуру програми із застосуванням функцій Win32 API. Замінити виклик функції API GetComputerNameA на виклик однієї з функцій (згідно варіанту), змінивши відповідним чином параметри. Створити ехе-файл модифікованої програми та продемонструвати його роботу. Підготувати та захистити звіт. В звіті обов’язково мають бути описані параметри виклику функції. 19 CharLowerA   Виконання роботи: Лістинг програми .586 ;для процесора не нижче INTEL-586 .model flat, STDCALL ;компілювати як програму для WIN32 option casemap :none ;код чутливий до регістру літер ;Визначення зовнішніх процедур: include \masm32\include\windows.inc ;завжди першим include \masm32\macros\macros.asm ;підтримка макросів MASM ;-------------------------------підключення файлів з форматами прототипів виклику функцій include \masm32\include\masm32.inc include \masm32\include\gdi32.inc include \masm32\include\user32.inc include \masm32\include\kernel32.inc ;-------------------------------підключення заголовків бібліотек експортованих функцій includelib \masm32\lib\masm32.lib includelib \masm32\lib\gdi32.lib includelib \masm32\lib\user32.lib includelib \masm32\lib\kernel32.lib .data ;вміст сегменту даних _title db ' Лабораторна робота № 5 ', 0 ;текст заголовку _message_ConvertToLower db ' ConvertToLowerCase character ', 0 ;текст повідомлення _message_ERROR db ' ERROR: illegal characters ',0 ;текст повідомлення _Symbol db 'Program',0 ;текст, який перевіряємо .code ;вміст сегменту коду Start: ;формування параметрів для виклику заданої функції xor eax, eax mov al, _Symbol push eax ;завантаження даного символу .IF ( EAX >= 'A' && EAX <= 'Z' ) || ( EAX >= 'a' && EAX <= 'z' ) .ELSE mov EBX, 0 jmp error ;перехід, якщо не виконується умова .ENDIF call CharLowerA ;виклик функції API error: ;формування параметрів вікна для відображення результату push 40h ;стиль вікна - одна кнопка "ОК" push offset _title ;адреса рядка із заголовком .IF EBX == 0 ;адреса потрібного повідомлення push offset _message_ERROR jmp go_error ;перехід, якщо помилка .ENDIF .IF EAX push offset _message_ConvertToLower .ENDIF go_error: push 0 ;хендл програми-власника вікна call MessageBoxA ;виклик функції API push 0 ;код виходу з програми call ExitProcess ;завершення програми end Start ;закінчення сегменту коду Параметри виклику функції: Функція CharLower конвертує рядок символів або одиничний символ у нижній регістр. Якщо операнд - рядок символів, функція перетворює символи на місці. LPTSTR CharLower (      LPTSTR lpsz ); Результати виконання програми: / / а) б) Рис.1 Результат виконання програми. Повідомлення, що перший символ даного рядка а) відконвертувало у нижній регістрі; б) помилковий і не є літерою англійської абетки. Висновки: Під час виконання даної лабораторної роботи, я ознайомився з можливостями програмування на ассемблерній мові під Windows та засвоїв навики використання функцій АРІ.
Антиботан аватар за замовчуванням

10.02.2017 12:02-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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