Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
3 / 3 / 1
Регистрация: 24.12.2013
Сообщений: 113

Проверка пароля

15.01.2017, 15:53. Показов 3456. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Введенную строку считать паролем. Проверить наличие в пароле "даты рождения". Пример дат рождения 17081988, 07032004. Определять по следующему правилу: Первые два числа от 01 до 31, третье и четвертое число от 01 до 12, последние цифры от 1900 до 2099г. Если правило выполняется - это дата рождения. Сообщение о том, есть или нет даты рождения в пароле, вывести на экран.

Как это реализовать на ассемблере.

Добавлено через 8 минут
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
.MODEL SMALL
.STACK 1024h
.data
     string db 100,100 dup ('$')
.CODE
 
start:
    mov ax, data
    mov ds, ax
    
    mov ah,0ah
    lea dx,string
    int 21h 
    
    mov string+1,0ah
    
    mov ah,9
    lea dx,string+1
    int 21h
    
    mov ah, 10h
    int 16h
 
    mov ax, 4c00h
    int 21h
 
 end start
нашел код ввода вывода теперь надо строку введеную разбить на строки дабы отделить дату месяц и год
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.01.2017, 15:53
Ответы с готовыми решениями:

Сравнение строк: проверка подлинности пароля
Здравствуйте уважаемые форумчане! Пытаюсь написать прогу, проверки подленности пароля. Сам пароль находится в отдельном файле. При запуске ...

Ввод и проверка пароля
Привет помогите пожалуйста с программой даже не знаю с чего начать((( нужно составить программу на эмуляторе 80/86 которая запрашивает...

Проверка пароля
Подскажите пожалуйста как исправить, если неправильно ввести логин, то не заходит, а если при правильном логине ввести неправильный пароль,...

10
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8655 / 4491 / 1669
Регистрация: 01.02.2015
Сообщений: 13,899
Записей в блоге: 12
15.01.2017, 16:05
А этот код работает?

Добавлено через 2 минуты
Вы какой нибудь Pascal/BASIC/C/C++/C#/Perl/JAVA учили?

Как на знакомом языке организовали поиск подстроки с цифрами без применения регулярных выражений?
0
3 / 3 / 1
Регистрация: 24.12.2013
Сообщений: 113
15.01.2017, 16:07  [ТС]
паскаль учил. на паскале представляю как она работает, а вот на ассемблере не понимаю. да она работает я ввожу строку и потом ее выводит
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8655 / 4491 / 1669
Регистрация: 01.02.2015
Сообщений: 13,899
Записей в блоге: 12
15.01.2017, 16:27
Вот и напишите на Pascal фрагмент кода для поиска цифр среди строки. И этот фрагмент и реализуем на асме (конечно же, с учётом особенностей языка).
0
3 / 3 / 1
Регистрация: 24.12.2013
Сообщений: 113
15.01.2017, 16:31  [ТС]
если напишу поможете переписать на ассемблер?

Добавлено через 31 секунду
просто как реализовать условие if паскаля на ассемблер?
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8655 / 4491 / 1669
Регистрация: 01.02.2015
Сообщений: 13,899
Записей в блоге: 12
15.01.2017, 16:37
Вы не разобрались с вводом строки по int 21h ah=0Ah.
Вместо нормального вывода вы модифицируете текст (строка 15) и потом выводите. Зато экономите 15-20 байт.

Добавлено через 3 минуты
Цитата Сообщение от Рома Программис Посмотреть сообщение
если напишу поможете переписать на ассемблер?
просто как реализовать условие if паскаля на ассемблер?
Помогу, но сделаете вы всё самостоятельно.

if s[i]>='0' на ассемблере - cmp al, '0' jb NoDigitChar, где NoDigitChar - метка для перехода.

Добавлено через 1 минуту
Здесь на асме проверилось инверсное условие - if s[i]<'0' then goto NoDigitChar
0
3 / 3 / 1
Регистрация: 24.12.2013
Сообщений: 113
15.01.2017, 16:42  [ТС]
это типо как LABLE в паскале. если условие выполнилось то идти туда где метка указывает?
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8655 / 4491 / 1669
Регистрация: 01.02.2015
Сообщений: 13,899
Записей в блоге: 12
15.01.2017, 16:49
Да. Это даже в учебнике рассмотрено https://www.cyberforum.ru/post5356780.html в подразделе "условные переходы"
0
Эксперт Hardware
Эксперт Hardware
 Аватар для R71MT
6211 / 2445 / 403
Регистрация: 29.07.2014
Сообщений: 3,175
Записей в блоге: 4
15.01.2017, 19:22
Лучший ответ Сообщение было отмечено Рома Программис как решение

Решение

Цитата Сообщение от Рома Программис Посмотреть сообщение
если условие выполнилось то идти туда где метка указывает?
В самом-простом варианте, тебе достаточно 3 проверки(CMP): день, месяц, век.
Переводить в числа необязательно, т.к. регистр(АХ) способен вместить 2 символа, в которые как-раз помещается условие. Вот тебе пример на FASM'e. Правда нет проверки дня/месяца на нуль, но попробуй добавить её сам:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
org  100h
jmp  start
 
;---- DATA ----
mes0     db  'PASS: $'
okey     db  ' <--OK!$'
err      db  7,' <--ERROR!$'
buff     db  8 dup(0)
 
;---- CODE ----
start:   mov   ah,9           ;запрос на ввод
         mov   dx,mes0
         int   21h
 
;--- Ввод пароля (8 символов) -------------------
         mov   cx,8           ;макс/символов
         mov   di,buff        ;приёмник для записи
         push  di             ;запомним для чтения
@inp:    xor   ax,ax          ;ввод без эха
         int   16h            ;
         stosb                ;запись AL в ES:DI
;         mov   al,'*'         ;звёздочка вместо ввода
         int   29h            ;
         loop  @inp           ;повторить СХ-раз..
 
;--- Проверка пароля на вальдность --------------
         pop   si             ;источник для чтения
         lodsw                ;берём в АХ день
         rol   ax,8           ;обменяем AH и AL
         cmp   ax,3331h       ;больше 31 ?
         ja    @error         ;ошибка!
 
         lodsw                ;
         rol   ax,8           ;берём в АХ месяц
         cmp   ax,3132h       ;больше 12 ?
         ja    @error         ;
         lodsw                ;
         rol   ax,8           ;берём в АХ год
         cmp   ax,3139h       ;меньше 19 ?
         jb    @error         ;
         cmp   ax,3231h       ;больше 21 ?
         ja    @error         ;
 
;--- Вывод результата ---------------------------
@ok:     mov   dx,okey        ;
         jmp   @print         ;
@error:  mov   dx,err         ;
@print:  mov   ah,9           ;
         int   21h            ;
 
@exit:   xor   ax,ax          ; ждём клавишу..
         int   16h
         int   20h            ; на выход!
2
3 / 3 / 1
Регистрация: 24.12.2013
Сообщений: 113
15.01.2017, 20:55  [ТС]
Спасибо огромное я постараюсь добавить и выложить. У меня честно слезы на глаза навернулись спасибо огромное!
0
Эксперт Hardware
Эксперт Hardware
 Аватар для R71MT
6211 / 2445 / 403
Регистрация: 29.07.2014
Сообщений: 3,175
Записей в блоге: 4
17.01.2017, 00:04
Цитата Сообщение от Рома Программис Посмотреть сообщение
У меня честно слезы на глаза навернулись
//gfhftym
..угу, давай ещё пообнимаемся, и в жилелтку! Всем своим скажи, что здесь помогают..
Рома ты чё такой? У тя чёто болит?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.01.2017, 00:04
Помогаю со студенческими работами здесь

Проверка пароля
Помогите люди добрые плиз! Как сделать так чтобы &quot;Пароль не совпадал с email-ом, именем, фамилией, отчеством&quot; (isset($_POST)...

Проверка пароля
Доброго времени суток. Есть форма для проверки пароля,которая запускается перед открытием настроек програмы procedure...

проверка пароля
надо написать прогу по проверке пароля из 4х цифр, но с условием, что при вводе должны выводиться на экран *(звездочки), нароботка есть но...

Проверка пароля
Можно ли проверять символы и длину в одном выражении? Вот так: if (preg_match('/^{4,30}$/', $password)) { //продолжаем... } ...

Проверка пароля
Есть задание: Напишите код javascript для проверки введенного пароля. Не могу понять, какая конкретно проверка подразумевается, просто...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru