2014-02-11 66 views
0

我有以下代碼,我需要指向[C1]的下一個輸入,而不是[C0],但沒有硬編碼這個,這個想法是,用戶可以鍵入任何他們喜歡。我嘗試了INC BL,但它會導致非法操作代碼錯誤。謝謝我需要指向下一個內存地址

CLO  ; Close unwanted windows. 
Rep: 
    IN 00 ; Wait for key press - Store it in AL. 
INC BL 

    CMP AL,0D ; Was it the Enter key? (ASCII 0D) 

    MOV [C0],AL  
    MOV [BL],AL 

    JNZ Rep ; No - jump back. Yes - end. 



END 
+0

'MOV [BL],AL' < - 對我來說看起來不像是有效的x86有效地址。 – Michael

回答

1

IN 00不從鍵盤讀取。使用中斷21h(功能1)或中斷16h(功能0)。

CLO不是必需的。

您不初始化BX(我們可以看到)。

爲了存儲相對於C0的偏移量,使用C0的偏移量初始化BX,然後在循環中增加BX。 BL是一個字節寄存器 - 它不包含整個地址。

相關問題