• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Помогите разобраться в ассемблере

  • Автор темы Artemiy
  • Дата начала
A

Artemiy

Начал сегодня асм изучать. По методичке из универа. Там текст изобилует ошибками и понятна она только ее составителям... прога простая: выводит на экран запрос: После полудня? и далле ожидая ввод с клавиатуры(Y/N) выводит Привет или Доброе утро соответственно. Всё вроде просто и понятно, да она не работает!!!! Точнее работает неправильно! Вот исходник
[codebox].model small
.stack 100h
.data
timeprompt db 'Posle poludnya?$'
goodmorningmessage label byte
db 13,10,'GoodMorning',13,10,'$'
goodafternoonmessage label byte
db 13,10,'Hello!',13,10,'$'
.code
mov ax,@data
mov ds,ax
mov dx, OFFSET timeprompt
mov ah,9
int 21h

cmp al,'Y'
jz isafternoon
cmp al,'y'
jnz ismorning
isafternoon:
mov dx,offset goodafternoonmessage
jmp displaygreeting
ismorning:
mov dx,offset goodmorningmessage
displaygreeting:
mov ah,9
int 21h
mov ah,4ch
int 21h
end
Потом я решил добавить
mov ah,0ah
int 21h[/codebox]
туда где у меня пробел. потому что отсутствие функции ввода в проге, это както странно. Тепер прога выводи на экран Posle poludnya? и ожидает ввода, что и нужно. Но при вводе любого символа выводит Хелло и всё... что неправильно? И куда записываются данные с клавы? как их записать в dx?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!