close

Вход

Забыли?

вход по аккаунту

?

ЛР9 Dll-файли

код для вставкиСкачать
 Міністерство освіти і науки України
Національний технічний університет "Харківський політехнічний інститут"
Кафедра "Обчислювальна техніка та програмування"
Звіт з лабораторної роботи №9
з теми "Дослідження програм з використанням динамічної бібліотеки"
з дисципліни "Системне програмування"
Виконав:
студент групи КІТ-31
Чухлатий Ю.А.
Перевірив:
Главчев М.I.
Харків 2012
Лабораторна робота №9. " Дослідження програм з використанням динамічної бібліотеки "
Мета заняття: - поглибити і закріпити знання з архітектури МП платформи х86 і навички його програмування;
- набути практичних навичок складання, налагодження і виконання програм з використанням Dll-файлів з використанням точки входу, написаних мовою асемблеру для програмування МП платформи х86. Дані, які виводяться, необхідно підписати. Вивести довідку про автора програми, номер варіанту, повністю все завдання та своєї e-mail.
Постановка задачі
7. Задано масив А з N = 70 елементів. Навести алгоритм та програму визначення кількості елементів масиву А, які задовольняють умову L > Ai > M, де L = 8 та M = 28. Текст програми:
Файл 9.asm
.386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\user32.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib
includelib \masm32\bin\MyLibDLL.lib
FindMas proto :BYTE
BSIZE equ 30
.data
st1 db "DLL-файлы",0
masA db 10 dup(2,10,-2,4,50,14,24)
st2 db "Исходный массив:",0ah
st3 db "2,10,-2,4,50,14,24",0ah,0ah
st4 db "L > Ai > M, де L = 8 та M = 28",0ah,0ah
buf db BSIZE dup(?)
frmt db "количество элементов",0ah
st5 db "удовлетворяюших условие = %d",0ah,0ah
st6 db "Чухлатый Юрий КИТ-31",0
N db 70
.code
_st:
mov ecx,70d
mov ebx,0
mov esi, offset masA
m1:
invoke FindMas,[esi]
inc esi loop m1
invoke wsprintf,ADDR buf,ADDR frmt, ebx
invoke MessageBox,0,ADDR st2,ADDR st1,MB_OK
invoke ExitProcess,0
end _st
Файл mydll.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
FindMas proto :BYTE
.data
hInst dd 0
.code
DllEntry proc instance:HINSTANCE, reason:DWORD, unused:DWORD
mov eax, reason
cmp eax, DLL_PROCESS_ATTACH
jnz _exit
push instance
pop hInst _exit:
and eax, 1
ret
DllEntry endp
FindMas proc res:BYTE mov ah,res
cmp ah, 8d
jl m2
cmp ah, 28d
jg m2
inc ebx
m2:
ret
FindMas endp
end DllEntry
Результат виконання програми :
Рис. 1
Висновки: Поглибили і закріпили знання з архітектури МП платформи х86 і навички його програмування.Набули практичних навичок складання, налагодження і виконання програм з використанням Dll-файлів з використанням точки входу, написаних мовою асемблеру для програмування МП платформи х86.
Документ
Категория
Рефераты
Просмотров
6
Размер файла
74 Кб
Теги
файл, лр9, dll
1/--страниц
Пожаловаться на содержимое документа