用户输入字符串并在Assembly中打印

时间:2018-02-15 21:41:01

标签: string assembly user-input

要求用户输入字符串是必需的,尽管它不需要提示任何用户只是希望他们输入字符串。

这是我到目前为止所拥有的:

                    mov ah, 3fh     ;3fh Reads the string and moves it to ah
                    int 21H         ;Calls MS-DOS to input string
                    mov ah,9    ;Store interrupt code in ah to display string stored in dx
                    int 21h         ;interrupt code

这是输出 first line user entered hello, second line it repeats what user entered, then random symbols

不确定为什么它之后会有所有这些符号

要求提供学校工作单,但我并不了解我在做什么。

1 个答案:

答案 0 :(得分:1)

打印随机符号,因为int 21, 9打印的字符串最多为$

因此,您需要将$添加到[DS:DX + AX],其中输入的字符串结束。
(为什么是[DS:DX + AX]?因为int 21, 3F返回AX的字节数