Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Asm для начинающих > Вхождение в строку и поменять регистр |
Автор: iglaweb 17.10.2009, 21:57 |
Задача вот в чем: Даны две строчки. В первой мы пробегаемся по каждому символу и надо узнать, есть ли данный символ во второй строке - как это определить? делать еще один цикл? и как поменять регистр буквы на противоположный, если найдено совпадение? |
Автор: Goodwin98 18.10.2009, 01:36 | ||||
Как насчет команды repnz scasb ?
Смотреть таблицу кодов cp866 или cp1251 в зависимости от того на какой ОС должен работать код, и вычитать, либо прибавлять значение кода символа из строки на нужное число. Если в строке только латинские буквы, то достаточно прибавить 20h, чтобы перевести из прописной в строчную, и, наоборот, вычесть, чтобы перевести из строчной в прописную. |
Автор: iglaweb 18.10.2009, 10:02 | ||
Спасибо! Остался только 1 вопрос: Как записать в выходную строчку символ по его коду из регистра? У меня в al допустим 041h и какой-то набор из решеток и нулей записывается в паскалевскую переменную типа string:
|
Автор: Goodwin98 18.10.2009, 13:36 |
В паскале вроде бы первый байт строки - это ее длина, а уже дальше сами символы. |
Автор: iglaweb 18.10.2009, 14:09 |
спс=) забыл, что первый символ строки - ее длина |