|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.10.2010, 17:48 | #1 |
Пользователь
Регистрация: 12.10.2010
Сообщений: 21
|
задача со строками
Написать программу выбора одинаковых элементов из двух строк. На совпадение проверять символы, стоящие в строках на одних и тех же позициях. Одинаковые элементы поместить в отдельную строку и вывести на экран.
Вот что удалось сделать: .data s1 db "I love you" ;исходная строка s2 db "I need you" ;2 исходная строка s3 db 15 dup(?); строка для повторных символов frmt db "%d",0 Title1 db "lab1",0.code start: cld ;направление обработки строки слева lea esi, s1 lea edi, s2a: cmp byte ptr [esi], byte ptr [edi] jne a1 rep movsba1: inc esi inc edi loop a invoke MessageBoxA,0,offset s3, offset Title1,MB_OK invoke ExitProcess,0end start Не хочет компилировать и пишет что ошибка с префиксом rep |
13.10.2010, 00:03 | #2 |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,432
|
Странно, у меня на cmp byte ptr [esi], byte ptr [edi] выругался.
Вот немного другой подход, но вроде работает: Код:
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
13.10.2010, 05:11 | #3 | |
Пользователь
Регистрация: 12.10.2010
Сообщений: 21
|
Цитата:
|
|
13.10.2010, 05:22 | #4 |
Пользователь
Регистрация: 12.10.2010
Сообщений: 21
|
.data
s1 db "I love you" ;исходная строка s2 db "I need you" ;2 исходная строка s3 db 15 dup(?); строка для повторных символов frmt db "%d",0 Title1 db "lab1",0 len equ $-s1 .code start: cld ;направление обработки строки слева lea esi, s1 lea edi, s2 mov ecx, len a: mov bl, byte ptr [esi] mov al, byte ptr [edi] cmp bl, al jne a1 movsb jmp a2 a1: inc esi inc edi loop a a2: inc esi inc edi sub ecx,1 cmp ecx,0 jne a1 invoke MessageBoxA,0,offset s3, offset Title1,MB_OK invoke ExitProcess,0 end start Вот я не много изменила, он компилирует и линкует но к сожалению не запускает, точнее где то он и запускается, зацикливается и результат не выводит=( |
13.10.2010, 07:03 | #5 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,162
|
Цветик
можно проще Код:
|
13.10.2010, 13:36 | #6 |
Пользователь
Регистрация: 12.10.2010
Сообщений: 21
|
Пожалуйста если кто может нужно переделать из той которая есть
|
13.10.2010, 16:31 | #7 |
Пользователь
Регистрация: 20.09.2010
Сообщений: 38
|
Цветик, это минимум изменений с твоим последним кодом:
Код:
|
13.10.2010, 16:53 | #8 |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
Код:
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача со строками. Экзамен! | zazzi | Помощь студентам | 1 | 03.07.2010 12:37 |
Delphi. задача со строками | SnowFall | Помощь студентам | 6 | 13.03.2009 16:50 |
Задача со строками | Panda | Помощь студентам | 8 | 02.07.2008 09:10 |
Задача со строками | Klyan | Общие вопросы C/C++ | 6 | 21.09.2007 22:22 |