我有一个数组
INPUT 10 DUP(?)
经过一些操作后,我需要通过mov啊,9来打印这个数组。我需要做什么?
答案 0 :(得分:1)
您有空数组,或至少有一个未定义内容的数组。
您需要填写一些能够打印出来的东西。
首先,您可以尝试input db 'Testing','$'
,而不是input 10 dup(?)
。这会将“Testing”一词后跟一个“$”放入标有“input”的内存位置。
然后,您将需要使用以下内容打印您放入数组中的内容:
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
或类似内容(24h是“$”的ascii代码)。
正如@harold在评论中所说,0ah和0dh是你放在一个字符串末尾的字符,以便在下一行打印下一个字符。