| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm: Общие вопросы > Сравнение строк |
| Автор: ring0D 19.11.2005, 14:55 |
| Здравствуйте, подскажите как можно сравнить две строки, и в случае если они одниковы перейти на метку NEXT. И вообще можете написать команды перехода, и их значения (je, jnz ....) |
| Автор: rsm 19.11.2005, 15:57 | ||
Про команды перехода см. Зубкова. Если не найдешь, напишу кратко. |
| Автор: ring0D 19.11.2005, 16:40 |
| Не, почему то не прёт. Ошибку выдаёт. Пишу на MASM. .data Filez db "\ms.exe",0 .data? SystemDir db 50 dup (?) ProgzName db 512 dup (?) .code start: push sizeof SystemDir push offset SystemDir call GetSystemDirectory push sizeof ProgzName push offset ProgzName push NULL call GetModuleFileName push offset Filez push offset SystemDir call lstrcat И после этого надо выполнить сранение : Запущена программа из системной папки или нет, в случае если нет продолжать дальше, если да перепрыгнуть на метку NEXT. |
| Автор: rsm 19.11.2005, 17:03 | ||||||
У меня код для NASM. Я думал тебе нужен сам алгоритм сравнения строк, а не готовое решение под конкретный компилятор. |
| Автор: ring0D 19.11.2005, 17:11 |
| rsm огромное спасибо!!! Действительно работает. Ты был прав мне нужен алгоритм сравнения. Просто огромное количество книг по ассемблеру пишутся под ДОС. Но зачем ? если Дос "умер" десять лет назад ? Есть у меня книга Зубкова. Вот купил книгу Владислава Пирогова - хорошая книга, но для тех кто неплохо знает ассемблер, а как его выучить если всё под Дос. |
| Автор: Chingachguk 19.11.2005, 18:32 |
| > Просто огромное количество книг по ассемблеру пишутся под ДОС. В целом пока да, но дело немного меняется, тот же Пирогов (не фонтан имхо). > Но зачем ? Потому, что в досе гораздо легче понять компьютер, так как там несложно (с точки зрения компилляции и знания архитектуры OS) писать обработчики прерываний и т.п. > если Дос "умер" десять лет назад ? Ну до сих пор работает куча прог под дос, и нормально работает. Некоторые задачи вообще легче сделать в нем, чем в винде. Так что он не умер. С другой стороны, винда 3.11 вышла ранее 10 лет назад, так что умер еще раньше ;) > Есть у меня книга Зубкова. Вот купил книгу Владислава Пирогова - > хорошая книга, но для тех кто неплохо знает ассемблер, а как его > выучить если всё под Дос. Смотри сайт wasm.ru - который изначально ориентирован был на "Windows Assembly ...". Там ты поимеешь как работать с Win API, драйверами... Те будешь изучать "не ассмеблер вообще", а его приятное (для легкости кодинга) подмножество "кодирование на ассемблере в flat-модели Windows". Также рекомендую изучать его на ассемблерных вставках в том же Делфи к примеру. |
| Автор: rsm 19.11.2005, 18:34 | ||||
Для меня это тоже большая загадка
Ассемблер как таковой, сам по себе, язык достаточно простой - наиболее часто употребимых команд не так уж много, штук 50~60 (если не меньше). Но совершенно иной вопрос - применение Ассемблера. Вот тут все намного сложнее. |