· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› траблы с InString

Посл.отвђт Сообщенiе


Дата: Авг 20, 2004 19:36:30

invoke InString,1,ADDR szMainString,ADDR szSubString

если szSubString > szMainString, то в eax возвращается корявый символ, как этого избежать?


Вот листинг:
.data
szSubString     db "masm32",0
szMainString    db "masm",0

.code
start:
invoke InString,1,ADDR szMainString,ADDR szSubString
 .IF eax >=1
invoke MessageBox, 0, addr szMainString, addr szSubString, MB_OK
 .ENDIF
invoke ExitProcess,0
END start


Дата: Авг 20, 2004 19:50:40

xsnatch
"... InString searches for a substring in a larger string ..."
"... Return Values.
-1 = substring same length or longer than main string ..."
Вот.


Дата: Авг 20, 2004 19:54:30

Quantum, если даже "-1" - ".IF eax >=1" все равно не работает.


Дата: Авг 20, 2004 20:16:11 · Поправил: Quantum

xsnatch
„".IF eax >=1" все равно не работает.“
Это беззнаковое сравнение. Ох уж эти макросы :-(
.data
szSubString     db "masm32",0
szMainString    db "masm",0

.code
start:
   invoke InString,1,ADDR szMainString,ADDR szSubString
   cmp eax,1
jl @F
   invoke MessageBox, 0, addr szMainString, addr szSubString, MB_OK
@@:
   invoke ExitProcess,0
END start


Дата: Авг 21, 2004 15:56:58

[ Quantum: Ох уж эти макросы :-( ]

Ох уж эти мне cmp/jсс ;-)
.if sdword ptr eax >=1


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.068