Введення в основи програмування на мові асемблер, за допомогою Win32API функцій.

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

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

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

Рік:
2014
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Системне програмування

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

Міністерство освіти і науки України Національний університет “Львівська політехніка” Кафедра АСУ Звіт до лабораторної роботи №1 з курсу « Системного програмування» на тему: «Введення в основи програмування на мові асемблер, за допомогою Win32API функцій.» Львів 2014 Мета роботи: навчитися використовувати функції Win32API при програмуванні в операційній системі Windows. Хід роботи: Об’єднати результати функцій GetComputerName, GetCurrentDirectory, GetUserName та GetWindowsDirectory в один рядок. Формат результату, аналогічний до варіанту №1. Замінити в рядку-результаті всі букви, ANSI значення яких парне число, на символ «!». Звернути увагу, потрібно накласти таку умову, щоб код Enter (#13 #10), було не змінні. Записую код програми: include user32.inc include kernel32.inc includelib user32.lib includelib kernel32.lib include advapi32.inc includelib advapi32.lib .data sztitle db 'Лабортаорна робота 1',0 szbuf1 db 1000 dup(0) size_buf1 dd 100 szbuf2 db 1000 dup(0) szbuf3 db 100 dup(0) szbuf4 db 1000 dup (0) rez db 1000 dup (0) szformat db 'ComputerName: %s',13, 10 db 'CurrentDirectory: %s', 13, 10 db 'UserName: %s',13, 10 db 'WindowsDirectory: %s', 0 .386 .model flat,STDCALL option casemap :none ;case sensitive include lab1.inc .code Begin: call main invoke ExitProcess,NULL main proc invoke GetComputerName, addr szbuf1, addr size_buf1 invoke GetCurrentDirectory, 255, addr szbuf2 invoke GetUserName, addr szbuf3, addr size_buf1 invoke GetWindowsDirectory, addr szbuf4, addr size_buf1 invoke wsprintf, addr rez, addr szformat, addr szbuf1, addr szbuf2, addr szbuf3, addr szbuf4 invoke MessageBox,0, addr rez,addr sztitle,MB_OK lea edi,rez td: mov al, [edi] and al, 1h cmp al, 0 jnz l1 mov al, [edi] cmp al, 65 jb l1 cmp al,122 ja l1 cmp al, 91 jb l2 cmp al, 96 ja l2 jmp l1 l2: mov al, '!' mov [edi], al l1: inc edi mov al, [edi] cmp al, 0 jnz td invoke MessageBox,0, addr rez, addr sztitle,MB_OK ret main endp end Begin Приклади виконання програми: / / Висновок: на цій лабораторній роботі я навчився використовувати функції Win32API при програмуванні в операційній системі Windows. Основний набір функцій знаходиться в бібліотеці kernel32.dll, котра складає ядро операційної системи Windows. В цій роботі я використав такі функції: GetComputerName, GetCurrentDirectory, GetUserName, GetWindowsDirectory та MessageBox. Для роботи з функцією GetUserName окремо підключив бібліотеку advapi32.lib. Замінив в рядку-результаті всі букви, ANSI значення яких парне число, на символ «!».
Антиботан аватар за замовчуванням

17.03.2015 22:03-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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