|
21 / 9 / 6
Регистрация: 10.11.2017
Сообщений: 148
|
||||||
Команды для работы со строками в ассемблере20.12.2024, 10:24. Показов 4673. Ответов 46
Метки нет (Все метки)
Здравствуйте. Нужно решить данную задачу во встроенном ассемблере C++: Найти слова, оканчивающиеся на заданную с клавиатуры букву, и перевернуть.
Пытаюсь сделать уже вторую неделю, выходит так себе. Прикладываю код, который писал сам. Писать на С++ можно только считывание с клавиатуры и вывод на экран, как написано в приложенном коде.
0
|
||||||
| 20.12.2024, 10:24 | |
|
Ответы с готовыми решениями:
46
Заменить в строке каждую точку ‘.’ на многоточие “…” , используя команды работы со строками Найти невозможные или ошибочные команды на Ассемблере для микроконтроллера Intel 8051 Реализовать на ассемблере функцию для работы с числами половинной точности |
|
|
|
| 23.12.2024, 12:43 | |
|
0
|
|
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
|||
| 23.12.2024, 12:56 | |||
|
А если никак - то чем лучше в данном случае? опять какие-то фантазии про сферического коня в вакууме. Без ответов для ТС. Добавлено через 47 секунд
1
|
|||
| 23.12.2024, 13:10 | ||
|
Не по теме:
А мой пост прямо не связан с темой. Я отвечал с цитатой на конкретный пост. Так сказать, в рамках данной темы тут одновременно течет дискуссия о целесообразности таких заданий.
0
|
||
|
21 / 9 / 6
Регистрация: 10.11.2017
Сообщений: 148
|
|
| 23.12.2024, 13:31 [ТС] | |
|
0
|
|
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
||
| 23.12.2024, 13:55 | ||
|
По ошибкам предполагаю, что для cmp нет возможности во втором операнде указать косвенную адресацию в виде "ссылка на переменную", тем более, если первый операнд -тоже косвенная ссылка. Ну либо не понятно какой должен быть для этого синтаксис. Примеров тоже не нагуглилось. Чтобы объехать проблему - предлагаю сначала переложить в регистр значение переменной cch, а потом с этим регистром сравнить. Заработает ли после этого алгоритм - не знаю, в смысл написанного не вникал.
1
|
||
|
|
|||
| 23.12.2024, 15:48 | |||
|
Добавлено через 5 минут
1
|
|||
|
21 / 9 / 6
Регистрация: 10.11.2017
Сообщений: 148
|
|||||||
| 23.12.2024, 16:55 [ТС] | |||||||
0
|
|||||||
|
|
|
| 23.12.2024, 17:08 | |
|
1
|
|
|
21 / 9 / 6
Регистрация: 10.11.2017
Сообщений: 148
|
|
| 23.12.2024, 17:28 [ТС] | |
|
0
|
|
|
|
|
| 23.12.2024, 17:34 | |
|
Попробуй сравнить через регистр. То есть сначала надо ccd присвоить регистру, а потом уже савнивать регистр с регистром
Добавлено через 4 минуты Сравниваемые значения не могут одновременно находиться в памяти
1
|
|
|
6136 / 2830 / 1039
Регистрация: 01.06.2021
Сообщений: 10,324
|
|
| 23.12.2024, 17:37 | |
|
Женя Брянцев, твоя проблема в том, что ты опубликовал тему в разделе "С++ для начинающих". Ассемблер не имеет никакого отношения ни к С++, ни к начинающим. Ассемблерные вставки еще можно притянуть к этому разделу, но у тебя проблема не в самой вставке, а чисто в ассемблерном коде. Тебе нужно было задать вопрос в разделе https://www.cyberforum.ru/asm-beginners/
0
|
|
|
|
||||
| 23.12.2024, 17:58 | ||||
|
Добавлено через 14 минут Добавлено через 2 минуты Ты загружаешь ecx длиной строки, но нигде его не используешь. Достаточно сравнивать на 0. Поэтому грузи ccd в ecx Добавлено через 3 минуты
1
|
||||
|
21 / 9 / 6
Регистрация: 10.11.2017
Сообщений: 148
|
||||||
| 23.12.2024, 18:05 [ТС] | ||||||
Ошибка C2415 недопустимый тип операнда
0
|
||||||
|
|
|
| 23.12.2024, 18:29 | |
|
1
|
|
|
21 / 9 / 6
Регистрация: 10.11.2017
Сообщений: 148
|
||||||
| 23.12.2024, 18:41 [ТС] | ||||||
|
так же, правильно понял? ошибки ушли, но результат не выводится...
0
|
||||||
|
|
|
| 23.12.2024, 19:15 | |
|
Вообще надо в дебаггере отлаживать. Не суетись, тут нужна постепенность. Главное что мы уже продвинулись. Сегодня времени нет.
1
|
|
| 23.12.2024, 19:20 | |
|
0
|
|
| 23.12.2024, 19:50 | |
|
0
|
|
|
Модератор
|
|
| 23.12.2024, 20:47 | |
|
Женя Брянцев, в VS есть отладчик - откройте окно регистров, выполните программу по шагам и увидите ошибки.
Навскидку вижу, что для реверса есть попытка что-то поместить в строку dest, а если реверс не потребовался - то строка dest останется пустой. И хорошо бы реверс делать "на месте", а не в отдельную строку. Добавлено через 4 минуты При проверке строки используется указатель - регистр edi, но он затирается какими-то значениями при реверсе.
1
|
|
|
6136 / 2830 / 1039
Регистрация: 01.06.2021
Сообщений: 10,324
|
||
| 24.12.2024, 00:14 | ||
|
0
|
||
| 24.12.2024, 00:14 | |
|
Помогаю со студенческими работами здесь
40
Команды в ассемблере Подскажите команды для работы с БД Команды для работы с XML AT команды для работы в интернете Класс для работы со строками Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|