2014-11-04 63 views
0

我有一些手術後的數組正確轉換數組爲字符串8086彙編

INPUT 10 DUP(?)

,我需要打印該陣列由MOV啊,9。我需要做什麼?

  • 把$放在最後?
  • 任何字符串後的0DH和0AH是什麼? 例如:提示「這是一個字符串」,0DH,0AH,「$」
+1

0xA和0xD是[換行符和回車](http://www.asciitable.com/) – harold 2014-11-04 17:43:46

回答

1

你有一個陣列,或至少一個未定義的內容。

你需要填寫一些東西才能打印出來。

首先,您可以嘗試input db 'Testing','$',而不是input 10 dup(?)。這會將「測試」一詞加「$」放入由「輸入」標記的存儲位置。

然後,你將需要打印你放什麼在陣列中,使用類似:

mov dx, offset input # want BIOS call to point at the "input" location 
         # (with your "Testing" string in it) 
mov ah, 9    # want BIOS call 9 (prints a string terminated by a $) 
int 21h     # run BIOS call 

一旦你的工作,你可以不用擔心如何從其他一些填寫「輸入」源,如用戶輸入(BIOS調用1h或0ah可能對您有所幫助)。在字符串末尾添加$字符可能涉及mov [register] 24h或類似的內容(24小時爲「$」的ascii代碼)。

正如@harold在評論中所說的,0ah和0dh是你放在一個字符串末尾的字符,用於在下一行打印下一個字符。

相關問題