Programming Forums

Programming Forums (http://www.programmingforums.org/forumindex.php)
-   Assembly (http://www.programmingforums.org/forum20.html)
-   -   problem with lstrcmp (masm32) (http://www.programmingforums.org/showthread.php?t=1791)

lepricaun Jan 11th, 2005 2:04 AM

problem with lstrcmp (masm32)
 
Hi all,

i'm trying to get the following program to work, i need this option for a program i am writing, but it only works when i use the following line to read into the buffer:
:

invoke StdIn,addr buffer,4
as soon as i change the '4' into a longer value it won't work anymore...

is there a workaround for this?

program:
:

.386
.model flat,stdcall
option casemap:none

include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\user32.inc
include \masm32\include\masm32.inc

includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib
includelib \masm32\lib\masm32.lib

.data

string1 db "Enter: ",0
string2 db 13,10,"equal",0
string3 db 13,10,"not equal",0
teststring db "exit",0
test2 db "exit",0
buffer db 50 dup (?)
vier db "4",0
.code

start:

invoke StdOut,addr string1
invoke StdIn,addr buffer,6
invoke lstrcmpA,addr test2,addr buffer
.if eax==0
invoke StdOut,addr string2
invoke ExitProcess,0
.endif
invoke StdOut,addr string3
invoke ExitProcess,0

end start


i've tried adding the ending [color=blue 13 and 10 (CR and LF)[/color] to the buffer and then it works. but this will not work for my program since i need to compare the userinput with the strings generated by the Process32Next API...

piece of my real program code:
:

invoke Process32Next,[Snap],offset proc32

;if we have finished the last process listing
;------------------------------------------------------
.if eax!=TRUE
jmp again
.endif
;------------------------------------------------------

invoke lstrcmpA, addr ProcToKill,addr proc32.szExeFile
.if eax == 0
jmp contin
.endif


thanks in advance,

liquidsilver Mar 11th, 2005 2:37 PM

Have you considered using interupts, that should work.

lepricaun Mar 16th, 2005 5:19 AM

Quote:

Have you considered using interupts, that should work.
you mean the dos interrupt? masm isn't really happy using them, but i've already solved the problem by now... :
http://www.white-scorpion.nl/programs/pk.zip

that's the program i was writing. (source included).

Thanks for your response tho ;)


All times are GMT -5. The time now is 5:28 PM.

Powered by vBulletin® Version 3.7.0, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Copyright ©2007 DaniWeb® LLC