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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? bootsect.s

?? linux下的源代碼
?? S
?? 第 1 頁 / 共 2 頁
字號(hào):
!! SYS_SIZE is the number of clicks (16 bytes) to be loaded.! 0x3000 is 0x30000 bytes = 196kB, more than enough for current! versions of linux ! SYS_SIZE 是要加載的節(jié)數(shù)(16 字節(jié)為1 節(jié))。0x3000 共為1 2 3 4 5 60x7c000x00000x900000x100000xA0000system 模塊代碼執(zhí)行位置線路0x90200! 0x30000 字節(jié)=192 kB(上面Linus 估算錯(cuò)了),對(duì)于當(dāng)前的版本空間已足夠了。!SYSSIZE = 0x3000 ! 指編譯連接后system 模塊的大小。參見列表1.2 中第92 的說明。! 這里給出了一個(gè)最大默認(rèn)值。!! bootsect.s (C) 1991 Linus Torvalds!! bootsect.s is loaded at 0x7c00 by the bios-startup routines, and moves! iself out of the way to address 0x90000, and jumps there.!! It then loads 'setup' directly after itself (0x90200), and the system! at 0x10000, using BIOS interrupts.!! NOTE! currently system is at most 8*65536 bytes long. This should be no! problem, even in the future. I want to keep it simple. This 512 kB! kernel size should be enough, especially as this doesn't contain the! buffer cache as in minix!! The loader has been made as simple as possible, and continuos! read errors will result in a unbreakable loop. Reboot by hand. It! loads pretty fast by getting whole sectors at a time whenever possible.!! 以下是前面這些文字的翻譯:! bootsect.s (C) 1991 Linus Torvalds 版權(quán)所有!! bootsect.s 被bios-啟動(dòng)子程序加載至0x7c00 (31k)處,并將自己! 移到了地址0x90000 (576k)處,并跳轉(zhuǎn)至那里。!! 它然后使用BIOS 中斷將'setup'直接加載到自己的后面(0x90200)(576.5k),! 并將system 加載到地址0x10000 處。!! 注意! 目前的內(nèi)核系統(tǒng)最大長度限制為(8*65536)(512k)字節(jié),即使是在! 將來這也應(yīng)該沒有問題的。我想讓它保持簡單明了。這樣512k 的最大內(nèi)核長度應(yīng)該! 足夠了,尤其是這里沒有象minix 中一樣包含緩沖區(qū)高速緩沖。!! 加載程序已經(jīng)做的夠簡單了,所以持續(xù)的讀出錯(cuò)將導(dǎo)致死循環(huán)。只能手工重啟。! 只要可能,通過一次取取所有的扇區(qū),加載過程可以做的很快的。.globl begtext, begdata, begbss, endtext, enddata, endbss ! 定義了6 個(gè)全局標(biāo)識(shí)符;.text ! 文本段;begtext:.data ! 數(shù)據(jù)段;begdata:.bss ! 堆棧段;begbss:.text ! 文本段;SETUPLEN = 4 ! nr of setup-sectors! setup 程序的扇區(qū)數(shù)(setup-sectors)值;BOOTSEG = 0x07c0 ! original address of boot-sector! bootsect 的原始地址(是段地址,以下同);INITSEG = 0x9000 ! we move boot here - out of the way! 將bootsect 移到這里 -- 避開;SETUPSEG = 0x9020 ! setup starts here! setup 程序從這里開始;SYSSEG = 0x1000 ! system loaded at 0x10000 (65536).! system 模塊加載到0x10000(64 kB)處;ENDSEG = SYSSEG + SYSSIZE ! where to stop loading! 停止加載的段地址;! ROOT_DEV: 0x000 - same type of floppy as boot.! 根文件系統(tǒng)設(shè)備使用與引導(dǎo)時(shí)同樣的軟驅(qū)設(shè)備;! 0x301 - first partition on first drive etc! 根文件系統(tǒng)設(shè)備在第一個(gè)硬盤的第一個(gè)分區(qū)上,等等;ROOT_DEV = 0x306 ! 指定根文件系統(tǒng)設(shè)備是第2 個(gè)硬盤的第1 個(gè)分區(qū)。這是Linux 老式的硬盤命名! 方式,具體值的含義如下:! 設(shè)備號(hào)=主設(shè)備號(hào)*256 + 次設(shè)備號(hào)(也即dev_no = (major<<8) + minor )! (主設(shè)備號(hào):1-內(nèi)存,2-磁盤,3-硬盤,4-ttyx,5-tty,6-并行口,7-非命名管道)! 0x300 - /dev/hd0 - 代表整個(gè)第1 個(gè)硬盤;! 0x301 - /dev/hd1 - 第1 個(gè)盤的第1 個(gè)分區(qū);! …! 0x304 - /dev/hd4 - 第1 個(gè)盤的第4 個(gè)分區(qū);! 0x305 - /dev/hd5 - 代表整個(gè)第2 個(gè)硬盤盤;! 0x306 - /dev/hd6 - 第2 個(gè)盤的第1 個(gè)分區(qū);! …! 0x309 - /dev/hd9 - 第2 個(gè)盤的第4 個(gè)分區(qū);! 從linux 內(nèi)核0.95 版后已經(jīng)使用與現(xiàn)在相同的命名方法了。entry start ! 告知連接程序,程序從start 標(biāo)號(hào)開始執(zhí)行。start: ! 47--56 行作用是將自身(bootsect)從目前段位置0x07c0(31k)! 移動(dòng)到0x9000(576k)處,共256 字(512 字節(jié)),然后跳轉(zhuǎn)到! 移動(dòng)后代碼的go 標(biāo)號(hào)處,也即本程序的下一語句處。mov ax,#BOOTSEG ! 將ds 段寄存器置為0x7C0;mov ds,axmov ax,#INITSEG ! 將es 段寄存器置為0x9000;mov es,axmov cx,#256 ! 移動(dòng)計(jì)數(shù)值=256 字;sub si,si ! 源地址 ds:si = 0x07C0:0x0000sub di,di ! 目的地址 es:di = 0x9000:0x0000rep ! 重復(fù)執(zhí)行,直到cx = 0movw ! 移動(dòng)1 個(gè)字;jmpi go,INITSEG ! 間接跳轉(zhuǎn)。這里INITSEG 指出跳轉(zhuǎn)到的段地址。go: mov ax,cs ! 將ds、es 和ss 都置成移動(dòng)后代碼所在的段處(0x9000)。mov ds,ax !由于程序中有堆棧操作(push,pop,call),因此必須設(shè)置堆棧。mov es,ax! put stack at 0x9ff00. ! 將堆棧指針sp 指向0x9ff00(即0x9000:0xff00)處mov ss,axmov sp,#0xFF00 ! arbitrary value >>512! 由于代碼段移動(dòng)過了,所以要重新設(shè)置堆棧段的位置。! sp 只要指向遠(yuǎn)大于512 偏移(即地址0x90200)處! 都可以。因?yàn)閺?x90200 地址開始處還要放置setup 程序,! 而此時(shí)setup 程序大約為4 個(gè)扇區(qū),因此sp 要指向大! 于(0x200 + 0x200 * 4 + 堆棧大小)處。! load the setup-sectors directly after the bootblock.! Note that 'es' is already set up.! 在bootsect 程序塊后緊根著加載setup 模塊的代碼數(shù)據(jù)。! 注意es 已經(jīng)設(shè)置好了。(在移動(dòng)代碼時(shí)es 已經(jīng)指向目的段地址處0x9000)。load_setup:! 68--77 行的用途是利用BIOS 中斷INT 0x13 將setup 模塊從磁盤第2 個(gè)扇區(qū)! 開始讀到0x90200 開始處,共讀4 個(gè)扇區(qū)。如果讀出錯(cuò),則復(fù)位驅(qū)動(dòng)器,并! 重試,沒有退路。INT 0x13 的使用方法如下:! 讀扇區(qū):! ah = 0x02 - 讀磁盤扇區(qū)到內(nèi)存;al = 需要讀出的扇區(qū)數(shù)量;! ch = 磁道(柱面)號(hào)的低8 位; cl = 開始扇區(qū)(0-5 位),磁道號(hào)高2 位(6-7);! dh = 磁頭號(hào); dl = 驅(qū)動(dòng)器號(hào)(如果是硬盤則要置位7);! es:bx ??指向數(shù)據(jù)緩沖區(qū); 如果出錯(cuò)則CF 標(biāo)志置位。mov dx,#0x0000 ! drive 0, head 0mov cx,#0x0002 ! sector 2, track 0mov bx,#0x0200 ! address = 512, in INITSEGmov ax,#0x0200+SETUPLEN ! service 2, nr of sectorsint 0x13 ! read itjnc ok_load_setup ! ok - continuemov dx,#0x0000mov ax,#0x0000 ! reset the disketteint 0x13j load_setupok_load_setup:! Get disk drive parameters, specifically nr of sectors/track! 取磁盤驅(qū)動(dòng)器的參數(shù),特別是每道的扇區(qū)數(shù)量。! 取磁盤驅(qū)動(dòng)器參數(shù)INT 0x13 調(diào)用格式和返回信息如下:! ah = 0x08 dl = 驅(qū)動(dòng)器號(hào)(如果是硬盤則要置位7 為1)。! 返回信息:! 如果出錯(cuò)則CF 置位,并且ah = 狀態(tài)碼。! ah = 0, al = 0, bl = 驅(qū)動(dòng)器類型(AT/PS2)! ch = 最大磁道號(hào)的低8 位,cl = 每磁道最大扇區(qū)數(shù)(位0-5),最大磁道號(hào)高2 位(位6-7)! dh = 最大磁頭數(shù), dl = 驅(qū)動(dòng)器數(shù)量,! es:di -?? 軟驅(qū)磁盤參數(shù)表。mov dl,#0x00mov ax,#0x0800 ! AH=8 is get drive parametersint 0x13mov ch,#0x00seg cs ! 表示下一條語句的操作數(shù)在cs 段寄存器所指的段中。mov sectors,cx ! 保存每磁道扇區(qū)數(shù)。mov ax,#INITSEGmov es,ax ! 因?yàn)樯厦嫒〈疟P參數(shù)中斷改掉了es 的值,這里重新改回。! Print some inane message ! 在顯示一些信息('Loading system ...'回車換行,共24 個(gè)字符)。mov ah,#0x03 ! read cursor posxor bh,bh ! 讀光標(biāo)位置。int 0x10mov cx,#24 ! 共24 個(gè)字符。mov bx,#0x0007 ! page 0, attribute 7 (normal)mov bp,#msg1 ! 指向要顯示的字符串。mov ax,#0x1301 ! write string, move cursorint 0x10 ! 寫字符串并移動(dòng)光標(biāo)。! ok, we've written the message, now! we want to load the system (at 0x10000) ! 現(xiàn)在開始將system 模塊加載到0x10000(64k)處。mov ax,#SYSSEGmov es,ax ! segment of 0x010000 ! es = 存放system 的段地址。call read_it ! 讀磁盤上system 模塊,es 為輸入?yún)?shù)。call kill_motor ! 關(guān)閉驅(qū)動(dòng)器馬達(dá),這樣就可以知道驅(qū)動(dòng)器的狀態(tài)了。! After that we check which root-device to use. If the device is

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
激情综合一区二区三区| 欧美系列日韩一区| 97久久精品人人澡人人爽| 99久久精品国产导航| 欧美日韩在线直播| 欧美一区二区三级| 久久久久久影视| 一区二区在线观看视频在线观看| 日韩不卡一区二区三区| 韩国女主播成人在线观看| 波多野结衣欧美| 555www色欧美视频| 欧美激情一区二区三区四区| 亚洲国产成人精品视频| 国产一区在线看| 色婷婷亚洲婷婷| 欧美一区二区三区影视| 亚洲国产精品激情在线观看| 亚洲午夜精品网| 国产自产v一区二区三区c| 91香蕉视频污在线| 日韩精品一区二区三区swag | 日韩av电影一区| 成人av高清在线| 日韩一区二区免费在线电影| 中文字幕在线观看不卡视频| 免费成人你懂的| 在线观看日韩高清av| 欧美成人性福生活免费看| 亚洲一区二区三区四区在线观看| 国产美女主播视频一区| 狠狠狠色丁香婷婷综合激情| 亚洲欧洲日韩在线| 国产亚洲欧美日韩日本| 另类小说欧美激情| 在线成人高清不卡| 欧美视频完全免费看| 久久国产剧场电影| 色女孩综合影院| 国产精品视频第一区| 日韩久久精品一区| 亚洲国产精品影院| 国产一区二区三区香蕉| 欧美日韩二区三区| 国产女主播一区| 久久国产夜色精品鲁鲁99| 色综合天天综合在线视频| 日韩精品一区二区三区四区 | 亚洲精品国产精品乱码不99| 樱花草国产18久久久久| 高清国产一区二区| 91精品国产高清一区二区三区 | 亚洲视频资源在线| 国产成人亚洲精品狼色在线| 欧美欧美午夜aⅴ在线观看| 亚洲人成亚洲人成在线观看图片 | 精品蜜桃在线看| 亚洲成人tv网| 91麻豆123| 国产精品女同互慰在线看| 国产在线精品一区二区夜色| 欧美久久一二三四区| 亚洲最新视频在线播放| 成人动漫一区二区三区| 国产女人18毛片水真多成人如厕| 天天综合天天做天天综合| 欧美午夜精品免费| 亚洲乱码精品一二三四区日韩在线 | 免费精品视频在线| 欧美精品亚洲二区| 国产精品国产三级国产aⅴ中文 | 91精品国产手机| 日韩伦理免费电影| 国产999精品久久久久久绿帽| 91精品午夜视频| 亚洲成人手机在线| 91同城在线观看| 国产精品久久三区| 国产精品亚洲а∨天堂免在线| 欧美日韩国产高清一区二区| 亚洲欧美电影院| 一本大道av伊人久久综合| 久久日韩粉嫩一区二区三区 | 精品成人一区二区三区四区| 国产剧情一区二区三区| 精品久久免费看| 国产成人午夜视频| 国产亚洲成aⅴ人片在线观看| 成a人片国产精品| 一色桃子久久精品亚洲| 欧美在线一区二区| 亚洲一区二区视频在线观看| 欧美精品国产精品| 日韩电影免费在线| 久久一留热品黄| 国产福利一区在线| 亚洲免费av在线| 欧美三级日韩三级| 亚洲人成亚洲人成在线观看图片 | 专区另类欧美日韩| 在线视频你懂得一区| 亚洲高清免费在线| 精品国产一区二区精华| 国产乱人伦偷精品视频免下载| 国产精品免费视频网站| av不卡在线观看| 亚洲不卡在线观看| 日韩一级片网址| 日韩高清在线不卡| 精品少妇一区二区三区在线视频| 夜夜嗨av一区二区三区网页| 欧美一级理论片| 国产自产视频一区二区三区| 亚洲欧美日韩国产手机在线 | 日韩免费高清av| 高清在线观看日韩| 国产精品亲子伦对白| 欧美日韩你懂的| 午夜一区二区三区视频| 国产午夜精品一区二区三区视频| 成人国产精品免费网站| 亚洲午夜三级在线| 欧美精品一区二区精品网| 色综合久久中文字幕| 午夜国产精品影院在线观看| 久久精品夜夜夜夜久久| 在线欧美日韩国产| 国产精品91一区二区| 亚洲欧美日韩系列| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 国产精品中文字幕一区二区三区| 亚洲国产精品国自产拍av| 欧美性三三影院| 蜜臀精品一区二区三区在线观看 | 日韩一区二区免费在线电影| 国产剧情一区二区| 亚洲欧美一区二区三区国产精品 | 免费日韩伦理电影| 国产精品日韩成人| 日韩欧美一区在线观看| 97se亚洲国产综合自在线| 激情综合色综合久久综合| 亚洲免费毛片网站| 久久久国产精品不卡| 欧美午夜寂寞影院| eeuss国产一区二区三区| 婷婷国产在线综合| 亚洲精品国产视频| 国产日产欧美一区| 日韩欧美国产wwwww| 色综合久久66| 成人av电影在线网| 久久99深爱久久99精品| 亚洲国产日韩av| 欧美国产一区视频在线观看| 日韩视频免费观看高清完整版 | 日本道精品一区二区三区| 国内精品国产成人国产三级粉色| 国产精品第13页| 精品国产免费视频| 欧美日韩亚洲综合在线 | 亚洲国产成人午夜在线一区| 欧美sm美女调教| 欧美视频一区二区三区在线观看| 972aa.com艺术欧美| 国内一区二区视频| 麻豆91在线观看| 午夜私人影院久久久久| 亚洲永久免费视频| 日韩理论片网站| 亚洲人妖av一区二区| 久久久久久黄色| 日韩一区二区在线看| 欧美视频你懂的| 日本二三区不卡| 国产99久久久国产精品潘金网站| 日本成人在线看| 亚洲欧洲www| 国产欧美综合色| 久久只精品国产| 日韩精品一区二区三区视频播放| 日韩写真欧美这视频| 欧美午夜精品久久久久久超碰 | 亚洲香蕉伊在人在线观| 亚洲乱码中文字幕| 亚洲精品欧美激情| 亚洲综合一二三区| 亚洲激情在线激情| 亚洲成人中文在线| 亚洲成人久久影院| 日本不卡一二三| 奇米精品一区二区三区在线观看 | 欧美日韩国产精品成人| 欧美自拍偷拍一区| 欧美高清hd18日本| 欧美日韩国产综合视频在线观看| 欧美精品一卡二卡| 91精品国产入口| 亚洲精品在线免费播放| 91麻豆精品国产自产在线观看一区|