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

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

?? setup.s

?? linux-0.1.1(帶中文注釋)
?? S
?? 第 1 頁 / 共 2 頁
字號:
mov ds,ax ! source segment ! ds:si??源地址(初始為0x1000:0x0)sub di,disub si,simov cx,#0x8000 ! 移動0x8000 字(64k 字節(jié))。repmovswjmp do_move! then we load the segment descriptors! 此后,我們加載段描述符。! 從這里開始會遇到32 位保護模式的操作,因此需要Intel 32 位保護模式編程方面的知識了,! 有關(guān)這方面的信息請查閱列表后的簡單介紹或附錄中的詳細(xì)說明。這里僅作概要說明。!! lidt 指令用于加載中斷描述符表(idt)寄存器,它的操作數(shù)是6 個字節(jié),0-1 字節(jié)是描述符表的! 長度值(字節(jié));2-5 字節(jié)是描述符表的32 位線性基地址(首地址),其形式參見下面! 219-220 行和223-224 行的說明。中斷描述符表中的每一個表項(8 字節(jié))指出發(fā)生中斷時! 需要調(diào)用的代碼的信息,與中斷向量有些相似,但要包含更多的信息。!! lgdt 指令用于加載全局描述符表(gdt)寄存器,其操作數(shù)格式與lidt 指令的相同。全局描述符! 表中的每個描述符項(8 字節(jié))描述了保護模式下數(shù)據(jù)和代碼段(塊)的信息。其中包括段的! 最大長度限制(16 位)、段的線性基址(32 位)、段的特權(quán)級、段是否在內(nèi)存、讀寫許可以及! 其它一些保護模式運行的標(biāo)志。參見后面205-216 行。!end_move:mov ax,#SETUPSEG ! right, forgot this at first. didn't work :-)mov ds,ax ! ds 指向本程序(setup)段。lidt idt_48 ! load idt with 0,0! 加載中斷描述符表(idt)寄存器,idt_48 是6 字節(jié)操作數(shù)的位置! (見218 行)。前2 字節(jié)表示idt 表的限長,后4 字節(jié)表示idt 表! 所處的基地址。lgdt gdt_48 ! load gdt with whatever appropriate! 加載全局描述符表(gdt)寄存器,gdt_48 是6 字節(jié)操作數(shù)的位置! (見222 行)。! that was painless, now we enable A20! 以上的操作很簡單,現(xiàn)在我們開啟A20 地址線。參見程序列表后有關(guān)A20 信號線的說明。call empty_8042 ! 等待輸入緩沖器空。! 只有當(dāng)輸入緩沖器為空時才可以對其進行寫命令。mov al,#0xD1 ! command write ! 0xD1 命令碼-表示要寫數(shù)據(jù)到out #0x64,al ! 8042 的P2 端口。P2 端口的位1 用于A20 線的選通。! 數(shù)據(jù)要寫到0x60 口。call empty_8042 ! 等待輸入緩沖器空,看命令是否被接受。mov al,#0xDF ! A20 on ! 選通A20 地址線的參數(shù)。out #0x60,alcall empty_8042 ! 輸入緩沖器為空,則表示A20 線已經(jīng)選通。! well, that went ok, I hope. Now we have to reprogram the interrupts :-(! we put them right after the intel-reserved hardware interrupts, at! int 0x20-0x2F. There they won't mess up anything. Sadly IBM really! messed this up with the original PC, and they haven't been able to! rectify it afterwards. Thus the bios puts interrupts at 0x08-0x0f,! which is used for the internal hardware interrupts as well. We just! have to reprogram the 8259's, and it isn't fun.!! 希望以上一切正常。現(xiàn)在我們必須重新對中斷進行編程??!! 我們將它們放在正好處于intel 保留的硬件中斷后面,在int 0x20-0x2F。!! 在那里它們不會引起沖突。不幸的是IBM 在原PC 機中搞糟了,以后也沒有糾正過來。!! PC 機的bios 將中斷放在了0x08-0x0f,這些中斷也被用于內(nèi)部硬件中斷。!! 所以我們就必須重新對8259 中斷控制器進行編程,這一點都沒勁。mov al,#0x11 ! initialization sequence! 0x11 表示初始化命令開始,是ICW1 命令字,表示邊! 沿觸發(fā)、多片8259 級連、最后要發(fā)送ICW4 命令字。out #0x20,al ! send it to 8259A-1 ! 發(fā)送到8259A 主芯片。.word 0x00eb,0x00eb ! jmp $+2, jmp $+2 ! $ 表示當(dāng)前指令的地址,! 兩條跳轉(zhuǎn)指令,跳到下一條指令,起延時作用。out #0xA0,al ! and to 8259A-2 ! 再發(fā)送到8259A 從芯片。.word 0x00eb,0x00ebmov al,#0x20 ! start of hardware int's (0x20)out #0x21,al ! 送主芯片ICW2 命令字,起始中斷號,要送奇地址。.word 0x00eb,0x00ebmov al,#0x28 ! start of hardware int's 2 (0x28)out #0xA1,al ! 送從芯片ICW2 命令字,從芯片的起始中斷號。.word 0x00eb,0x00ebmov al,#0x04 ! 8259-1 is masterout #0x21,al ! 送主芯片ICW3 命令字,主芯片的IR2 連從芯片INT。.word 0x00eb,0x00eb !參見代碼列表后的說明。mov al,#0x02 ! 8259-2 is slaveout #0xA1,al ! 送從芯片ICW3 命令字,表示從芯片的INT 連到主芯! 片的IR2 引腳上。.word 0x00eb,0x00ebmov al,#0x01 ! 8086 mode for bothout #0x21,al ! 送主芯片ICW4 命令字。8086 模式;普通EOI 方式,! 需發(fā)送指令來復(fù)位。初始化結(jié)束,芯片就緒。.word 0x00eb,0x00ebout #0xA1,al !送從芯片ICW4 命令字,內(nèi)容同上。.word 0x00eb,0x00ebmov al,#0xFF ! mask off all interrupts for nowout #0x21,al ! 屏蔽主芯片所有中斷請求。.word 0x00eb,0x00ebout #0xA1,al !屏蔽從芯片所有中斷請求。! well, that certainly wasn't fun :-(. Hopefully it works, and we don't! need no steenking BIOS anyway (except for the initial loading :-).! The BIOS-routine wants lots of unnecessary data, and it's less! "interesting" anyway. This is how REAL programmers do it.!! Well, now's the time to actually move into protected mode. To make! things as simple as possible, we do no register set-up or anything,! we let the gnu-compiled 32-bit programs do that. We just jump to! absolute address 0x00000, in 32-bit protected mode.!! 哼,上面這段當(dāng)然沒勁??,希望這樣能工作,而且我們也不再需要乏味的BIOS 了(除了!! 初始的加載?。BIOS 子程序要求很多不必要的數(shù)據(jù),而且它一點都沒趣。那是“真正”的!! 程序員所做的事。! 這里設(shè)置進入32 位保護模式運行。首先加載機器狀態(tài)字(lmsw - Load Machine Status Word),也稱! 控制寄存器CR0,其比特位0 置1 將導(dǎo)致CPU 工作在保護模式。mov ax,#0x0001 ! protected mode (PE) bit ! 保護模式比特位(PE)。lmsw ax ! This is it! ! 就這樣加載機器狀態(tài)字!jmpi 0,8 ! jmp offset 0 of segment 8 (cs) ! 跳轉(zhuǎn)至cs 段8,偏移0 處。! 我們已經(jīng)將system 模塊移動到0x00000 開始的地方,所以這里的偏移地址是0。這里的段! 值的8 已經(jīng)是保護模式下的段選擇符了,用于選擇描述符表和描述符表項以及所要求的特權(quán)級。! 段選擇符長度為16 位(2 字節(jié));位0-1 表示請求的特權(quán)級0-3,linux 操作系統(tǒng)只! 用到兩級:0 級(系統(tǒng)級)和3 級(用戶級);位2 用于選擇全局描述符表(0)還是局部描! 述符表(1);位3-15 是描述符表項的索引,指出選擇第幾項描述符。所以段選擇符! 8(0b0000,0000,0000,1000)表示請求特權(quán)級0、使用全局描述符表中的第1 項,該項指出! 代碼的基地址是0(參見209 行),因此這里的跳轉(zhuǎn)指令就會去執(zhí)行system 中的代碼。! This routine checks that the keyboard command queue is empty! No timeout is used - if this hangs there is something wrong with! the machine, and we probably couldn't proceed anyway.! 下面這個子程序檢查鍵盤命令隊列是否為空。這里不使用超時方法 - 如果這里死機,! 則說明PC 機有問題,我們就沒有辦法再處理下去了。! 只有當(dāng)輸入緩沖器為空時(狀態(tài)寄存器位2 = 0)才可以對其進行寫命令。empty_8042:.word 0x00eb,0x00eb ! 這是兩個跳轉(zhuǎn)指令的機器碼(跳轉(zhuǎn)到下一句),相當(dāng)于延時空操作。in al,#0x64 ! 8042 status port ! 讀AT 鍵盤控制器狀態(tài)寄存器。test al,#2 ! is input buffer full? ! 測試位2,輸入緩沖器滿?jnz empty_8042 ! yes - loopretgdt: ! 全局描述符表開始處。描述符表由多個8 字節(jié)長的描述符項組成。! 這里給出了3 個描述符項。第1 項無用(206 行),但須存在。第2 項是系統(tǒng)代碼段! 描述符(208-211 行),第3 項是系統(tǒng)數(shù)據(jù)段描述符(213-216 行)。每個描述符的具體! 含義參見列表后說明。.word 0,0,0,0 ! dummy ! 第1 個描述符,不用。! 這里在gdt 表中的偏移量為0x08,當(dāng)加載代碼段寄存器(段選擇符)時,使用的是這個偏移值。.word 0x07FF ! 8Mb - limit=2047 (2048*4096=8Mb).word 0x0000 ! base address=0.word 0x9A00 ! code read/exec.word 0x00C0 ! granularity=4096, 386! 這里在gdt 表中的偏移量是0x10,當(dāng)加載數(shù)據(jù)段寄存器(如ds 等)時,使用的是這個偏移值。.word 0x07FF ! 8Mb - limit=2047 (2048*4096=8Mb).word 0x0000 ! base address=0.word 0x9200 ! data read/write.word 0x00C0 ! granularity=4096, 386idt_48:.word 0 ! idt limit=0.word 0,0 ! idt base=0Lgdt_48:.word 0x800 ! gdt limit=2048, 256 GDT entries! 全局表長度為2k 字節(jié),因為每8 字節(jié)組成一個段描述符項! 所以表中共可有256 項。.word 512+gdt,0x9 ! gdt base = 0X9xxxx! 4 個字節(jié)構(gòu)成的內(nèi)存線性地址:0x0009<<16 + 0x0200+gdt! 也即0x90200 + gdt(即在本程序段中的偏移地址,205 行)。.textendtext:.dataenddata:.bssendbss:

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美乱综合| 久久久一区二区三区| 国产精品免费久久久久| 国产精品一区在线观看你懂的| xfplay精品久久| 成人教育av在线| 亚洲欧洲美洲综合色网| 9人人澡人人爽人人精品| 亚洲靠逼com| 在线播放中文一区| 精品写真视频在线观看 | 欧美日韩中文精品| 日韩有码一区二区三区| 精品人伦一区二区色婷婷| 国产伦精品一区二区三区免费迷 | 国产精品午夜久久| 91小视频免费观看| 日本免费在线视频不卡一不卡二| 日韩三级av在线播放| 国产91在线看| 亚洲成a人片在线不卡一二三区| 日韩一区二区三区av| hitomi一区二区三区精品| 亚洲成人资源在线| 欧美国产精品一区二区| 欧美日韩三级在线| 豆国产96在线|亚洲| 午夜精品久久一牛影视| 中文字幕精品—区二区四季| 色欧美日韩亚洲| 国产一区美女在线| 亚洲aaa精品| 国产精品久久久久影院| 91精品国产色综合久久| 欧美性色欧美a在线播放| 日本在线不卡视频一二三区| 亚洲国产电影在线观看| 欧美精品日韩一区| 91视频免费观看| 极品少妇xxxx精品少妇偷拍| 亚洲三级在线免费观看| 亚洲精品一区二区三区影院| 91福利在线看| 97se亚洲国产综合自在线不卡| 蜜桃精品在线观看| 亚洲成人手机在线| 亚洲欧美日韩电影| 久久精品亚洲麻豆av一区二区| 欧美日本视频在线| 91论坛在线播放| 成人精品高清在线| 国产东北露脸精品视频| 毛片不卡一区二区| 日韩国产成人精品| 亚洲v精品v日韩v欧美v专区 | 在线播放日韩导航| 色综合久久中文字幕综合网 | 99re热视频精品| 极品少妇xxxx偷拍精品少妇| 日韩高清欧美激情| 亚洲国产精品久久一线不卡| 中文字幕一区二| 久久男人中文字幕资源站| 制服丝袜日韩国产| 欧美日韩一区二区电影| 91色porny在线视频| 91在线码无精品| jizz一区二区| 色哟哟国产精品| 97se亚洲国产综合自在线观| 99久久精品免费看国产| 国产成人免费高清| 成人av电影在线播放| 成人一级黄色片| 不卡视频在线观看| 91欧美激情一区二区三区成人| 成人免费看的视频| 成人av免费网站| 91麻豆精东视频| 欧美天堂亚洲电影院在线播放| 欧美色综合网站| 91精品欧美综合在线观看最新 | 欧美怡红院视频| 欧美性猛片aaaaaaa做受| 欧美日韩高清影院| 欧美一区二区久久| 精品一区二区免费看| 亚洲欧美成aⅴ人在线观看| 亚洲女厕所小便bbb| 洋洋av久久久久久久一区| 亚洲一区二区在线视频| 亚洲第一久久影院| 黄页网站大全一区二区| 国产91精品精华液一区二区三区 | www.视频一区| 91美女精品福利| 欧美高清视频不卡网| 精品国产一区二区三区四区四| 久久久午夜精品理论片中文字幕| 亚洲国产精品二十页| 亚洲综合丝袜美腿| 麻豆成人久久精品二区三区红 | 在线一区二区三区做爰视频网站| 色综合激情五月| 日韩欧美在线1卡| 欧美极品xxx| 亚洲一级二级三级在线免费观看| 日韩高清中文字幕一区| 成人午夜视频在线| 51午夜精品国产| 国产欧美一二三区| 日韩中文欧美在线| 成人动漫一区二区| 日韩免费高清av| 亚洲精品国产一区二区三区四区在线 | 久久爱www久久做| 成人av动漫在线| 欧美成人综合网站| 亚洲黄色小说网站| 国产在线精品国自产拍免费| 日本韩国视频一区二区| 久久久久久久国产精品影院| 亚洲最大的成人av| 国产成人精品三级麻豆| 欧美日韩国产影片| 亚洲欧洲精品一区二区精品久久久 | 日韩欧美综合一区| 亚洲欧美日韩中文播放 | 国产精品一区二区在线观看不卡 | 91 com成人网| 一区二区三区四区激情| 久久国产精品露脸对白| 欧美日韩成人一区| 亚洲精品菠萝久久久久久久| 国产精品一区三区| 日韩欧美国产小视频| 午夜欧美在线一二页| 一本一本久久a久久精品综合麻豆| 久久女同性恋中文字幕| 免费人成在线不卡| 欧美午夜一区二区三区免费大片| 国产欧美日韩久久| 黄色小说综合网站| 日韩视频在线观看一区二区| 亚洲国产成人av好男人在线观看| 99热这里都是精品| 国产精品久久久久久久久免费丝袜| 青青青伊人色综合久久| 欧美日韩日日夜夜| 亚洲大片免费看| 日本高清成人免费播放| 亚洲免费在线观看| 99久久精品国产一区二区三区| 国产欧美一区二区精品婷婷| 国产乱妇无码大片在线观看| 欧美电影免费观看完整版| 美女精品一区二区| 亚洲精品在线三区| 国内精品伊人久久久久影院对白| 欧美成人三级在线| 国产一区二区精品在线观看| 欧美精品一区二区三区久久久 | 91精品国产入口在线| 一个色综合网站| 色婷婷一区二区| 亚洲综合男人的天堂| 91国偷自产一区二区开放时间| 一区二区三区欧美| 欧美日韩精品一区二区三区| 亚洲mv在线观看| 884aa四虎影成人精品一区| 成人免费黄色在线| 日韩亚洲欧美在线| 久久91精品国产91久久小草| 精品国产免费一区二区三区香蕉 | 福利91精品一区二区三区| 久久久国产精华| av一区二区三区黑人| 亚洲另类一区二区| 欧美日韩国产综合草草| 蜜臀av性久久久久av蜜臀妖精| 日韩精品一区二区三区swag| 国产精品一区二区你懂的| 国产精品网曝门| 欧美无砖砖区免费| 久久精品国产99| 国产精品你懂的在线欣赏| 色8久久精品久久久久久蜜| 午夜成人在线视频| 久久综合国产精品| 91在线观看视频| 欧美男人的天堂一二区| 一区二区三区四区中文字幕| 欧美日韩高清一区二区不卡| 蜜桃久久精品一区二区| 国产精品传媒入口麻豆| 精品视频免费在线| 国产乱码精品一区二区三区忘忧草 | 亚洲一区二区三区四区五区黄| 911精品国产一区二区在线|