日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

一步步编写操作系统 75 从显卡读取光标位置1

發布時間:2023/12/10 windows 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一步步编写操作系统 75 从显卡读取光标位置1 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們在打印字符時,通常都不用指定字符顯示的坐標位置,大家也沒覺得有什么奇怪,原因是字符是在當前光標的位置處顯示的,而且光標的位置會一直更新順延,我們的字符一直跟著光標走,似乎光標就是字符的導航一樣,而我們已經習慣了跟隨光標。我想大伙兒已經清楚了光標和字符的關系了,對,它們的關系就是沒有任何關系^_^。“光標在哪字符就在哪”,這是我們人為有意設置的,我們是在光標處打印字符。也就是說,我們也可以不在光標處打印字符,讓光標和字符的位置分開。這一點在理論上就能證明,我們知道打印字符本質上就是把字符寫入在顯存中的某個地址處。在文本模式80*25下的顯存可以顯示80*25=2000個字符,每個字符占2字節,低字節是字符的ascii碼,高字節是前景色和背景色屬性,所以在4000字節的顯存空間中,只要起始地址為偶數的任意2字節我們都可以寫入字符,您看,這哪里是光標能限制的。光標只是個亮點,用來吸引用戶眼球的,它能夠幫助咱們快速找到屏幕上的活躍位置,它本身與字符顯示的位置沒有關系。

話雖然這么說,但光標的作用已經被認同為當前可輸入或顯示字符的位置,字符在光標處顯示,這已經成了字符打印的傳統觀念,所以在咱們的實現中也要傳承復制這種觀念。

光標是什么?不要感到奇怪,我是很認真的說。

我們Linux用戶最熟悉了,就是屏幕上那一小白豎塊,和文本軟件中的小豎線是一回事,它們都是用來告訴用戶當前文本輸入點在哪里。光標是字符的坐標,只不過該坐標不是二維的,而是一維的線性坐標,是屏幕上所有字符以0為起始的順序。在默認的80*25模式下,每行80個字符共25行,屏幕上可以容納2000個字符,故該坐標值的范圍是0~1999。第0行的所有字符坐標是0~24,第1行的所有字符坐標是25~49,以此類推,最后一行的所有字符是1975~1999。由于一個字符是占用2字節,所以光標乘以2后才是字符在顯存中的地址。

光標的坐標位置是存放在光標坐標寄存器中的,當我們在屏幕上寫入一個字符時,光標的坐標并不會自動+1,因為光標跟隨字符并不是必要的,比如我們想刪除文本中的某個字符時,咱們就可以把光標移動到該字符后面,再按下delete鍵,這樣字符就被刪除了,這就是光標與字符分離的應用之一。所以,光標位置并不會自動更新,因為光標坐標寄存器是可寫的,如果需要的話,程序員可以自己來維護光標的坐標。

為了在光標處打印字符,咱們得先知道光標在哪,所以第一件事就是讀取光標坐標寄存器,獲取光標坐標值。

好了,以上是理論,下節咱們實戰,下班吃飯。

?

?

?

總結

以上是生活随笔為你收集整理的一步步编写操作系统 75 从显卡读取光标位置1的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。