说来话长…
当键入c:\> pickme
I like this book <按回车>
你会看见I like this book立即变成反白,但实际操作不是如此简单,当按回车后,光标会下移一列,且回到最前
pickme
I like this book <按回车>
_
我们可以把光标上移一行(回到输入行),但问题是,谁知道光标的x坐标,因为文件夹的位置不确定。
c:\>pickme
I like this book
c:\data>pickme
I like this book
c:\data\myprogram\masm>pickme
I like this book
按了回车后,只知道光标被下移一行,回到最前,然而[I like this book]在该行的哪儿?
要找到x坐标,做法是:
1.上移一行(dh-1)
2.光标移到最前(dl=0)
3.设定光标
4.读取光标位置的字符,放到c0处,dl+1(光标右移),c0+1(储存字串缓冲+1)
5,回到3,直到读完64bytes(我们的限制)
6.这时候,读入整行如下:
c:\data>pickme
I like this book
7.然后,设定x坐标=0
8.由c0开始,和参数区(约82h开始)的字符串比较,不同则c0+1,x坐标+1,再比较,直至找到相同。
9.最后的x坐标值就是 [c:\data>pickme]
之后的位置,再做反白,就像你看见的行为。
[此贴子已经被作者于2016-7-11 10:58编辑过]