Re: [問題] BIOS Interrupt

看板ASM (組合語言)作者 (人老心境也老了)時間4年前 (2020/03/25 03:24), 編輯推噓1(100)
留言1則, 1人參與, 4年前最新討論串2/2 (看更多)
看你要寫的bootloader用途 以x86為例, 我的觀念至少已經22年前的事了,現在可能不一樣了. 底下是以legacy mode 為主 從 bios 開始 POST 會直接 mapping interrupt table . 這些資料應該google都找得到 反正最主要還是透過 int19h 去 load storage 的 mbr 取得第一個boot device的 first sector 到 memory, 最後 jump 0000:7C00, 另外一種就是利用 Boot ROM 方式 你的boot loader 起始點就從這邊開始,之後你就要開始做你的用途 通常os在這邊就會開始掛上driver 自己寫的driver 最主要利用 int13h 去架構 file system int10h (graphics card support), 畫畫面 用你寫的中斷取代原本的某些中斷,最主要是HW 會利用IRQ 產生對應的 int 例如 LAN card 所以認真來說你只要知道 int3h, int8h int9h int10h, int13h, int16h int19h 其實就夠了 這些關鍵字應該都可以查到 如果你是x86則要切到protection mode, 在做這件,沒經驗的很容易就crash了 至於規格書我認真沒看過,intel寫的白皮書還是黃皮書(忘了)上面有提到 但這些都是看 BIOS source code 才知道他們怎麼幹的 有一些老書都有介紹一些,但後來覺得那些書都是騙錢(當時15歲 asm都是自學的) 你提到的embeded BIOS user's Manual 我看的一下, 前面部分是BIOS standard interrupt, 但後面指令集應該是他那套eBIOS loader 透過console 做debug用, 感覺很像VIA寫的那一套 ※ 引述《adsl9527 (申裝adsl的小為)》之銘言: : 最近想自己寫看看 bootloader : 想請問 bios interrupt table : 是有規格書的嗎 : 網路上是有查到一個 pdf : Embedded BIOS User's Manual : 但我不知道這是不是所有 BIOS 的規格書 : (類似C99規格書) : 我不熟悉這個領域 如果這問題不清楚請再説個 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.27.240 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/ASM/M.1585077851.A.328.html

05/02 14:06, 4年前 , 1F
謝謝回文 很有幫助
05/02 14:06, 1F
文章代碼(AID): #1UUbvRCe (ASM)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1UUbvRCe (ASM)