Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodychka-lab_OS.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.35 Mб
Скачать

8. Приклад передачі даних у функцію бібліотеки Створення динамічно завантажуваної бібліотеки

;-------------------------------------

; The_Dll.asm

;-------------------------------------

.386

.model flat,stdcall

option casemap:none

include \masm32\include\windows.inc

include \masm32\include\user32.inc

include \masm32\include\kernel32.inc

includelib \masm32\lib\user32.lib

includelib \masm32\lib\kernel32.lib

.data

AppName db "My_DLL",0

.code

DllEntry proc hInstance:HINSTANCE, reason:DWORD, reserved1:DWORD

mov eax,TRUE

ret

DllEntry Endp

TestHello proc lpszText:DWORD

invoke MessageBox,NULL, lpszText, addr AppName,MB_OK

ret

TestHello endp

invoke ExitProcess, NULL

End DllEntry

Передача параметру у функцію бібліотеки

;--------------------------------------------------

; Use_DLL.asm

;---------------------------------

.386

.model flat,stdcall

option casemap:none

include \masm32\include\windows.inc

include \masm32\include\kernel32.inc

includelib The_DLL.lib

includelib \masm32\lib\kernel32.lib

TestHello PROTO :DWORD

.data

Message db "Hello, World",0

.code

start:

invoke TestHello, addr Message

invoke ExitProcess,NULL

end start

9. Хід роботи

  1. Ознайомитись з основними теоретичними відомостями даної лабораторної роботи.

  2. Ознайомитись з приведеними в теоретичних відомостях прикладами програм.

  3. Ознайомитись з додатковими джерелами, приведеними в п.13 (Література).

  4. Затвердити номер індивідуального завдання у викладача.

  5. Виконати завдання згідно з номером.

10. Зміст звіту

Звіт повинен містити:

  • титульну сторінку;

  • мету роботи;

  • завдання, робочий варіант тексту програми, результат виконання програми;

  • короткі висновки по проведеній роботі.

11. Завдання

Розробити на мові асемблер для ОС Windows програми, використовуючи пакет MASM32. Результат виводиться на екран.

На 60 балів потрібно розробити дві програми. Одна програма має створювати динамічно завантажувану бібліотеку. Дана бібліотека має містити функцію, котра виводить Ф.І.П. у вікні повідомлення. Інша програма має завантажити цю бібліотеку використовуючи директиву includelib та викликати дану функцію з динамічно завантажуваної бібліотеки.

Тип вікна повідомлення – згідно варіанту:

Тип

1

2

MB_ABORTRETRYIGNORE

3

4

MB_OK

5

6

MB_OKCANCEL

7

8

MB_RETRYCANCEL

9

10

MB_YESNO

11

12

MB_YESNOCANCEL

13

14

MB_ICONEXCLAMATION

15

16

MB_ICONWARNING

17

18

MB_ICONINFORMATION

19

20

MB_ICONASTERISK

21

22

MB_ICONQUESTION

23

24

MB_ICONSTOP

25

26

MB_ICONERROR

27

28

MB_ICONHAND


На 75 балів потрібно розробити дві програми. Одна програма має створювати динамічно завантажувану бібліотеку. Дана бібліотека має містити функцію, котра виводить Ф.І.П. у вікні повідомлення (тип повідомлення згідно завдання на 60 балів). Інша програма має завантажити цю бібліотеку використовуючи функцію LoadLibrary та викликати дану функцію з динамічно завантажуваної бібліотеки.

На 95 балів потрібно розробити дві програми згідно варіанту.

  1. Розробити динамічно завантажувану бібліотеку, котра містить функцію, що виводить у вікні повідомлення поточний день тижня (Понеділок, …).

Розробити другу програму, котра використовує цю функцію.

  1. Розробити динамічно завантажувану бібліотеку, котра містить функцію, що виводить у вікні повідомлення поточну директорію розміщення системних файлів ОС Windows. Розробити другу програму, котра використовує цю функцію.

  2. Розробити динамічно завантажувану бібліотеку, котра містить функцію, що виводить у вікні повідомлення поточні координати курсору . Розробити другу програму, котра використовує цю функцію.

  3. Розробити динамічно завантажувану бібліотеку, котра містить функцію, що виводить у вікні повідомлення поточний час (00:00:00). Розробити другу програму, котра використовує цю функцію.

  4. Розробити динамічно завантажувану бібліотеку, котра використовує функцію, що виводить отриманий параметр у вікно повідомлення. Розробити другу програму, котра передає поточний день тижня (Понеділок, …) параметром у функцію бібліотеки.

  5. Розробити динамічно завантажувану бібліотеку, котра містить функцію, що виводить у вікні повідомлення поточне ім’я користувача . Розробити другу програму, котра використовує цю функцію.

  6. Розробити динамічно завантажувану бібліотеку, котра містить функцію, що виводить у вікні повідомлення поточне ім’я комп’ютера. Розробити другу програму, котра використовує цю функцію.

  7. Розробити динамічно завантажувану бібліотеку, котра використовує функцію, що виводить отриманий параметр у вікно повідомлення. Розробити другу програму, котра передає поточний час (00:00:00) параметром у функцію бібліотеки.

  8. Розробити динамічно завантажувану бібліотеку, котра містить функцію, що виводить у вікні повідомлення поточний місяць (Січень,…). Розробити другу програму, котра використовує цю функцію.

  9. Розробити динамічно завантажувану бібліотеку, котра використовує функцію, що виводить отриманий параметр у вікно повідомлення. Розробити другу програму, котра передає поточні координати курсору параметром у функцію бібліотеки.

  10. Розробити динамічно завантажувану бібліотеку, котра використовує функцію, що виводить отриманий параметр у вікно повідомлення. Розробити другу програму, котра передає поточний місяць (Січень,…) параметром у функцію бібліотеки.

  11. Розробити динамічно завантажувану бібліотеку, котра використовує функцію, що виводить отриманий параметр у вікно консолі. Розробити другу консольну програму, що передає поточний місяць (Січень,..) параметром у функцію бібліотеки.

  12. Розробити динамічно завантажувану бібліотеку, котра використовує функцію, що виводить отриманий параметр у вікно повідомлення. Розробити другу програму, що передає поточне ім’я комп’ютера параметром у функцію бібліотеки.

  13. Розробити динамічно завантажувану бібліотеку, котра містить функцію, що виводить у вікні повідомлення поточну директорію розміщення ОС Windows.

  14. Розробити динамічно завантажувану бібліотеку, котра використовує функцію, що виводить отриманий параметр у вікно консолі. Розробити другу консольну програму, що передає поточне ім’я комп’ютера параметром у функцію бібліотеки.

  15. Розробити динамічно завантажувану бібліотеку, котра використовує функцію, що виводить отриманий параметр у вікно повідомлення. Розробити другу програму, що передає поточні координати курсору параметром у функцію бібліотеки

  16. Розробити динамічно завантажувану бібліотеку, котра використовує функцію, що виводить отриманий параметр у вікно консолі. Розробити другу консольну програму, що передає поточний час (00:00:00) параметром у функцію бібліотеки.

  17. Розробити динамічно завантажувану бібліотеку, котра використовує функцію, що виводить отриманий параметр у вікно повідомлення. Розробити другу програму, котра передає поточну директорію розміщення системних файлів ОС Windows параметром у функцію бібліотеки.

  18. Розробити динамічно завантажувану бібліотеку, котра використовує функцію, що виводить отриманий параметр у вікно консолі. Розробити другу консольну програму, що передає Поточний місяць (Січень,..) параметром у функцію бібліотеки.

  19. Розробити динамічно завантажувану бібліотеку, котра використовує функцію, що виводить отриманий параметр у вікно повідомлення Розробити другу програму, що передає поточну дату (00.00.00) параметром у функцію бібліотеки.

  20. Розробити динамічно завантажувану бібліотеку, котра використовує функцію, що виводить отриманий параметр у вікно консолі. Розробити другу консольну програму, що передає поточну дату (00.00.00) параметром у функцію бібліотеки.

  21. Розробити динамічно завантажувану бібліотеку, котра використовує функцію, що виводить отриманий параметр у вікно консолі. Розробити другу консольну програму, що передає поточну директорію розміщення ОС Windows параметром у функцію бібліотеки.

  22. Розробити динамічно завантажувану бібліотеку, котра використовує функцію, що виводить отриманий параметр у вікно повідомлення. Розробити другу програму, що передає поточний день тижня (Понеділок,…) параметром у функцію бібліотеки.

  23. Розробити динамічно завантажувану бібліотеку, котра використовує функцію, що виводить отриманий параметр у вікно повідомлення. Розробити другу програму, що передає поточну директорію розміщення системних файлів ОС Windows.

  24. Розробити динамічно завантажувану бібліотеку, котра використовує функцію, що виводить отриманий параметр у вікно консолі. Розробити другу консольну програму, що передає поточне ім’я користувача параметром у функцію бібліотеки.

  25. Розробити динамічно завантажувану бібліотеку, котра використовує функцію, що виводить отриманий параметр у вікно консолі. Розробити другу консольну програму, що передає поточну дату (00.00.00) параметром у функцію бібліотеки.

  26. Розробити динамічно завантажувану бібліотеку, котра використовує функцію, що виводить отриманий параметр у вікно консолі. Розробити другу консольну програму, що передає поточну директорію розміщення ОС Windows параметром у функцію бібліотеки.

  27. Розробити динамічно завантажувану бібліотеку, котра використовує функцію, що виводить отриманий параметр у вікно консолі. Розробити другу консольну програму, що передає поточне ім’я користувача параметром у функцію бібліотеки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]