2012-12-21 34 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 –