Студопедия — Model flat,stdcall
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Model flat,stdcall






option casemap: none; отличие строчных и прописных букв

PUBLIC Mas_sum

; константы

; сообщения, приходящие при открытии

; динамической библиотеки

DLL_PROCESS_DETACH equ 0

DLL_PROCESS_ATTACH equ 1

DLL_THREAD_ATTACH equ 2

DLL_THREAD_DETACH equ 3

Includelib kernel32.lib

Includelib user32.lib

ExitProcess proto: DWORD

Mas_sum proto: DWORD,: DWORD,: DWORD; прототип процедуры

Code

DLLENTRY:

Mas_sum proc EXPORT arg1: DWORD, arg2: DWORD, masiv: DWORD

Mov ebx, 0

Mov eax, masiv

Cmp eax, arg1

Jnc m1

Jmp _end

m1:

Cmp eax, arg2

Jc m2

Jmp _end

m2:

Inc ebx

_end:

Ret; возвращение управления ОС

Mas_sum endp; окончание процедуры с именем Mas_sum

; окончание программы с именем start

End DLLENTRY; директива окончания программы с именем DLLENTRY

Файл 1111dll.asm


.386

Model flat, stdcall

option casemap: none; отличие строчных и прописных букв

Include windows.inc

Include kernel32.inc

Include fpu.inc

Include user32.inc

Include msvcrt.inc

Includelib user32.lib

Includelib kernel32.lib

Includelib msvcrt.lib

Includelib fpu.lib

Includelib 1111.lib

ExitProcess proto: DWORD

Mas_sum proto: DWORD,: DWORD,: DWORD; прототип процедуры

Data; директива определения данные

_c dd 40

Sum dd 0

Op1 dd 6; запись в 32-разрядную память op1

Op2 dd 22; минимальных предел

frmt db " %d", 0

buf db 30 dup(?)

stdout DWORD?

stdin DWORD?

cRead dd?

temp dd?

Mas1 dd 40 dup(0)

st1 db " Vvesty masiv: "

st2 db " Вывод количества элементов в пределах (6, 22) массива! ", 0

St3 db 10 dup(0)

ifmt db " количество = %d", 0

Code; директива начала кода программы

_start:

Lea esi, mas1; загрузка адреса начала массива

Mov ecx, _c

m1:

Mov ebx, ecx

Invoke GetStdHandle, STD_OUTPUT_HANDLE

Mov stdout, eax

Invoke GetStdHandle, STD_INPUT_HANDLE

Mov stdin, eax

Invoke WriteConsoleA, stdout, ADDR st1, 14, NULL, NULL; VIVOD ST1

invoke ReadConsole, stdin, ADDR buf, 20, \

ADDR cRead, NULL; чтения числа как символ

Invoke crt_atoi, ADDR buf; преобразовать символ в число

mov [esi], eax

Add esi, 4

Mov ecx, ebx

Loop m1

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Mov ecx, _c

Lea esi, mas1; загрузка адреса начала массива

mov eax, [esi]; загрузка числа

m3:

Invoke Mas_sum, op1, op2, eax

Add sum, ebx

Add esi, 4; расчет адреса нового числа

mov eax, [esi]

Loop m3

Mov ebx, sum

invoke wsprintf, \

ADDR st3, \

ADDR ifmt, \

Ebx

invoke MessageBox, \

NULL, \

addr st3, \

addr st2, \

MB_OK

Invoke ExitProcess, 0

Ret







Дата добавления: 2014-11-10; просмотров: 884. Нарушение авторских прав; Мы поможем в написании вашей работы!



Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Толкование Конституции Российской Федерации: виды, способы, юридическое значение Толкование права – это специальный вид юридической деятельности по раскрытию смыслового содержания правовых норм, необходимый в процессе как законотворчества, так и реализации права...

Значення творчості Г.Сковороди для розвитку української культури Важливий внесок в історію всієї духовної культури українського народу та її барокової літературно-філософської традиції зробив, зокрема, Григорій Савич Сковорода (1722—1794 pp...

Постинъекционные осложнения, оказать необходимую помощь пациенту I.ОСЛОЖНЕНИЕ: Инфильтрат (уплотнение). II.ПРИЗНАКИ ОСЛОЖНЕНИЯ: Уплотнение...

Способы тактических действий при проведении специальных операций Специальные операции проводятся с применением следующих основных тактических способов действий: охрана...

Искусство подбора персонала. Как оценить человека за час Искусство подбора персонала. Как оценить человека за час...

Этапы творческого процесса в изобразительной деятельности По мнению многих авторов, возникновение творческого начала в детской художественной практике носит такой же поэтапный характер, как и процесс творчества у мастеров искусства...

Studopedia.info - Студопедия - 2014-2024 год . (0.007 сек.) русская версия | украинская версия