我所認(rèn)知bios自己動(dòng)手啟動(dòng)計(jì)算機(jī)_第1頁(yè)
我所認(rèn)知bios自己動(dòng)手啟動(dòng)計(jì)算機(jī)_第2頁(yè)
我所認(rèn)知bios自己動(dòng)手啟動(dòng)計(jì)算機(jī)_第3頁(yè)
我所認(rèn)知bios自己動(dòng)手啟動(dòng)計(jì)算機(jī)_第4頁(yè)
我所認(rèn)知bios自己動(dòng)手啟動(dòng)計(jì)算機(jī)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、【我【我所認(rèn)知的 BIOS】自己動(dòng)手啟動(dòng)計(jì)算 HYPERLINK mailto:lightseed HYPERLINK mailto:lightseed 【我所認(rèn)知的 BIOS】自己動(dòng)手啟動(dòng)計(jì)算目 錄TOC o 1-2 h z u HYPERLINK l _TOC_250007 HYPERLINK l _TOC_250006 目 HYPERLINK l _TOC_250005 HYPERLINK l _TOC_250004 HYPERLINK l _TOC_250003 HYPERLINK l _TOC_250002 HYPERLINK l _TOC_250001 HYPERLINK l _T

2、OC_250000 【我【我所認(rèn)知的 BIOS】自己動(dòng)手啟動(dòng)計(jì)算 HYPERLINK mailto:lightseed PAGE HYPERLINK mailto:lightseed PAGE 5我當(dāng)時(shí)在做匯編語(yǔ)言王爽(第一版)著的那本書(shū)的最后一S S 到S 1、軟盤(pán)的引導(dǎo)扇區(qū)格式及原 HYPERLINK /rabbit5455/blog/item/7f482fdf2dccc310632798ec FAT12 DOS 時(shí)代就開(kāi)始使用的文件系統(tǒng),目前軟盤(pán)上也一直BPB(BIOS Parameter Block),下面是引導(dǎo)扇區(qū)格式,其中 BPB_開(kāi)頭的屬于 BPB,以 BS_開(kāi)頭的只是 BOOT

3、 Sector 的一部分,不屬于BPB11緊接著引導(dǎo)扇區(qū)的是兩個(gè)完全相同的 FT 表,每個(gè)占用 P_FTS16(0 x)FT 一個(gè)扇區(qū),根目錄區(qū)后面是數(shù)據(jù)區(qū)。根目錄區(qū)的位置:引導(dǎo)扇區(qū)占1個(gè)SeFT表共18ec 19。根目錄區(qū)中由若干個(gè)目錄入口(irecoryEntr)組成,最多有 P_ootEtnt個(gè),所以根目錄區(qū)大小不固定。每個(gè) iretryEntry占32其實(shí)看了那么多,我們不妨投機(jī)取巧一下,發(fā)現(xiàn)了一個(gè)現(xiàn)象了jpjp 指令,那么PU 必定是到這里來(lái)了的。所以我們只需要在這添上合理的(小于 510bte)的程序來(lái)完成引導(dǎo)等其他的任務(wù)即可。故我們只是那2、我們想要實(shí)現(xiàn)的功在明知道有 C盤(pán)的情況

4、下通過(guò)軟盤(pán)來(lái)啟動(dòng)。如果可以順便實(shí)現(xiàn) 自己的功能。(比如說(shuō)顯示時(shí)鐘呀,輸入密碼呀等等什么的。自己加了。)實(shí)現(xiàn)的功能程序在啟動(dòng)扇區(qū)中的邏輯圖,在第一個(gè)扇區(qū)中的代碼會(huì)把從第二扇區(qū)開(kāi)始的代碼 copy到相應(yīng) 22【我【我所認(rèn)知的 BIOS】自己動(dòng)手啟動(dòng)計(jì)算 HYPERLINK mailto:lightseed HYPERLINK mailto:lightseed ;PS:OS;ByLightSeed-2009-10-CODE int13h512512重定位啟動(dòng)程序?qū)嶓w模塊(OS的啟動(dòng)程序。(0:7C00H 處的程序4、代碼實(shí)successfulSI,OFFSET ERROR00HMOV DH,10 ;

5、顯示子函數(shù)入口參數(shù)顯示的橫行位置 MOV DL,20 ;顯示子函數(shù)入口參數(shù)顯示的縱行位置 PUSH CXMOV CALL POP AX,4C00H int9h0040:170:7c00;retf;pop;pop;csip 的值不能通過(guò)普通的mov;/湊足一個(gè)扇區(qū),主要滿足 int 510-($-REAL)DUP(A);處于以后的空間用字符A來(lái)填充 ENTER1YOUWILLRESETENTER2YOUWILLSTARTSYSTEM ENTER3YOUWILLWATCHCLOCKENTER4YOUWILLSETCLOCK.PLEASEENTERTHEANDLIKE080808080808ITME

6、ANS2008/08/0816DUP0) 0ItisaleapItisnotaleapEntermonthError!PleaseenterEntertimeError!Pleaseenter0016DUP0) SHORTRESET_PC ;可以實(shí)現(xiàn)重啟的功能,jmp到f000:fff0處 SHORT START;通過(guò)調(diào)用0:7C00來(lái)啟動(dòng)OS SHORT STARTSHORT STARTSET_CLOCK ;設(shè)置時(shí)鐘SHORT;CLEARSCREAN PROCAX,0B800H ;這的清屏方式用了直接訪問(wèn)B800H處的內(nèi)存。 ES:BX,BYTEPTRCLEARSCREAN ;DISPLAY

7、MENU PROC;movINC BX ;顯示的行往下移一行 MOV DH,BL bl1dh ADD SI,34 1POP LOOP DISPLAYMENU 024;dl0790bxCL,DS:SI 0SHORTSHOW_STR CS:IPFFFF:0000;RESET_PC PROC【我【我所認(rèn)知的 BIOS】自己動(dòng)手啟動(dòng)計(jì)算 HYPERLINK mailto:lightseed HYPERLINK mailto:lightseed ;mov;mov;push;push;retfretf;pop;pop;csipmovretffarjump過(guò)WORDPTRWORDPTRDWORDPTRRESET_PC ;WATCH_CLOCK PROCWATCH_CLOCK ;SE

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論