汇编语言:读取(无回声)和写入

时间:2011-09-26 19:49:18

标签: assembly

我正在编写一个程序,它将读写字符,将小写字符转换为大写字母。这是我的第一个汇编程序,所以我试图首先让程序读入一个字符并将其写出来。这是我到目前为止编码的内容:

    .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 个答案:

答案 0 :(得分:1)

DOS Int 08h从STDIN读取一个字符并且不回显它。如果要回显该字符,请调用int 01h。