Язык ассемблера: читать (без эха) и писать - PullRequest
0 голосов
/ 26 сентября 2011

Я пишу программу, которая будет читать и писать символы, преобразовывая строчные буквы в прописные. Это моя первая программа на ассемблере, поэтому я пытаюсь сначала заставить программу прочитать символ и выписать его. Это то, что я кодировал до сих пор:

    .model      small
    .8086


    .data

lower   db      'a'


    .code

start:
        mov     ax,@data
        mov     ds,ax

        mov     ah,8
        int     21h
        mov     dl,al
        mov     ah,2
        int     21h

exit:
        mov     ax,4c00h
        int     21h
        end     start

Правильно ли я обработал чтение / запись? Когда я запускаю эту программу и ввожу символ, я вижу только один его экземпляр. Разве это не должно быть два? Один для письма, которое я напечатал, а затем один для письма вернул? Например, если я наберу d, я вижу:

d

но я не должен видеть:

d
d
or
dd

1 Ответ

1 голос
/ 27 сентября 2011

DOS Int 08h читает символ из STDIN и не отображает его. Если вы хотите повторить символ, позвоните int 01h.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...