|
21 / 9 / 6
Регистрация: 10.11.2017
Сообщений: 148
|
||||||
Команды для работы со строками в ассемблере20.12.2024, 10:24. Показов 4933. Ответов 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
|
|
|
6291 / 3015 / 1051
Регистрация: 01.06.2021
Сообщений: 11,421
|
|
| 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
|
|
|
6291 / 3015 / 1051
Регистрация: 01.06.2021
Сообщений: 11,421
|
||
| 24.12.2024, 00:14 | ||
|
0
|
||
| 24.12.2024, 00:14 | |
|
Команды в ассемблере Подскажите команды для работы с БД Команды для работы с XML AT команды для работы в интернете Класс для работы со строками Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0»
https:/ / ibb. co/ NnkGpfMd
Представленная интегрированная схема описывает непрерывную нелинейную. . .
|
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы
### Аннотация
Представлено исследование по разработке агентной модели микоризной. . .
|
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики
Контекст
Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
|
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии
Введение
Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
|
|
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np
class PlantAgent:
def __init__(self, name, strategy, initial_biomass):
self. name = name
self. strategy = strategy # "greedy" (широколиственные) или. . .
|
сукцессия 9. Математика подлости: как растения предали грибных друзей
anaschu 27.06.2026
Статья 2. Глобальная фосфорная война: эволюционно-экономические механизмы распределения биомов Земли
Введение: Экологический рынок как игра с нулевой суммой
Традиционная экология долгое время. . .
|
сукцессия 8. Как я спорил с ИИ, которые - агенты растений и ненавистники грибов!
anaschu 27.06.2026
Статья 1. Хроники грибного восстания: как Сократов диалог разрушил академические догмы ИИ
Введение: Синдром «цифрового учебника»
Современные большие языковые модели (LLM) обладают колоссальным. . .
|
Главный вопрос моделирования сукцессии
anaschu 27.06.2026
главный вопрос.
Если эктомикориза лучше добывает недоступный фосфор. И ее масса максимальна из всех.
А широколиственный лес тоже имеет самую крутую биомассу.
То почему не возникло их симбиоза? Это. . .
|