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?
[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?