Re: [問題] 組語寫文書軟體 極新手求指點

作者: sj1973 (史考特)   2016-05-13 12:37:38
※ 引述《kamin17 (明罕)》之銘言:
: 近期老師出了個作業 是用組語寫個簡易文書軟體
: 寫到Enter功能時卡住了 目前有個想法是
: 先利用int 10h的03h抓取當前位置
: 然後寫個迴圈 把後面剩下的每一格利用08h抓取ascii
: 在設定座標到下一行的最前面 並且用0EH印出字
: 但這樣寫似乎不太可行
: 目前如果在有字的地方再次輸入 都會直接覆蓋掉
: 如果想要讓他往後移動 概念是否和enter功能類似?
: 主要想要知道如何解決這問題..還請各位幫個忙!!
: 補:有個概念即可 我會想辦法把它化為CODE!XD
第一: 我假設你在 dos prompt 下執行
第二: 我不清楚現在 bios 還有沒有 support all int 10h function call, 改EFI後
很多legacy interrupt function call 都remove 掉了, int 21h m$ 也移除大部分call
我講個概念..你參考參考
1. 你收到任何一個input key 應該找個 buffer 存
2. 處理buffer後, display 到 screen, 我印象 int10h 有可page切換, 不然就直接寫
A800:0000
3. buffer 跟 screen 對應關係, 如 page, scroll bar 每一行的返回0x0d 0x0a 的關係
如你問題, 當user 按 enter, 你應該在 buffer 插入 \r\n or \r,
顯示在螢幕就依照 buffer vs screen 的對應關係去填, 記得, 如果是文字模式下,
每一個字的位置都是在 a800:xxxx 都是固定位置, 當然你要用 int10h 去output 也可以
但要注意一點, 你的換行, 在螢幕要怎麼顯示!

Links booklink

Contact Us: admin [ a t ] ucptt.com