2012-12-21 84 views
1

所以我有这样的代码(它显示“请输入您的输入:”,然后当用户输入一个字符,它回声回他们):问题在x86的打印字符串大会

.model small 
.stack 100h 
.data 
msg db 'Enter your input: $' 

.code 
start: 
    mov  ah, 09h 
    lea  dx, msg 
    int  21h 

    mov  ah, 1h 
    int  21h 

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

    mov  ax, 4c00h 
    int  21h 
end start 

当我组装它,它工作,但在它说“输入你的输入:”之前,它显示了一堆随机的ASCII字符。任何帮助?谢谢。

回答

3

嗯,好极了DOS ...

您需要设置的段寄存器:

start: 
    mov  ax, @data 
    mov  ds, ax 
    ... 
    ... 
+0

它的工作原理,谢谢。 :) –

+1

或定义“.model tiny”并编译.com –