Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 07.04.2010, 01:58   #1
adgam
Пользователь
 
Регистрация: 24.09.2009
Сообщений: 10
По умолчанию TASM.Поиск имен регистров в введенной строке и вывод их содержимого

Здравствуйте.Нужно ввести символьную строку,найти имена регистров,содержащихся в данной строке, и вывести содержимое этих регистров.
Нужно ли сохранить имена регистров в виде отдельных строк и искать подстроки в введенной строке?Есть ли другой алгоритм решения задачи?
Заранее спасибо.
adgam вне форума   Ответить с цитированием
Старый 07.04.2010, 07:48   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Если не секрет - пример строки как выглядит?
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 07.04.2010, 22:07   #3
adgam
Пользователь
 
Регистрация: 24.09.2009
Сообщений: 10
По умолчанию

К примеру,строка имеет вид:csiax
Выводится содержимое регистров cs,si,ax.
adgam вне форума   Ответить с цитированием
Старый 08.04.2010, 04:21   #4
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,152
По умолчанию

adgam
по строке csiax сложно догадаться что имеется ввиду "cs,si,ax" то ли дело строка csa
Mikl___ вне форума   Ответить с цитированием
Старый 08.04.2010, 08:01   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Цитата:
то ли дело строка csa
Неа. Тоже не вариант. Вдруг я захочу AL вместо AX
Или EAX... Тут нужно разделители ставить в строке.
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 08.04.2010, 11:33   #6
adgam
Пользователь
 
Регистрация: 24.09.2009
Сообщений: 10
По умолчанию

А в каком смысле разделители ставить в строке.Строка может быть произвольной.В ней надо искать имена регистров.только я не знаю как начать поиск.Пройтись по каждой букве и сравнивать с именами регистров или как-то иначе?
adgam вне форума   Ответить с цитированием
Старый 08.04.2010, 12:26   #7
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,152
По умолчанию

adgam
чтобы не мучится с именами регистров, как шутит Stilet выводи сразу содержимое 32-разрядного регистра, кто захочет, тот из eax сам выделит содержимое AX, AH, AL. Лучше идти от обратного: получаешь значения всех регистров, а затем в строке ищешь "eax" -- нашел подстроку, значит выводишь найденное значение регистра на экран, затем "ebx" и так далее
Mikl___ вне форума   Ответить с цитированием
Старый 08.04.2010, 12:28   #8
airyashov
Форумчанин
 
Регистрация: 02.04.2008
Сообщений: 358
По умолчанию

можно построить конечный автомат, по переходам при чтении букв
если введено EAX, выводить EAX и AX
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666
mail: airyashov(а)inbox.ru
airyashov вне форума   Ответить с цитированием
Старый 08.04.2010, 23:02   #9
adgam
Пользователь
 
Регистрация: 24.09.2009
Сообщений: 10
По умолчанию

А можно написать самомодифицирующийся код,который в зависимости от имени регистра изменил бы опкод регистра,содержимое которого выводится в данный момент?
adgam вне форума   Ответить с цитированием
Старый 13.04.2010, 06:47   #10
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,152
По умолчанию

Цитата:
Сообщение от adgam
А можно написать самомодифицирующийся код,который в зависимости от имени регистра изменил бы опкод регистра,содержимое которого выводится в данный момент?
Зачем так сложно? Во вложении пример получения содержимого регистров под Windows
Вложения
Тип файла: rar registrs.rar (2.1 Кб, 12 просмотров)
Mikl___ вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввод символьной строки,вывод содержимого соответствующего регистра(TASM) adgam Assembler - Ассемблер 1 17.03.2010 09:48
вывод содержимого street-walker Помощь студентам 1 04.03.2010 22:03
TASM: Замена символов в строке. APTEMUC Assembler - Ассемблер 2 18.01.2010 06:48
написать программу, которая считает количество цифр в введенной строке 111111 Общие вопросы C/C++ 2 17.12.2008 12:30
Вывод имен столбцов maxix БД в Delphi 2 29.09.2008 16:28


17:59.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.