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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2019, 16:15   #1
nastena zoro
Новичок
Джуниор
 
Регистрация: 12.12.2019
Сообщений: 1
Восклицание Как следует поступить, если потребуется для хранения кодов эталонного и тестового символов использовать регистр dx , используемый также при генерации текстовых сообщений?

Как следует поступить, если потребуется для хранения кодов эталонного и тестового символов использовать регистр dx , используемый также при генерации текстовых сообщений?
Что надо сделать, чтобы проверять не один символ, а например, последовательность, из нескольких символов?
Предложите структуру такой программы))
До этого я писала код, для создания пароля, проверки его, а так же вывод на экран правильного пароля
nastena zoro вне форума Ответить с цитированием
Старый 12.12.2019, 18:32   #2
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Цитата:
Сообщение от nastena zoro Посмотреть сообщение
До этого я писала код
где этот код?
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 12.12.2019, 23:16   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,537
По умолчанию

Цитата:
Сообщение от nastena zoro Посмотреть сообщение
Как следует поступить, если потребуется для хранения кодов эталонного и тестового символов использовать регистр dx , используемый также при генерации текстовых сообщений?
На момент передачи сообщений спрятать DX в стек, а после извлечь из стека.

Цитата:
Что надо сделать, чтобы проверять не один символ, а например, последовательность, из нескольких символов?
Организовать цикл.
digitalis на форуме Ответить с цитированием
Старый 13.12.2019, 07:10   #4
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
Организовать цикл.
не обязательно - есть спец "инструкции работы со-строками", с префиксом REP..
сравнить = CMPSB, скопировать = MOVSB, записать = STOSB, искать символ - SCASB.
префикс REP привязывается к регистру ECX.
сравнить строки без цикла можно так:
Код:
.data
str1    db  'Hello World! 123456',0
str2    db  'Hello World! 654721',0
len     =   $ - str2

.code
       mov    esi,str1
       mov    edi,str2
       mov    ecx,len   ; длина строки
       repe   cmpsb     ; сравнить строки по длине ECX
       jcxz   @ok       ; если ECX =0
       nop              ; строки не равны
       jmp    @exit
;---
@ok:   nop              ; строки равны
@exit: ret
Нашедшего выход - затаптывают первым..

Последний раз редактировалось R71MT; 13.12.2019 в 07:12.
R71MT вне форума Ответить с цитированием
Старый 13.12.2019, 11:19   #5
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,537
По умолчанию

Давно не писа'л на асме ПК, с прошлого тысячелетия Но пост оказался не напрасным - мне возразили, и ТСу помогли.
digitalis на форуме Ответить с цитированием
Старый 13.12.2019, 11:41   #6
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
мне возразили
скорее это не возражение, а дополнение
т.к. вполне можно и в цикле сравнить
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 19.01.2020, 21:13   #7
Vladimir.1982
Форумчанин
 
Регистрация: 30.04.2018
Сообщений: 171
По умолчанию

Народ! У меня вопрос по регистрам. Правильно я понимаю, что регистры стека находятся в процессоре, а стек в оперативной памяти?
Vladimir.1982 вне форума Ответить с цитированием
Старый 19.01.2020, 21:22   #8
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Да.
Black Fregat вне форума Ответить с цитированием
Старый 20.01.2020, 21:57   #9
Vladimir.1982
Форумчанин
 
Регистрация: 30.04.2018
Сообщений: 171
По умолчанию

Цитата:
Сообщение от Black Fregat Посмотреть сообщение
Да.
Спасибо!
Vladimir.1982 вне форума Ответить с цитированием
Старый 21.01.2020, 00:09   #10
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Надо только учитывать, что рабочий участок стека обычно не очень велик и попадает в кэш, а кэш уже в процессоре
Black Fregat вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Skype и Excel - трансляция текстовых сообщений strannick Microsoft Office Excel 2 24.11.2012 14:43
Какой тип данных использовать для хранения сэмплов wav файла, если нужно его конвертировать в lossless? Niaden Visual C++ 1 30.10.2012 18:59
Найти самое длинное слово в стpоке символов , пеpестановка символов в котоpом в обpатном поpядке также входит в стpоку svetka92 Помощь студентам 0 21.03.2012 22:32
Какую API функцию следует использовать чтобы найти Handle бутона SeRhy Общие вопросы Delphi 4 21.10.2008 23:43
Регистр символов Никки Общие вопросы Delphi 1 22.12.2007 20:14