Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 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,097
По умолчанию

Если не секрет - пример строки как выглядит?
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,139
По умолчанию

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

Цитата:
то ли дело строка 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,139
По умолчанию

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,139
По умолчанию

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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