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

Тема в разделе "Другие", создана пользователем Artemiy, 9 май 2008.

  1. Artemiy

    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?
     
Загрузка...

Поделиться этой страницей