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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2018, 18:01   #1
dimkoss
Пользователь
 
Регистрация: 06.02.2016
Сообщений: 35
По умолчанию Выделение слов из строки

Требуется программа, которая будет считывать команды с консоли и перемещать данные между регистрами:
например:
mov cs, ax
mov cs, 9

Как организовать выделение операндов из строки в отдельные переменные? при условии, что например пробелов может быть несколько или вообще не быть.
Хотелось бы пример кода.
dimkoss вне форума Ответить с цитированием
Старый 17.05.2018, 18:54   #2
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Цитата:
Сообщение от dimkoss Посмотреть сообщение
Хотелось бы пример кода.
пример чего? что конкретно ты хочешь сделать?

Цитата:
Сообщение от dimkoss Посмотреть сообщение
Как организовать выделение операндов из строки в отдельные переменные?
если хочешь записать в память, то бери адрес в квадратные скобки:
Код:
abc   dw   0         ; переменная
;-----------
mov   [abc],1234h    ; запись значения в переменную
mov   [abc],ax       ; запись содержимого регистра туда-же
mov   bx,[abc]       ; считать переменную в регистр 
lea   si,abc         ; получить адрес переменной
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 17.05.2018, 19:04   #3
dimkoss
Пользователь
 
Регистрация: 06.02.2016
Сообщений: 35
По умолчанию

Цитата:
Сообщение от R71MT Посмотреть сообщение
пример чего? что конкретно ты хочешь сделать?


если хочешь записать в память, то бери адрес в квадратные скобки:
Код:
abc   dw   0         ; переменная
;-----------
mov   [abc],1234h    ; запись значения в переменную
mov   [abc],ax       ; запись содержимого регистра туда-же
mov   bx,[abc]       ; считать переменную в регистр 
lea   si,abc         ; получить адрес переменной
Цитата:
Сообщение от R71MT Посмотреть сообщение
пример чего? что конкретно ты хочешь сделать?


если хочешь записать в память, то бери адрес в квадратные скобки:
Код:
abc   dw   0         ; переменная
;-----------
mov   [abc],1234h    ; запись значения в переменную
mov   [abc],ax       ; запись содержимого регистра туда-же
mov   bx,[abc]       ; считать переменную в регистр 
lea   si,abc         ; получить адрес переменной
Пример, как разобрать строку, чтобы из строки, к примеру move cs, 9

получить отдельные переменные:
opr1: cs
opr2: 9
Чтобы, затем использовать их в макросе, типа:
move macro dest, src
push [src]
pop [dest]
endm
dimkoss вне форума Ответить с цитированием
Старый 17.05.2018, 20:06   #4
dimkoss
Пользователь
 
Регистрация: 06.02.2016
Сообщений: 35
По умолчанию

Также интересует, как строки преобразовать в операнды, чтобы потом их использовать с инструкцией mov.
dimkoss вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выделение слов из строки CeHTuJI Общие вопросы C/C++ 13 14.02.2016 21:24
выделение из строки s, m слов, начиная от слова номер n. Lers Общие вопросы C/C++ 2 01.05.2013 22:33
ТурбоПаскаль. Выделение чисел из слов. eduard.80@mail.ru Помощь студентам 5 14.12.2011 18:21
Выделение слов цветом в Memo Костян Пират Общие вопросы Delphi 9 05.03.2009 08:52
Выделение слов из строки // Pascal Rifler Паскаль, Turbo Pascal, PascalABC.NET 4 02.07.2008 08:22