{"id":219,"date":"2004-10-11T06:52:18","date_gmt":"2004-10-10T22:52:18","guid":{"rendered":"http:\/\/www.xujiwei.com\/blog\/?p=219"},"modified":"2010-01-29T22:30:28","modified_gmt":"2010-01-29T14:30:28","slug":"enter-protect-mode-from-realmode","status":"publish","type":"post","link":"https:\/\/xujiwei.com\/blog\/2004\/10\/enter-protect-mode-from-realmode\/","title":{"rendered":"\u5b9e\u6a21\u5f0f\u8fdb\u4fdd\u62a4\u6a21\u5f0f"},"content":{"rendered":"<p>\u5728\u5199\u81ea\u5df1\u7684\u64cd\u4f5c\u7cfb\u7edf\u65f6,\u4e0d\u80fd\u603b\u5728\u5b9e\u6a21\u5f0f\u4e0b,\u8fdb\u5165\u4fdd\u62a4\u6a21\u5f0f\u624d\u662f\"\u6b63\u9053\",\u4e0d\u8fc7\u600e\u4e48\u8fdb\u5165\u4fdd\u62a4\u6a21\u5f0f\u53c8\u662f\u4e00\u4e2a\u95ee\u9898,\u6211\u628a<\/p>\n<p>XuOS\u91cc\u8fdb\u5165\u4fdd\u62a4\u6a21\u5f0f\u7684\u4ee3\u7801\u5206\u6790\u4e00\u4e0b.<\/p>\n<p><span style=\"color: green;\">;\u00a0\u88c5\u5165GDT<\/span><\/p>\n<p>mov\u00a0\u00a0eax,ds\u00a0\u00a0<span style=\"color: green;\">;\u8bbe\u7f6eGDT\u5728\u7269\u7406\u5185\u5b58\u4e2d\u7684\u6b63\u786e\u4f4d\u7f6e<\/span><\/p>\n<p>shl\u00a0\u00a0eax,4<\/p>\n<p>add\u00a0\u00a0[gdt_addr+2],eax<\/p>\n<p>cli\u00a0\u00a0<span style=\"color: green;\">;\u00a0\u5173\u4e2d\u65ad<\/span><\/p>\n<p>lgdt\u00a0[gdt_addr]\u00a0<span style=\"color: green;\">;\u8f7d\u5165GDT<\/span><\/p>\n<p><span style=\"color: green;\">;\u00a0\u4e0b\u9762\u6253\u5f00A20\u5730\u5740\u7ebf,\u8fd9\u6bb5\u4ee3\u7801\u53ef\u4ee5\u5728<a rel=\"external\" href=\"http:\/\/www.xemean.net\/\">OSzone<\/a>\u4e0a\u627e\u5230\u76f8\u5173\u89e3\u91ca.<\/span><\/p>\n<p>call\u00a0\u00a0Empty_8042<\/p>\n<p>mov\u00a0\u00a0al,0xd1<\/p>\n<p>out\u00a0\u00a00x64,al<\/p>\n<p>call\u00a0\u00a0Empty_8042<\/p>\n<p>mov\u00a0\u00a0al,0xdf<\/p>\n<p>out\u00a0\u00a00x60,al<\/p>\n<p>call\u00a0\u00a0Empty_8042<\/p>\n<p><span style=\"color: green;\">;\u00a0\u8fdb\u5165\u4fdd\u62a4\u6a21\u5f0f<\/span><\/p>\n<p>mov\u00a0\u00a0eax,cr0\u00a0<span style=\"color: green;\">;\u7f6ePE\u4f4d<\/span><\/p>\n<p>or\u00a0\u00a0\u00a0eax,1<\/p>\n<p>mov\u00a0\u00a0cr0,eax<\/p>\n<p>jmp\u00a0oscodesel:code_32\u00a0\u00a0<span style=\"color: green;\">;\u00a0\u8df3\u523032\u4f4d\u4ee3\u7801\u5904\u6267\u884c<\/span><\/p>\n<p>Empty_8042:<\/p>\n<p>in\u00a0\u00a0\u00a0al,0x64<\/p>\n<p>test\u00a0al,0x2<\/p>\n<p>jnz\u00a0\u00a0Empty_8042<\/p>\n<p>ret<\/p>\n<p><span style=\"color: green;\">;\u00a0GDT\u7684\u5185\u5bb9<\/span><\/p>\n<p>gdt:<\/p>\n<p>gdt_null:<\/p>\n<p>dd\u00a0\u00a00x0000<\/p>\n<p>dd\u00a0\u00a00x0000<\/p>\n<p>gdt_system_code:<\/p>\n<p>oscodesel\u00a0equ\u00a0$-gdt\u00a0\u00a0<span style=\"color: green;\">;\u00a0\u6bb5\u9009\u62e9\u5b50<\/span><\/p>\n<p>dd\u00a0\u00a00x0000ffff,0x00cf9a00<\/p>\n<p>gdt_system_data:<\/p>\n<p>osdatasel\u00a0equ\u00a0$-gdt<\/p>\n<p>dd\u00a0\u00a00x1000ffff,0x00cf9200<\/p>\n<p>videosel\u00a0equ\u00a0$-gdt<\/p>\n<p>dd\u00a0\u00a00x0000ffff,0x00cf920a<\/p>\n<p>gdt_addr:<\/p>\n<p>dw\u00a0\u00a0gdt_addr-gdt-1<\/p>\n<p>dd\u00a0\u00a0gdt\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: green;\">;\u00a0;GDT\u8868\u7684\u4f4d\u7f6e<\/span><\/p>\n<p>\u5f53\u7136,\u7531\u4e8eXuOS\u76ee\u524d\u8fd8\u6bd4\u8f83\u7b80\u5355,\u8fd8\u6ca1\u6709\u8bbe\u7f6eIDT,GDT\u4e2d\u6bb5\u4e5f\u6bd4\u8f83\u5c11,\u51b5\u4e14\u6211\u7684\u7406\u89e3\u4e5f\u6709\u53ef\u80fd\u6709\u4e9b\u504f\u5dee\u6216\u8005\u8868\u8ff0<\/p>\n<p>\u6709\u4e9b\u4e0d\u6e05\u695a,\u8fd9\u91cc\u53ea\u63d0\u4f9b\u4e00\u4e2a\u601d\u8def,\u66f4\u591a\u66f4\u5f3a\u7684\u529f\u80fd\u8fd8\u662f\u8981\u9760\u81ea\u5df1\u624d\u884c.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5728\u5199\u81ea\u5df1\u7684\u64cd\u4f5c\u7cfb\u7edf\u65f6,\u4e0d\u80fd\u603b\u5728\u5b9e\u6a21\u5f0f\u4e0b,\u8fdb\u5165\u4fdd\u62a4\u6a21\u5f0f\u624d\u662f&#8221;\u6b63\u9053&#8221;,\u4e0d\u8fc7\u600e\u4e48\u8fdb\u5165\u4fdd &hellip;<\/p>\n<p class=\"read-more\"><a href=\"https:\/\/xujiwei.com\/blog\/2004\/10\/enter-protect-mode-from-realmode\/\">\u7ee7\u7eed\u9605\u8bfb &raquo;<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[80,120],"_links":{"self":[{"href":"https:\/\/xujiwei.com\/blog\/wp-json\/wp\/v2\/posts\/219"}],"collection":[{"href":"https:\/\/xujiwei.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/xujiwei.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/xujiwei.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/xujiwei.com\/blog\/wp-json\/wp\/v2\/comments?post=219"}],"version-history":[{"count":0,"href":"https:\/\/xujiwei.com\/blog\/wp-json\/wp\/v2\/posts\/219\/revisions"}],"wp:attachment":[{"href":"https:\/\/xujiwei.com\/blog\/wp-json\/wp\/v2\/media?parent=219"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/xujiwei.com\/blog\/wp-json\/wp\/v2\/categories?post=219"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/xujiwei.com\/blog\/wp-json\/wp\/v2\/tags?post=219"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}