※ 引述《kornelius.bbs@bbs.cs.nctu.edu.tw (慾女)》之銘言:
> 我知道 \r 可以回到那行的第一個定點,可是如果要跳到任何一個位置要怎麼辦呢?
> 只能直接寫到vga對應的memory嗎?
在DOS的話...
INT 10h, AH=02h Set Cursor Position
此功能是設定游標位置,位置用 DH、DL 表示,DH 表示列號,DL 表示行號。由左至右稱
之為『列』,螢幕最上面一列為第零列,緊靠第零列的下一列稱為第一列……;由上而下
稱之為『行』,螢幕最左邊一行稱之為第零行,緊靠第零行右邊的一行為第一行。故最左
邊,最上面的位置為 DH=0 且 DL=0;最左邊第二列,DH=1,DL=0。如果是文字模式時,
BH 為欲改變游標位置的顯示頁,如果是圖形模式,BH 要設為 0。
以行列來說明 DH、DL 之意義,小木偶常常搞混,底下以座標方式解釋。在文字模式下,
字元的位置類似數學直角座標系的座標,但是 Y 軸方向相反,Y 軸是以螢幕最上面為零
,越下面越大,直到 24 為止,存於 DH 內。X 軸和直角座標系相同,越右邊越大,存於
DL 內,其最大值視顯示模式而變。
http://home.educities.edu.tw/wanker742126/asm/ap07.html
--
※ Origin: SayYA 資訊站 <bbs.sayya.org>
◆ From: static-ip-84-126-134-202.rev.dyxnet.com