Добрый вечер. Возник вот такой вопрос. Получаю строку (не уверен, но кажется в UTF-8). И в ней написано что-то наподобие value=1 и мне нужно сравнить число "1" после знака "=" . С эталоном в регистре ECX ;в esi указательно на "1" из строки value=1 mov ecx, 1 ;что тут нужно сделать??? cmp esi, ecx чтоб этот код был верен....
если и правда UTF-8, то сместить на еще один байт. да или вообще, cmp word(или byte для ascii) ptr [esi],'код символа'
stellaco А стоит быть уверенным. Для UTF-8 (или ANSI) это будет сравнение с байтом 31h. Для Unicode со словом 31h. А для Big Endian со словом 3100h. Поэтому примерно так (если стараться максимально придерживаться условий постановки задачи): UTF-8 (ANSI) mov ecx, 31h cmp byte[esi],cl Unicode mov ecx, 31h cmp word[esi],cx Big Endian mov ecx, 3100h cmp word[esi],cx
И ещё один вопрос...достаточно глупый.. в чём отличие [esi] и просто esi ... [esi] это данные по адресу esi (конкретное число) а просто esi...этож вроде воспринимается nasm ..как одно и тоже..... появните..в чём не пра.. и ещё раз извеняюсь. за глупый вопрос)
l_inc Спасибо) Это строка передаётся из клиентского веб бразуер.(через простую html форму). На странице стоит следующее <meta content='text/html; charset=UTF-8' http-equiv=Content-Type> Значит браузер вышлет текст в UTF-8 ?
K10 хех ))) чтото я сходу не додумался до этого )))... А насчёт отладчика. Это приложение работает на сервере, и является cgi программой. Локально я знаю, как пройтись gdb по файлу, и проверить логику работы..да и ошибочки нахожу частенько. Но как передать входные параметры из браузера, отлаживаемой программе(которая запускается сервером Apache), не знаю =(((