Пишу на MASM32. Скажите, как определить, что первый символ строки буква "C" ? Вот, например, я определяю длину: Код (Text): invoke GetClipboardData,CF_TEXT invoke lstrlen,eax .if eax == 13 А как определить первый символ?
До вызова strlen: mov al, byte ptr eax cmp al, 'C' jne если_не_совпало адд: Вариантов есть несколько, я написал один из них
lstrlen определяет дину строки и сравнение eax - проверка на длину строки, а не на первый символ собсно, присоединяюсь к вопросу crypto: а где проверка на символ?
2 REALiSTiC Тебе же twgt писал: Код (Text): До вызова strlen: mov al, byte ptr eax cmp al, 'C' jne если_не_совпало Или сразу Код (Text): cmp byte ptr [eax], 'C' jne если_не_совпало По-другому ничего придумать не могу
варианты Код (Text): 1)xor byte ptr [eax], 'C' jne если_не_совпало 2)sub byte ptr [eax], 'C' jne если_не_совпало
REALiSTiC Н-да Код (Text): ... kkakfkdx: invoke MessageBox,NULL,addr dadwa,addr dakc,MB_OK ret end kkakfkdx ... остальное в твоем коде не выполняется. Читай в описании языка ассемблера про директиву end.