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

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

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; просмотров: 913. Нарушение авторских прав; Мы поможем в написании вашей работы!




Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


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


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


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

Разработка товарной и ценовой стратегии фирмы на российском рынке хлебопродуктов В начале 1994 г. английская фирма МОНО совместно с бельгийской ПЮРАТОС приняла решение о начале совместного проекта на российском рынке. Эти фирмы ведут деятельность в сопредельных сферах производства хлебопродуктов. МОНО – крупнейший в Великобритании...

ОПРЕДЕЛЕНИЕ ЦЕНТРА ТЯЖЕСТИ ПЛОСКОЙ ФИГУРЫ Сила, с которой тело притягивается к Земле, называется силой тяжести...

СПИД: морально-этические проблемы Среди тысяч заболеваний совершенно особое, даже исключительное, место занимает ВИЧ-инфекция...

КОНСТРУКЦИЯ КОЛЕСНОЙ ПАРЫ ВАГОНА Тип колёсной пары определяется типом оси и диаметром колес. Согласно ГОСТ 4835-2006* устанавливаются типы колесных пар для грузовых вагонов с осями РУ1Ш и РВ2Ш и колесами диаметром по кругу катания 957 мм. Номинальный диаметр колеса – 950 мм...

Философские школы эпохи эллинизма (неоплатонизм, эпикуреизм, стоицизм, скептицизм). Эпоха эллинизма со времени походов Александра Македонского, в результате которых была образована гигантская империя от Индии на востоке до Греции и Македонии на западе...

Демографияда "Демографиялық жарылыс" дегеніміз не? Демография (грекше демос — халық) — халықтың құрылымын...

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