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

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

?? setup.s

?? 帶中文注釋的Linux+0.11+源代碼
?? S
?? 第 1 頁 / 共 2 頁
字號:
mov ds,ax ! source segment ! ds:si??源地址(初始為0x1000:0x0)sub di,disub si,simov cx,#0x8000 ! 移動0x8000 字(64k 字節)。repmovswjmp do_move! then we load the segment descriptors! 此后,我們加載段描述符。! 從這里開始會遇到32 位保護模式的操作,因此需要Intel 32 位保護模式編程方面的知識了,! 有關這方面的信息請查閱列表后的簡單介紹或附錄中的詳細說明。這里僅作概要說明。!! lidt 指令用于加載中斷描述符表(idt)寄存器,它的操作數是6 個字節,0-1 字節是描述符表的! 長度值(字節);2-5 字節是描述符表的32 位線性基地址(首地址),其形式參見下面! 219-220 行和223-224 行的說明。中斷描述符表中的每一個表項(8 字節)指出發生中斷時! 需要調用的代碼的信息,與中斷向量有些相似,但要包含更多的信息。!! lgdt 指令用于加載全局描述符表(gdt)寄存器,其操作數格式與lidt 指令的相同。全局描述符! 表中的每個描述符項(8 字節)描述了保護模式下數據和代碼段(塊)的信息。其中包括段的! 最大長度限制(16 位)、段的線性基址(32 位)、段的特權級、段是否在內存、讀寫許可以及! 其它一些保護模式運行的標志。參見后面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 字節操作數的位置! (見218 行)。前2 字節表示idt 表的限長,后4 字節表示idt 表! 所處的基地址。lgdt gdt_48 ! load gdt with whatever appropriate! 加載全局描述符表(gdt)寄存器,gdt_48 是6 字節操作數的位置! (見222 行)。! that was painless, now we enable A20! 以上的操作很簡單,現在我們開啟A20 地址線。參見程序列表后有關A20 信號線的說明。call empty_8042 ! 等待輸入緩沖器空。! 只有當輸入緩沖器為空時才可以對其進行寫命令。mov al,#0xD1 ! command write ! 0xD1 命令碼-表示要寫數據到out #0x64,al ! 8042 的P2 端口。P2 端口的位1 用于A20 線的選通。! 數據要寫到0x60 口。call empty_8042 ! 等待輸入緩沖器空,看命令是否被接受。mov al,#0xDF ! A20 on ! 選通A20 地址線的參數。out #0x60,alcall empty_8042 ! 輸入緩沖器為空,則表示A20 線已經選通。! 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.!! 希望以上一切正常。現在我們必須重新對中斷進行編程??!! 我們將它們放在正好處于intel 保留的硬件中斷后面,在int 0x20-0x2F。!! 在那里它們不會引起沖突。不幸的是IBM 在原PC 機中搞糟了,以后也沒有糾正過來。!! PC 機的bios 將中斷放在了0x08-0x0f,這些中斷也被用于內部硬件中斷。!! 所以我們就必須重新對8259 中斷控制器進行編程,這一點都沒勁。mov al,#0x11 ! initialization sequence! 0x11 表示初始化命令開始,是ICW1 命令字,表示邊! 沿觸發、多片8259 級連、最后要發送ICW4 命令字。out #0x20,al ! send it to 8259A-1 ! 發送到8259A 主芯片。.word 0x00eb,0x00eb ! jmp $+2, jmp $+2 ! $ 表示當前指令的地址,! 兩條跳轉指令,跳到下一條指令,起延時作用。out #0xA0,al ! and to 8259A-2 ! 再發送到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 方式,! 需發送指令來復位。初始化結束,芯片就緒。.word 0x00eb,0x00ebout #0xA1,al !送從芯片ICW4 命令字,內容同上。.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.!! 哼,上面這段當然沒勁??,希望這樣能工作,而且我們也不再需要乏味的BIOS 了(除了!! 初始的加載?。BIOS 子程序要求很多不必要的數據,而且它一點都沒趣。那是“真正”的!! 程序員所做的事。! 這里設置進入32 位保護模式運行。首先加載機器狀態字(lmsw - Load Machine Status Word),也稱! 控制寄存器CR0,其比特位0 置1 將導致CPU 工作在保護模式。mov ax,#0x0001 ! protected mode (PE) bit ! 保護模式比特位(PE)。lmsw ax ! This is it! ! 就這樣加載機器狀態字!jmpi 0,8 ! jmp offset 0 of segment 8 (cs) ! 跳轉至cs 段8,偏移0 處。! 我們已經將system 模塊移動到0x00000 開始的地方,所以這里的偏移地址是0。這里的段! 值的8 已經是保護模式下的段選擇符了,用于選擇描述符表和描述符表項以及所要求的特權級。! 段選擇符長度為16 位(2 字節);位0-1 表示請求的特權級0-3,linux 操作系統只! 用到兩級:0 級(系統級)和3 級(用戶級);位2 用于選擇全局描述符表(0)還是局部描! 述符表(1);位3-15 是描述符表項的索引,指出選擇第幾項描述符。所以段選擇符! 8(0b0000,0000,0000,1000)表示請求特權級0、使用全局描述符表中的第1 項,該項指出! 代碼的基地址是0(參見209 行),因此這里的跳轉指令就會去執行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 機有問題,我們就沒有辦法再處理下去了。! 只有當輸入緩沖器為空時(狀態寄存器位2 = 0)才可以對其進行寫命令。empty_8042:.word 0x00eb,0x00eb ! 這是兩個跳轉指令的機器碼(跳轉到下一句),相當于延時空操作。in al,#0x64 ! 8042 status port ! 讀AT 鍵盤控制器狀態寄存器。test al,#2 ! is input buffer full? ! 測試位2,輸入緩沖器滿?jnz empty_8042 ! yes - loopretgdt: ! 全局描述符表開始處。描述符表由多個8 字節長的描述符項組成。! 這里給出了3 個描述符項。第1 項無用(206 行),但須存在。第2 項是系統代碼段! 描述符(208-211 行),第3 項是系統數據段描述符(213-216 行)。每個描述符的具體! 含義參見列表后說明。.word 0,0,0,0 ! dummy ! 第1 個描述符,不用。! 這里在gdt 表中的偏移量為0x08,當加載代碼段寄存器(段選擇符)時,使用的是這個偏移值。.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,當加載數據段寄存器(如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 字節,因為每8 字節組成一個段描述符項! 所以表中共可有256 項。.word 512+gdt,0x9 ! gdt base = 0X9xxxx! 4 個字節構成的內存線性地址:0x0009<<16 + 0x0200+gdt! 也即0x90200 + gdt(即在本程序段中的偏移地址,205 行)。.textendtext:.dataenddata:.bssendbss:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人黄色一级视频| 国产成人亚洲综合a∨婷婷图片| 日韩成人免费在线| 日日骚欧美日韩| 99久久婷婷国产综合精品电影 | 亚洲一区二区三区爽爽爽爽爽| 国产精品1区二区.| 顶级嫩模精品视频在线看| 久久精品视频一区二区三区| 91精品国产麻豆国产自产在线| 欧美午夜精品一区二区蜜桃| 精品污污网站免费看| 欧美日韩在线电影| 日韩欧美亚洲一区二区| 久久久一区二区三区| 国产欧美一区二区三区在线老狼| 国产精品久久久久久久久晋中 | 久久综合久久综合久久综合| 精品国产一区二区三区久久影院| 欧美精品一区二区三区四区| 国产精品免费视频观看| 亚洲人成人一区二区在线观看| 一区二区欧美精品| 日本成人中文字幕在线视频 | 国产欧美一区二区精品忘忧草| 国产欧美日韩综合精品一区二区| 中文字幕在线一区| 亚洲www啪成人一区二区麻豆| 久久精品国产亚洲一区二区三区| 国产精品影音先锋| 色哟哟一区二区三区| 制服丝袜日韩国产| 国产精品青草久久| 亚洲成人7777| 国产成人精品三级麻豆| 91浏览器入口在线观看| 日韩一级欧美一级| 亚洲免费观看高清在线观看| 奇米影视在线99精品| 99久久精品免费| 久久五月婷婷丁香社区| 亚洲码国产岛国毛片在线| 免费看日韩精品| 99精品久久99久久久久| 欧美一区二区三区在线视频| 国产精品天干天干在观线| 免费成人性网站| 色噜噜狠狠色综合中国| 久久久亚洲精品一区二区三区 | 蜜臀久久99精品久久久久久9| 丁香五精品蜜臀久久久久99网站| 欧美日韩国产一级| 国产精品卡一卡二| 蓝色福利精品导航| 色94色欧美sute亚洲线路一久| 国产亚洲制服色| 日本va欧美va瓶| 欧美性猛片xxxx免费看久爱| 国产精品视频一二三区| 精品一区二区三区免费观看 | 精品国产一区二区亚洲人成毛片| 亚洲一区二区三区中文字幕 | 国产一区二区成人久久免费影院 | 在线免费观看成人短视频| 久久综合狠狠综合久久综合88| 五月天欧美精品| 精品视频在线免费| 亚洲成a人片在线不卡一二三区| 色哟哟日韩精品| 亚洲欧洲成人自拍| 99久久综合色| 国产精品美女久久久久久2018| 丁香天五香天堂综合| 欧美国产欧美综合| 成人av网站免费| 欧美国产精品劲爆| 成人国产电影网| 国产精品久久看| 97se亚洲国产综合自在线观| 中文字幕一区免费在线观看| 91丨九色丨蝌蚪富婆spa| 国产精品天干天干在观线 | 伊人开心综合网| 欧美在线看片a免费观看| 一区二区三区在线免费视频| 欧美偷拍一区二区| 日韩精品一卡二卡三卡四卡无卡| 欧美电影一区二区| 精品在线一区二区三区| 国产亚洲一区二区在线观看| a级精品国产片在线观看| 亚洲欧美激情一区二区| 欧美日韩高清一区二区三区| 免费一区二区视频| 久久久久久久综合| kk眼镜猥琐国模调教系列一区二区 | 免费久久精品视频| 久久午夜老司机| 91美女蜜桃在线| 免费看日韩精品| 国产精品久久久久久久久免费樱桃| 色视频成人在线观看免| 日韩精品免费专区| 久久久av毛片精品| 91在线小视频| 久久精品国产久精国产爱| 国产精品伦一区| 欧美剧情电影在线观看完整版免费励志电影 | 在线精品亚洲一区二区不卡| 日韩国产精品久久久久久亚洲| 久久免费国产精品| 欧洲亚洲精品在线| 国内精品视频666| 亚洲愉拍自拍另类高清精品| 日韩欧美另类在线| 99久久婷婷国产精品综合| 日本美女一区二区三区| 中文字幕亚洲成人| 精品剧情在线观看| 欧美三级中文字| 成人av网站在线观看免费| 另类欧美日韩国产在线| 一区二区三区在线观看动漫| 久久综合色之久久综合| 在线视频你懂得一区| 国产成人啪免费观看软件| 亚洲成人av福利| 一区二区三区四区精品在线视频| 久久久亚洲精品一区二区三区 | 久久久久久久久久久久电影 | 国产欧美精品国产国产专区| 91麻豆精品国产综合久久久久久| 成人a级免费电影| 国产在线视频不卡二| 蜜臀精品久久久久久蜜臀 | 国产精品视频看| 欧美电影免费观看高清完整版| 91污在线观看| 成人a级免费电影| 丁香婷婷综合网| 国产成人精品一区二区三区四区 | 日韩欧美一区二区久久婷婷| 欧美影院精品一区| 99re这里都是精品| www.亚洲国产| 成人高清视频在线观看| 成人在线视频一区| 成人性色生活片| 成人美女在线视频| 国产白丝网站精品污在线入口| 国产精品亚洲一区二区三区在线 | 奇米色777欧美一区二区| 亚洲国产成人91porn| 亚洲精品高清在线| 一区二区欧美国产| 午夜精品国产更新| 丝袜诱惑亚洲看片| 免费成人在线播放| 精品亚洲porn| 国产91综合一区在线观看| 岛国av在线一区| 色乱码一区二区三区88| 在线日韩一区二区| 91精品视频网| 欧美一级二级三级蜜桃| 久久午夜免费电影| 国产精品免费视频一区| 亚洲精品中文字幕乱码三区 | 国产精品成人网| 亚洲欧美电影院| 性做久久久久久免费观看| 日精品一区二区三区| 青青草国产成人av片免费| 极品美女销魂一区二区三区 | 亚洲va中文字幕| 免费一级片91| 成人午夜电影久久影院| aaa欧美日韩| 欧美高清激情brazzers| 久久日韩粉嫩一区二区三区| 中文字幕一区二区三区蜜月| 一二三区精品视频| 狠狠久久亚洲欧美| 97se狠狠狠综合亚洲狠狠| 欧美一区二区久久久| 国产精品亲子伦对白| 亚洲福利一区二区| 国产成人av一区二区三区在线观看| 99久久精品费精品国产一区二区| 欧美另类高清zo欧美| 久久久久久一级片| 亚洲超碰97人人做人人爱| 成人激情免费网站| 欧美一区二区成人| 亚洲精品一二三| 国产suv精品一区二区三区| 欧美性欧美巨大黑白大战| 日本一区二区在线不卡| 美女视频黄频大全不卡视频在线播放| 高清成人免费视频|