亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bootsect.s

?? 帶中文注釋的linux 0.11源碼 很好
?? S
?? 第 1 頁 / 共 2 頁
字號:
! defined (!= 0), nothing is done and the given device is used.! Otherwise, either /dev/PS0 (2,28) or /dev/at0 (2,8), depending! on the number of sectors that the BIOS reports currently.! 此后,我們檢查要使用哪個根文件系統設備(簡稱根設備)。如果已經指定了設備(!=0)! 就直接使用給定的設備。否則就需要根據BIOS 報告的每磁道扇區數來! 確定到底使用/dev/PS0 (2,28) 還是 /dev/at0 (2,8)。! 上面一行中兩個設備文件的含義:! 在Linux 中軟驅的主設備號是2(參見第43 行的注釋),次設備號 = type*4 + nr,其中! nr 為0-3 分別對應軟驅A、B、C 或D;type 是軟驅的類型(2??1.2M 或7??1.44M 等)。! 因為7*4 + 0 = 28,所以 /dev/PS0 (2,28)指的是1.44M A 驅動器,其設備號是0x021c! 同理 /dev/at0 (2,8)指的是1.2M A 驅動器,其設備號是0x0208。seg csmov ax,root_dev ! 將根設備號cmp ax,#0jne root_definedseg csmov bx,sectors ! 取上面第88 行保存的每磁道扇區數。如果sectors=15! 則說明是1.2Mb 的驅動器;如果sectors=18,則說明是! 1.44Mb 軟驅。因為是可引導的驅動器,所以肯定是A 驅。mov ax,#0x0208 ! /dev/ps0 - 1.2Mbcmp bx,#15 ! 判斷每磁道扇區數是否=15je root_defined ! 如果等于,則ax 中就是引導驅動器的設備號。mov ax,#0x021c ! /dev/PS0 - 1.44Mbcmp bx,#18je root_definedundef_root: ! 如果都不一樣,則死循環(死機)。jmp undef_rootroot_defined:seg csmov root_dev,ax ! 將檢查過的設備號保存起來。! after that (everyting loaded), we jump to! the setup-routine loaded directly after! the bootblock:! 到此,所有程序都加載完畢,我們就跳轉到被! 加載在bootsect 后面的setup 程序去。jmpi 0,SETUPSEG ! 跳轉到0x9020:0000(setup.s 程序的開始處)。!!!! 本程序到此就結束了。!!!!! 下面是兩個子程序。! This routine loads the system at address 0x10000, making sure! no 64kB boundaries are crossed. We try to load it as fast as! possible, loading whole tracks whenever we can.!! in: es - starting address segment (normally 0x1000)!! 該子程序將系統模塊加載到內存地址0x10000 處,并確定沒有跨越64KB 的內存邊界。我們試圖盡快! 地進行加載,只要可能,就每次加載整條磁道的數據。! 輸入:es – 開始內存地址段值(通常是0x1000)sread: .word 1+SETUPLEN ! sectors read of current track! 當前磁道中已讀的扇區數。開始時已經讀進1 扇區的引導扇區! bootsect 和setup 程序所占的扇區數SETUPLEN。head: .word 0 ! current head !當前磁頭號。track: .word 0 ! current track !當前磁道號。read_it:! 測試輸入的段值。必須位于內存地址64KB 邊界處,否則進入死循環。清bx 寄存器,用于表示當前段內! 存放數據的開始位置。mov ax,estest ax,#0x0fffdie: jne die ! es must be at 64kB boundary ! es 值必須位于64KB 地址邊界!xor bx,bx ! bx is starting address within segment ! bx 為段內偏移位置。rp_read:! 判斷是否已經讀入全部數據。比較當前所讀段是否就是系統數據末端所處的段(#ENDSEG),如果不是就! 跳轉至下面ok1_read 標號處繼續讀數據。否則退出子程序返回。mov ax,escmp ax,#ENDSEG ! have we loaded all yet? ! 是否已經加載了全部數據?jb ok1_readretok1_read:! 計算和驗證當前磁道需要讀取的扇區數,放在ax 寄存器中。! 根據當前磁道還未讀取的扇區數以及段內數據字節開始偏移位置,計算如果全部讀取這些未讀扇區,所! 讀總字節數是否會超過64KB 段長度的限制。若會超過,則根據此次最多能讀入的字節數(64KB – 段內! 偏移位置),反算出此次需要讀取的扇區數。seg csmov ax,sectors ! 取每磁道扇區數。sub ax,sread ! 減去當前磁道已讀扇區數。mov cx,ax ! cx = ax = 當前磁道未讀扇區數。shl cx,#9 ! cx = cx * 512 字節。add cx,bx ! cx = cx + 段內當前偏移值(bx)! = 此次讀操作后,段內共讀入的字節數。jnc ok2_read ! 若沒有超過64KB 字節,則跳轉至ok2_read 處執行。je ok2_readxor ax,ax ! 若加上此次將讀磁道上所有未讀扇區時會超過64KB,則計算sub ax,bx ! 此時最多能讀入的字節數(64KB – 段內讀偏移位置),再轉換shr ax,#9 ! 成需要讀取的扇區數。ok2_read:call read_trackmov cx,ax ! cx = 該次操作已讀取的扇區數。add ax,sread ! 當前磁道上已經讀取的扇區數。seg cscmp ax,sectors ! 如果當前磁道上的還有扇區未讀,則跳轉到ok3_read 處。jne ok3_read! 讀該磁道的下一磁頭面(1 號磁頭)上的數據。如果已經完成,則去讀下一磁道。mov ax,#1sub ax,head ! 判斷當前磁頭號。jne ok4_read ! 如果是0 磁頭,則再去讀1 磁頭面上的扇區數據。inc track ! 否則去讀下一磁道。ok4_read:mov head,ax ! 保存當前磁頭號。xor ax,ax ! 清當前磁道已讀扇區數。ok3_read:mov sread,ax ! 保存當前磁道已讀扇區數。shl cx,#9 ! 上次已讀扇區數*512 字節。add bx,cx ! 調整當前段內數據開始位置。jnc rp_read ! 若小于64KB 邊界值,則跳轉到rp_read(156 行)處,繼續讀數據。! 否則調整當前段,為讀下一段數據作準備。mov ax,esadd ax,#0x1000 ! 將段基址調整為指向下一個64KB 段內存。mov es,axxor bx,bx ! 清段內數據開始偏移值。jmp rp_read ! 跳轉至rp_read(156 行)處,繼續讀數據。! 讀當前磁道上指定開始扇區和需讀扇區數的數據到es:bx 開始處。參見第67 行下對BIOS 磁盤讀中斷! int 0x13,ah=2 的說明。! al – 需讀扇區數;es:bx – 緩沖區開始位置。read_track:push axpush bxpush cxpush dxmov dx,track ! 取當前磁道號。mov cx,sread ! 取當前磁道上已讀扇區數。inc cx ! cl = 開始讀扇區。mov ch,dl ! ch = 當前磁道號。mov dx,head ! 取當前磁頭號。mov dh,dl ! dh = 磁頭號。mov dl,#0 ! dl = 驅動器號(為0 表示當前驅動器)。and dx,#0x0100 ! 磁頭號不大于1。mov ah,#2 ! ah = 2,讀磁盤扇區功能號。int 0x13jc bad_rt ! 若出錯,則跳轉至bad_rt。pop dxpop cxpop bxpop axret! 執行驅動器復位操作(磁盤中斷功能號0),再跳轉到read_track 處重試。bad_rt: mov ax,#0mov dx,#0int 0x13pop dxpop cxpop bxpop axjmp read_track/** This procedure turns off the floppy drive motor, so* that we enter the kernel in a known state, and* don't have to worry about it later.*/! 這個子程序用于關閉軟驅的馬達,這樣我們進入內核后它處于已知狀態,以后也就無須擔心它了。kill_motor:push dxmov dx,#0x3f2 ! 軟驅控制卡的驅動端口,只寫。mov al,#0 ! A 驅動器,關閉FDC,禁止DMA 和中斷請求,關閉馬達。outb ! 將al 中的內容輸出到dx 指定的端口去。pop dxretsectors:.word 0 ! 存放當前啟動軟盤每磁道的扇區數。msg1:.byte 13,10 ! 回車、換行的ASCII 碼。.ascii "Loading system ...".byte 13,10,13,10 ! 共24 個ASCII 碼字符。.org 508 ! 表示下面語句從地址508(0x1FC)開始,所以root_dev! 在啟動扇區的第508 開始的2 個字節中。root_dev:.word ROOT_DEV ! 這里存放根文件系統所在的設備號(init/main.c 中會用)。boot_flag:.word 0xAA55 ! 硬盤有效標識。.textendtext:.dataenddata:.bssendbss:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧洲性图库| 一本一本大道香蕉久在线精品| 国产69精品一区二区亚洲孕妇| 色哟哟日韩精品| 久久久精品免费免费| 午夜精品久久久久久久久久久| 成人伦理片在线| 日韩情涩欧美日韩视频| 玉足女爽爽91| 91在线丨porny丨国产| 久久天堂av综合合色蜜桃网| 婷婷开心久久网| 色综合色综合色综合色综合色综合| 久久亚洲一区二区三区四区| 日本欧美久久久久免费播放网| 99精品热视频| 中文在线免费一区三区高中清不卡| 欧美a级理论片| 欧美一级日韩免费不卡| 亚洲国产欧美日韩另类综合| 色又黄又爽网站www久久| 国产精品全国免费观看高清| 国产精品一区二区久久精品爱涩| 日韩片之四级片| 青青草原综合久久大伊人精品优势| 日本韩国精品在线| 一区二区三区在线观看网站| 色素色在线综合| 亚洲精品日韩专区silk| 色吊一区二区三区| 亚洲黄色片在线观看| 色诱视频网站一区| 亚洲国产精品久久久久婷婷884 | 亚洲天堂成人在线观看| 国产一区不卡视频| www国产成人免费观看视频 深夜成人网| 五月天国产精品| 日韩视频免费观看高清完整版| 六月丁香综合在线视频| 欧美电视剧在线看免费| 国产一区在线精品| 国产精品视频线看| 色综合久久中文综合久久牛| 亚洲午夜日本在线观看| 欧美日韩免费电影| 免费av网站大全久久| 欧美mv日韩mv亚洲| 成人黄色小视频| 亚洲免费在线电影| 欧美剧在线免费观看网站| 日本一区中文字幕 | 欧美激情综合五月色丁香 | 在线播放91灌醉迷j高跟美女 | 一区二区日韩电影| 欧美日韩中文精品| 久国产精品韩国三级视频| 久久久久久免费毛片精品| 成人动漫一区二区三区| 亚洲免费观看高清完整版在线观看 | 综合久久久久久| 欧美日韩在线直播| 国产最新精品精品你懂的| 亚洲视频在线一区二区| 日韩一区二区三区电影在线观看| 国产风韵犹存在线视精品| 亚洲激情综合网| 精品久久久久av影院| 色先锋aa成人| 激情综合色播五月| 亚洲精品一卡二卡| 欧美成人三级在线| 亚洲国产sm捆绑调教视频 | 亚洲国产综合在线| 欧美日韩成人在线一区| 国产精品一区二区无线| 亚洲午夜免费福利视频| 久久久不卡网国产精品二区 | av综合在线播放| 日韩精品成人一区二区在线| 国产精品青草久久| 日韩女优毛片在线| 色综合夜色一区| 懂色av中文一区二区三区| 偷拍日韩校园综合在线| 亚洲欧美在线另类| 欧美videofree性高清杂交| 在线亚洲人成电影网站色www| 国内精品伊人久久久久av影院| 日韩精品视频网站| 日韩精品在线一区二区| 91麻豆蜜桃一区二区三区| 麻豆精品国产91久久久久久| 亚洲免费av网站| 欧美经典三级视频一区二区三区| 7777精品伊人久久久大香线蕉 | 欧美成人在线直播| 在线视频一区二区免费| 成人av综合一区| 国产一区二区在线看| 午夜天堂影视香蕉久久| 一区二区三区四区在线免费观看| 国产日产精品一区| 26uuu色噜噜精品一区二区| 欧美精品免费视频| 欧美色视频在线观看| 91在线码无精品| 国产激情91久久精品导航| 狠狠色丁香久久婷婷综| 久久99精品一区二区三区三区| 欧美日韩国产综合久久| 亚洲欧洲av在线| 国产午夜亚洲精品不卡| 久久婷婷国产综合国色天香 | 亚洲高清免费观看高清完整版在线观看| 久久久久久久综合狠狠综合| 欧美精品一区二区在线观看| 精品sm捆绑视频| 久久综合九色综合97婷婷女人| 精品国产91乱码一区二区三区 | 亚洲摸摸操操av| 亚洲欧洲精品天堂一级| 国产精品成人免费精品自在线观看| 国产日韩欧美精品一区| 国产日产欧美一区二区三区| 国产精品视频观看| 亚洲欧美视频一区| 亚洲第一狼人社区| 乱中年女人伦av一区二区| 国产日韩欧美制服另类| 欧美亚洲丝袜传媒另类| 99久久99久久免费精品蜜臀| 99riav一区二区三区| 91麻豆国产福利在线观看| 欧美亚洲动漫另类| 欧美一卡二卡在线观看| 久久精品一区二区| 亚洲免费观看在线视频| 视频一区二区中文字幕| 国产一区二区在线视频| 99综合影院在线| 欧美另类一区二区三区| 久久在线观看免费| 国产精品日产欧美久久久久| 亚洲综合无码一区二区| 日韩电影在线观看网站| 国产成人综合在线| 91女厕偷拍女厕偷拍高清| 777亚洲妇女| 久久综合色综合88| 国产精品久久久久久久浪潮网站| 亚洲青青青在线视频| 日日摸夜夜添夜夜添精品视频| 极品少妇xxxx偷拍精品少妇| 99国产精品一区| 日韩三级免费观看| 中文字幕一区二区三区在线播放| 亚洲一区二区三区四区在线免费观看| 美国十次了思思久久精品导航| 成人黄色软件下载| 日韩午夜激情av| 亚洲欧美另类小说| 精品制服美女丁香| 在线观看成人小视频| 久久免费看少妇高潮| 亚洲国产婷婷综合在线精品| 国产成人8x视频一区二区| 精品视频999| 中文字幕中文字幕在线一区 | 欧美视频在线观看一区| 久久蜜桃av一区二区天堂| 亚洲国产一区二区三区| 成人一级视频在线观看| 日韩写真欧美这视频| 亚洲免费观看高清完整版在线观看 | 久久精品国产精品青草| 一本到不卡免费一区二区| 国产性天天综合网| 日本成人在线一区| 91国产视频在线观看| 国产精品久久久久久久午夜片| 久久av资源站| 欧美一区二区三区思思人| 亚洲精品高清在线| 99久久99精品久久久久久 | 日韩三级视频中文字幕| 午夜亚洲福利老司机| 91久久精品一区二区| 亚洲男人的天堂av| bt7086福利一区国产| 中文字幕不卡三区| 国产精品996| 久久免费的精品国产v∧| 久热成人在线视频| 精品国产91乱码一区二区三区| 日韩福利电影在线观看| 欧美一区二区在线观看| 日韩国产欧美三级| 欧美一区二区三区免费| 蜜臀av一级做a爰片久久| 91精品国产入口|