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

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

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




Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


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


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

Уравнение волны. Уравнение плоской гармонической волны. Волновое уравнение. Уравнение сферической волны Уравнением упругой волны называют функцию , которая определяет смещение любой частицы среды с координатами относительно своего положения равновесия в произвольный момент времени t...

Медицинская документация родильного дома Учетные формы родильного дома № 111/у Индивидуальная карта беременной и родильницы № 113/у Обменная карта родильного дома...

Основные разделы работы участкового врача-педиатра Ведущей фигурой в организации внебольничной помощи детям является участковый врач-педиатр детской городской поликлиники...

Тема: Изучение фенотипов местных сортов растений Цель: расширить знания о задачах современной селекции. Оборудование:пакетики семян различных сортов томатов...

Тема: Составление цепи питания Цель: расширить знания о биотических факторах среды. Оборудование:гербарные растения...

В эволюции растений и животных. Цель: выявить ароморфозы и идиоадаптации у растений Цель: выявить ароморфозы и идиоадаптации у растений. Оборудование: гербарные растения, чучела хордовых (рыб, земноводных, птиц, пресмыкающихся, млекопитающих), коллекции насекомых, влажные препараты паразитических червей, мох, хвощ, папоротник...

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