Пример программы в MASM32

;Программа сравнивает две строки, если строки равны, выводит об этом сообщение. Также;вычисляет количество символов в строке text1, результат заносит в регистр EDX

 

.486

.model flat, stdcall

 

option casemap:none

 

includelib \masm32\lib\kernel32.lib

includelib \masm32\lib\user32.lib

 

include \masm32\include\kernel32.inc

include \masm32\include\user32.inc

include \masm32\include\windows.inc

include \masm32\include\debug.inc

includelib \masm32\lib\debug.lib

 

.data

titel db "Равны ли ваши строки?",0

text1 db "It is example of simple programm on masm32",0

text2 db "It is example of simple programm on masm32",0

samestr db "Строки идентичны!",0

notsame db "Строки не идентичны",0

 

.code

 

start:

 

CLD

MOV AL,0  ;индикатор конца строки

xor edx,edx

LEA EDI,text1

MOV ECX,0ffffh

REPNE SCASB;здесь поиск

mov EDX,0ffffh

sub EDX,ECX   ;EDX-количество символов в строке

mov ECX,EDX

lea edi,text1

lea esi,text2

repe cmpsb

jne no_same

invoke MessageBox, NULL, ADDR samestr, ADDR titel, MB_OK or MB_ICONINFORMATION

jmp _M

no_same: invoke MessageBox, NULL, ADDR notsame, ADDR titel, MB_OK or MB_ICONINFORMATION

_M: invoke ExitProcess, NULL

 

end start

 

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: