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

  • Автор темы Автор темы 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?
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab