![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#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 |
![]() |
![]() |
![]() |
#2 |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
![]()
Странно, у меня на cmp byte ptr [esi], byte ptr [edi] выругался.
Вот немного другой подход, но вроде работает: Код:
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 12.10.2010
Сообщений: 21
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#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 Вот я не много изменила, он компилирует и линкует но к сожалению не запускает, точнее где то он и запускается, зацикливается и результат не выводит=( |
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
Цветик
можно проще Код:
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 12.10.2010
Сообщений: 21
|
![]()
Пожалуйста если кто может нужно переделать из той которая есть
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 20.09.2010
Сообщений: 38
|
![]()
Цветик, это минимум изменений с твоим последним кодом:
Код:
![]() |
![]() |
![]() |
![]() |
#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 |