{"id":3260,"date":"2012-04-05T02:07:15","date_gmt":"2012-04-04T08:07:15","guid":{"rendered":"http:\/\/qos.mine.nu\/wordpress\/?p=3260"},"modified":"2012-04-08T13:08:08","modified_gmt":"2012-04-08T04:08:08","slug":"30%e6%97%a5%e3%81%a7%e3%81%a7%e3%81%8d%e3%82%8b-os%e8%87%aa%e4%bd%9c%e5%85%a5%e9%96%80-%ef%bc%92%e6%97%a5%e7%9b%ae","status":"publish","type":"post","link":"https:\/\/qos.dev7.net\/wordpress\/2012\/04\/30%e6%97%a5%e3%81%a7%e3%81%a7%e3%81%8d%e3%82%8b-os%e8%87%aa%e4%bd%9c%e5%85%a5%e9%96%80-%ef%bc%92%e6%97%a5%e7%9b%ae.html","title":{"rendered":"30\u65e5\u3067\u3067\u304d\u308b! OS\u81ea\u4f5c\u5165\u9580 \uff12\u65e5\u76ee"},"content":{"rendered":"<div id=\"wppda_alert\">\u3053\u306e\u8a18\u4e8b\u306f\uff12\u5e74\u4ee5\u4e0a\u524d\u306b\u66f8\u3044\u305f\u3082\u306e\u3067\u3059\u3002<br\/>\r\n\u305d\u306e\u305f\u3081\u60c5\u5831\u304c\u53e4\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u3054\u4e86\u627f\u304f\u3060\u3055\u3044\u3002m(_ _)m<\/div><p><strong>\u4e8c\u65e5\u76ee<\/strong><\/p>\n<p>\u30a2\u30bb\u30f3\u30d6\u30e9\u306e\u52c9\u5f37\u3068\u3001\u30ec\u30b8\u30b9\u30bf\u306e\u8aac\u660e\u3001BIOS\u306e\u8aac\u660e\u3001Makefile\u306e\u4f5c\u6210\u3002<\/p>\n<p>nask\u306e\u30de\u30cb\u30e5\u30a2\u30eb\u304c\u898b\u3064\u304b\u3089\u306a\u304b\u3063\u305f\u3002<a href=\"http:\/\/hrb.osask.jp\/wiki\/?tools\/nask\">tools\/nask &#8211; hrb-wiki<\/a>\u306b\u3088\u308b\u3068\uff0cnask\u3068NASM\u306b\u307b\u3068\u3093\u3069\u5dee\u306f\u7121\u3044\u3089\u3057\u3044\u3002<br \/>NASM\u306e\u30de\u30cb\u30e5\u30a2\u30eb(\u4e00\u90e8\u65e5\u672c\u8a9e\u5316)\u306f\u3001<a href=\"http:\/\/www7a.biglobe.ne.jp\/~iell\/nasm\/nasmdoc_2.03j\/nasmdoc0.html\">NASM Manual<\/a>\u306b\u3002(ver2.03)<\/p>\n<p>\u30a2\u30bb\u30f3\u30d6\u30e9(NASM)\u306e\u52c9\u5f37\u3068\u3057\u3066\u306f\u3001<a href=\"http:\/\/www.mztn.org\/lxasm\/asm00.html\">Assembly Programming Linux<\/a>\u304c\u5206\u304b\u308a\u3084\u3059\u305d\u3046\u3002\u6a19\u6e96\u5165\u51fa\u529b\u3084\u3001\u30a2\u30bb\u30f3\u30d6\u30e9\u304b\u3089\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u5f15\u6570\u3068\u304b\u74b0\u5883\u5909\u6570\u306e\u6271\u3044\u65b9\u3068\u304b\u3082\u66f8\u304b\u308c\u3066\u3044\u308b\u3002<a href=\"http:\/\/www.mztn.org\/lxasm64\/amd00.html\">Assembly Programming on x86-64 Linux<\/a>\u306b\u300164bit\u306b\u3064\u3044\u3066\u3082\u3002<br \/>OS\u81ea\u4f5c\u5165\u9580\u3067\u306f\u77e5\u3089\u306a\u304f\u3066\u826f\u3044\u60c5\u5831\u304b\u3082\u3057\u308c\u306a\u3044\u3051\u3069\u3002<\/p>\n<p>\u30ec\u30b8\u30b9\u30bf\u306f\u3001<a href=\"http:\/\/www.wiki.os-project.jp\/?Top\">OS Project Wiki<\/a> \u306e <a href=\"http:\/\/www.wiki.os-project.jp\/?x86%2FRegister\">\u30ec\u30b8\u30b9\u30bf<\/a>\u3089\u3078\u3093\u306b\u8a73\u3057\u304f\u66f8\u3044\u3066\u3042\u308b\u3002<\/p>\n<p>BIOS\u306e\u5272\u308a\u8fbc\u307f\u6a5f\u80fd(INTerrupt)\u306e\u8aac\u660e\u3002<a href=\"http:\/\/community.osdev.info\/?(AT)BIOS\">(AT)BIOS &#8211; OS-Wiki<\/a> \u306b\u8a73\u3057\u304f\u66f8\u3044\u3066\u3044\u308b\u3068\u3002<br \/><a href=\"http:\/\/ja.wikipedia.org\/wiki\/BIOS%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E3%83%AB%E3%83%BC%E3%83%81%E3%83%B3\">BIOS\u5272\u308a\u8fbc\u307f\u30eb\u30fc\u30c1\u30f3 &#8211; Wikipedia<\/a>\u306b\u3082\u3002<\/p>\n<p>\u30e1\u30e2\u30ea\u30de\u30c3\u30d7\u306b\u6ce8\u610f\u3057\u3066\u306d\u3068\u3082\u66f8\u3044\u3066\u3042\u3063\u305f\u3002\u6c7a\u307e\u3063\u305f\u90e8\u5206\u306b\u66f8\u304b\u306a\u3044\u3068\u52d5\u304b\u306a\u3044\u3088\u3068\u3002<br \/><a href=\"http:\/\/community.osdev.info\/?(AT)memorymap\">(AT)memorymap &#8211; OS-Wiki<\/a><\/p>\n<p>\u4e8c\u65e5\u76ee\u306f\u3001CD-ROM\u5185\u306e\u30d5\u30a1\u30a4\u30eb\u306e\u89e3\u8aac\u3067\u7d42\u4e86\u3002<\/p>\n<p>ipl.nas<\/p>\n<pre><code class=\"language-asm\">\n; hello-os\n; TAB=4\n\n\t\tORG\t\t0x7c00\t\t\t; \u3053\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u304c\u3069\u3053\u306b\u8aad\u307f\u8fbc\u307e\u308c\u308b\u306e\u304b\n\n; \u4ee5\u4e0b\u306f\u6a19\u6e96\u7684\u306aFAT12\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u30d5\u30ed\u30c3\u30d4\u30fc\u30c7\u30a3\u30b9\u30af\u306e\u305f\u3081\u306e\u8a18\u8ff0\n\n\t\tJMP\t\tentry\n\t\tDB\t\t0x90\n\t\tDB\t\t&quot;HELLOIPL&quot;\t\t; \u30d6\u30fc\u30c8\u30bb\u30af\u30bf\u306e\u540d\u524d\u3092\u81ea\u7531\u306b\u66f8\u3044\u3066\u3088\u3044\uff088\u30d0\u30a4\u30c8\uff09\n\t\tDW\t\t512\t\t\t\t; 1\u30bb\u30af\u30bf\u306e\u5927\u304d\u3055\uff08512\u306b\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u306a\u3044\uff09\n\t\tDB\t\t1\t\t\t\t; \u30af\u30e9\u30b9\u30bf\u306e\u5927\u304d\u3055\uff081\u30bb\u30af\u30bf\u306b\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u306a\u3044\uff09\n\t\tDW\t\t1\t\t\t\t; FAT\u304c\u3069\u3053\u304b\u3089\u59cb\u307e\u308b\u304b\uff08\u666e\u901a\u306f1\u30bb\u30af\u30bf\u76ee\u304b\u3089\u306b\u3059\u308b\uff09\n\t\tDB\t\t2\t\t\t\t; FAT\u306e\u500b\u6570\uff082\u306b\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u306a\u3044\uff09\n\t\tDW\t\t224\t\t\t\t; \u30eb\u30fc\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u9818\u57df\u306e\u5927\u304d\u3055\uff08\u666e\u901a\u306f224\u30a8\u30f3\u30c8\u30ea\u306b\u3059\u308b\uff09\n\t\tDW\t\t2880\t\t\t; \u3053\u306e\u30c9\u30e9\u30a4\u30d6\u306e\u5927\u304d\u3055\uff082880\u30bb\u30af\u30bf\u306b\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u306a\u3044\uff09\n\t\tDB\t\t0xf0\t\t\t; \u30e1\u30c7\u30a3\u30a2\u306e\u30bf\u30a4\u30d7\uff080xf0\u306b\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u306a\u3044\uff09\n\t\tDW\t\t9\t\t\t\t; FAT\u9818\u57df\u306e\u9577\u3055\uff089\u30bb\u30af\u30bf\u306b\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u306a\u3044\uff09\n\t\tDW\t\t18\t\t\t\t; 1\u30c8\u30e9\u30c3\u30af\u306b\u3044\u304f\u3064\u306e\u30bb\u30af\u30bf\u304c\u3042\u308b\u304b\uff0818\u306b\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u306a\u3044\uff09\n\t\tDW\t\t2\t\t\t\t; \u30d8\u30c3\u30c9\u306e\u6570\uff082\u306b\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u306a\u3044\uff09\n\t\tDD\t\t0\t\t\t\t; \u30d1\u30fc\u30c6\u30a3\u30b7\u30e7\u30f3\u3092\u4f7f\u3063\u3066\u306a\u3044\u306e\u3067\u3053\u3053\u306f\u5fc5\u305a0\n\t\tDD\t\t2880\t\t\t; \u3053\u306e\u30c9\u30e9\u30a4\u30d6\u5927\u304d\u3055\u3092\u3082\u3046\u4e00\u5ea6\u66f8\u304f\n\t\tDB\t\t0,0,0x29\t\t; \u3088\u304f\u308f\u304b\u3089\u306a\u3044\u3051\u3069\u3053\u306e\u5024\u306b\u3057\u3066\u304a\u304f\u3068\u3044\u3044\u3089\u3057\u3044\n\t\tDD\t\t0xffffffff\t\t; \u305f\u3076\u3093\u30dc\u30ea\u30e5\u30fc\u30e0\u30b7\u30ea\u30a2\u30eb\u756a\u53f7\n\t\tDB\t\t&quot;HELLO-OS   &quot;\t; \u30c7\u30a3\u30b9\u30af\u306e\u540d\u524d\uff0811\u30d0\u30a4\u30c8\uff09\n\t\tDB\t\t&quot;FAT12   &quot;\t\t; \u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u306e\u540d\u524d\uff088\u30d0\u30a4\u30c8\uff09\n\t\tRESB\t18\t\t\t\t; \u3068\u308a\u3042\u3048\u305a18\u30d0\u30a4\u30c8\u3042\u3051\u3066\u304a\u304f\n\n; \u30d7\u30ed\u30b0\u30e9\u30e0\u672c\u4f53\n\nentry:\n\t\tMOV\t\tAX,0\t\t\t; \u30ec\u30b8\u30b9\u30bf\u521d\u671f\u5316\n\t\tMOV\t\tSS,AX\n\t\tMOV\t\tSP,0x7c00\n\t\tMOV\t\tDS,AX\n\t\tMOV\t\tES,AX\n\n\t\tMOV\t\tSI,msg\nputloop:\n\t\tMOV\t\tAL,[SI]\n\t\tADD\t\tSI,1\t\t\t; SI\u306b1\u3092\u8db3\u3059\n\t\tCMP\t\tAL,0\n\t\tJE\t\tfin\n\t\tMOV\t\tAH,0x0e\t\t\t; \u4e00\u6587\u5b57\u8868\u793a\u30d5\u30a1\u30f3\u30af\u30b7\u30e7\u30f3\n\t\tMOV\t\tBX,15\t\t\t; \u30ab\u30e9\u30fc\u30b3\u30fc\u30c9\n\t\tINT\t\t0x10\t\t\t; \u30d3\u30c7\u30aaBIOS\u547c\u3073\u51fa\u3057\n\t\tJMP\t\tputloop\nfin:\n\t\tHLT\t\t\t\t\t\t; \u4f55\u304b\u3042\u308b\u307e\u3067CPU\u3092\u505c\u6b62\u3055\u305b\u308b\n\t\tJMP\t\tfin\t\t\t\t; \u7121\u9650\u30eb\u30fc\u30d7\n\nmsg:\n\t\tDB\t\t0x0a, 0x0a\t\t; \u6539\u884c\u30922\u3064\n\t\tDB\t\t&quot;hello, world&quot;\n\t\tDB\t\t0x0a\t\t\t; \u6539\u884c\n\t\tDB\t\t0\n\n\t\tRESB\t0x7dfe-$\t\t; 0x7dfe\u307e\u3067\u30920x00\u3067\u57cb\u3081\u308b\u547d\u4ee4\n\n\t\tDB\t\t0x55, 0xaa\n<\/code><\/pre>\n<p>\u300cORG\t\t0x7c00\u300d\u306f\u3001\u30e1\u30e2\u30ea\u306e\u3069\u3053\u306b\u8aad\u307f\u8fbc\u307e\u308c\u308b\u304b\u3092nask\u306b\u6559\u3048\u308b\u547d\u4ee4\u3060\u3068\u304b\u3002AT\u4e92\u63db\u6a5f\u3060\u3068(?)\u30d6\u30fc\u30c8\u30bb\u30af\u30bf\u306f\u30010x00007c00\uff5e0x00007dff\u306b\u8aad\u307f\u8fbc\u307e\u308c\u308b\u3089\u3057\u3044\u306e\u3067\u3001ORG\u30670x7c00\u3092\u6307\u5b9a\u3059\u308b\u30fb\u30fb\u30fb\u3068\u3002<br \/>\n\u00d7 0x7c00\u306b\u3001\u8aad\u307f\u8fbc\u3093\u3067\u304f\u308c<br \/>\n\u25cb 0x7c00\u306b\u3001\u8aad\u307f\u8fbc\u307e\u308c\u307e\u3059<br \/>\n\u3063\u3066\u611f\u3058\u304b\u306a\u3002<\/p>\n<p>\u4ed6\u306b\u4f7f\u308f\u308c\u3066\u3044\u308b\u547d\u4ee4\u306e\u30e1\u30e2\u3002<br \/>\nJMP: JuMP\u3002\u6307\u5b9a\u3057\u305f\u30e9\u30d9\u30eb\u3068\u304b\u30a2\u30c9\u30ec\u30b9\u306b\u98db\u3076<br \/>\nMOV: MOVe\u3002\u4ee3\u5165\u3002<br \/>\nADD: ADD\u3002\u8db3\u3057\u7b97<br \/>\nCMP: CoMPare\u3002\u6bd4\u8f03<br \/>\nJE : Jump Equal\u3002\u7b49\u3057\u3051\u308c\u3070JUMP<br \/>\nINT: INTerrupt\u3002BIOS\u306e\u5272\u308a\u8fbc\u307f\u6a5f\u80fd\u547c\u3073\u51fa\u3057<br \/>\nHLT: HaLT\u3002\u505c\u6b62<\/p>\n<p>\u2191\u306e\u30bd\u30fc\u30b9\u3092\u30a2\u30bb\u30f3\u30d6\u30eb\u3057\u305f\u7d50\u679c\u3092\u8996\u899a\u7684\u306b\u8868\u3057\u305f\u3082\u306e(?)\u304c\u3001\u2193\u3002<\/p>\n<p>ipl.lst<\/p>\n<pre><code class=\"language-asm\">\n     1 00000000                                 ; hello-os\n     2 00000000                                 ; TAB=4\n     3 00000000                                 \n     4                                          \t\tORG\t\t0x7c00\t\t\t; \u3053\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u304c\u3069\u3053\u306b\u8aad\u307f\u8fbc\u307e\u308c\u308b\u306e\u304b\n     5 00007C00                                 \n     6 00007C00                                 ; \u4ee5\u4e0b\u306f\u6a19\u6e96\u7684\u306aFAT12\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u30d5\u30ed\u30c3\u30d4\u30fc\u30c7\u30a3\u30b9\u30af\u306e\u305f\u3081\u306e\u8a18\u8ff0\n     7 00007C00                                 \n     8 00007C00 EB 4E                           \t\tJMP\t\tentry\n     9 00007C02 90                              \t\tDB\t\t0x90\n    10 00007C03 48 45 4C 4C 4F 49 50 4C         \t\tDB\t\t&quot;HELLOIPL&quot;\t\t; \u30d6\u30fc\u30c8\u30bb\u30af\u30bf\u306e\u540d\u524d\u3092\u81ea\u7531\u306b\u66f8\u3044\u3066\u3088\u3044\uff088\u30d0\u30a4\u30c8\uff09\n    11 00007C0B 0200                            \t\tDW\t\t512\t\t\t\t; 1\u30bb\u30af\u30bf\u306e\u5927\u304d\u3055\uff08512\u306b\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u306a\u3044\uff09\n    12 00007C0D 01                              \t\tDB\t\t1\t\t\t\t; \u30af\u30e9\u30b9\u30bf\u306e\u5927\u304d\u3055\uff081\u30bb\u30af\u30bf\u306b\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u306a\u3044\uff09\n    13 00007C0E 0001                            \t\tDW\t\t1\t\t\t\t; FAT\u304c\u3069\u3053\u304b\u3089\u59cb\u307e\u308b\u304b\uff08\u666e\u901a\u306f1\u30bb\u30af\u30bf\u76ee\u304b\u3089\u306b\u3059\u308b\uff09\n    14 00007C10 02                              \t\tDB\t\t2\t\t\t\t; FAT\u306e\u500b\u6570\uff082\u306b\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u306a\u3044\uff09\n    15 00007C11 00E0                            \t\tDW\t\t224\t\t\t\t; \u30eb\u30fc\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u9818\u57df\u306e\u5927\u304d\u3055\uff08\u666e\u901a\u306f224\u30a8\u30f3\u30c8\u30ea\u306b\u3059\u308b\uff09\n    16 00007C13 0B40                            \t\tDW\t\t2880\t\t\t; \u3053\u306e\u30c9\u30e9\u30a4\u30d6\u306e\u5927\u304d\u3055\uff082880\u30bb\u30af\u30bf\u306b\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u306a\u3044\uff09\n    17 00007C15 F0                              \t\tDB\t\t0xf0\t\t\t; \u30e1\u30c7\u30a3\u30a2\u306e\u30bf\u30a4\u30d7\uff080xf0\u306b\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u306a\u3044\uff09\n    18 00007C16 0009                            \t\tDW\t\t9\t\t\t\t; FAT\u9818\u57df\u306e\u9577\u3055\uff089\u30bb\u30af\u30bf\u306b\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u306a\u3044\uff09\n    19 00007C18 0012                            \t\tDW\t\t18\t\t\t\t; 1\u30c8\u30e9\u30c3\u30af\u306b\u3044\u304f\u3064\u306e\u30bb\u30af\u30bf\u304c\u3042\u308b\u304b\uff0818\u306b\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u306a\u3044\uff09\n    20 00007C1A 0002                            \t\tDW\t\t2\t\t\t\t; \u30d8\u30c3\u30c9\u306e\u6570\uff082\u306b\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u306a\u3044\uff09\n    21 00007C1C 00000000                        \t\tDD\t\t0\t\t\t\t; \u30d1\u30fc\u30c6\u30a3\u30b7\u30e7\u30f3\u3092\u4f7f\u3063\u3066\u306a\u3044\u306e\u3067\u3053\u3053\u306f\u5fc5\u305a0\n    22 00007C20 00000B40                        \t\tDD\t\t2880\t\t\t; \u3053\u306e\u30c9\u30e9\u30a4\u30d6\u5927\u304d\u3055\u3092\u3082\u3046\u4e00\u5ea6\u66f8\u304f\n    23 00007C24 00 00 29                        \t\tDB\t\t0,0,0x29\t\t; \u3088\u304f\u308f\u304b\u3089\u306a\u3044\u3051\u3069\u3053\u306e\u5024\u306b\u3057\u3066\u304a\u304f\u3068\u3044\u3044\u3089\u3057\u3044\n    24 00007C27 FFFFFFFF                        \t\tDD\t\t0xffffffff\t\t; \u305f\u3076\u3093\u30dc\u30ea\u30e5\u30fc\u30e0\u30b7\u30ea\u30a2\u30eb\u756a\u53f7\n    25 00007C2B 48 45 4C 4C 4F 2D 4F 53 20 20   \t\tDB\t\t&quot;HELLO-OS   &quot;\t; \u30c7\u30a3\u30b9\u30af\u306e\u540d\u524d\uff0811\u30d0\u30a4\u30c8\uff09\n       00007C35 20 \n    26 00007C36 46 41 54 31 32 20 20 20         \t\tDB\t\t&quot;FAT12   &quot;\t\t; \u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u306e\u540d\u524d\uff088\u30d0\u30a4\u30c8\uff09\n    27 00007C3E 00 00 00 00 00 00 00 00 00 00   \t\tRESB\t18\t\t\t\t; \u3068\u308a\u3042\u3048\u305a18\u30d0\u30a4\u30c8\u3042\u3051\u3066\u304a\u304f\n       00007C48 00 00 00 00 00 00 00 00 \n    28 00007C50                                 \n    29 00007C50                                 ; \u30d7\u30ed\u30b0\u30e9\u30e0\u672c\u4f53\n    30 00007C50                                 \n    31 00007C50                                 entry:\n    32 00007C50 B8 0000                         \t\tMOV\t\tAX,0\t\t\t; \u30ec\u30b8\u30b9\u30bf\u521d\u671f\u5316\n    33 00007C53 8E D0                           \t\tMOV\t\tSS,AX\n    34 00007C55 BC 7C00                         \t\tMOV\t\tSP,0x7c00\n    35 00007C58 8E D8                           \t\tMOV\t\tDS,AX\n    36 00007C5A 8E C0                           \t\tMOV\t\tES,AX\n    37 00007C5C                                 \n    38 00007C5C BE 7C74                         \t\tMOV\t\tSI,msg\n    39 00007C5F                                 putloop:\n    40 00007C5F 8A 04                           \t\tMOV\t\tAL,[SI]\n    41 00007C61 83 C6 01                        \t\tADD\t\tSI,1\t\t\t; SI\u306b1\u3092\u8db3\u3059\n    42 00007C64 3C 00                           \t\tCMP\t\tAL,0\n    43 00007C66 74 09                           \t\tJE\t\tfin\n    44 00007C68 B4 0E                           \t\tMOV\t\tAH,0x0e\t\t\t; \u4e00\u6587\u5b57\u8868\u793a\u30d5\u30a1\u30f3\u30af\u30b7\u30e7\u30f3\n    45 00007C6A BB 000F                         \t\tMOV\t\tBX,15\t\t\t; \u30ab\u30e9\u30fc\u30b3\u30fc\u30c9\n    46 00007C6D CD 10                           \t\tINT\t\t0x10\t\t\t; \u30d3\u30c7\u30aaBIOS\u547c\u3073\u51fa\u3057\n    47 00007C6F EB EE                           \t\tJMP\t\tputloop\n    48 00007C71                                 fin:\n    49 00007C71 F4                              \t\tHLT\t\t\t\t\t\t; \u4f55\u304b\u3042\u308b\u307e\u3067CPU\u3092\u505c\u6b62\u3055\u305b\u308b\n    50 00007C72 EB FD                           \t\tJMP\t\tfin\t\t\t\t; \u7121\u9650\u30eb\u30fc\u30d7\n    51 00007C74                                 \n    52 00007C74                                 msg:\n    53 00007C74 0A 0A                           \t\tDB\t\t0x0a, 0x0a\t\t; \u6539\u884c\u30922\u3064\n    54 00007C76 68 65 6C 6C 6F 2C 20 77 6F 72   \t\tDB\t\t&quot;hello, world&quot;\n       00007C80 6C 64 \n    55 00007C82 0A                              \t\tDB\t\t0x0a\t\t\t; \u6539\u884c\n    56 00007C83 00                              \t\tDB\t\t0\n    57 00007C84                                 \n    58 00007C84 00 00 00 00 00 00 00 00 00 00   \t\tRESB\t0x7dfe-$\t\t; 0x7dfe\u307e\u3067\u30920x00\u3067\u57cb\u3081\u308b\u547d\u4ee4\n       00007C8E 00 00 00 00 00 00 00 00 00 00 \n       00007C98 00 00 00 00 00 00 00 00 00 00 \n       00007CA2 00 00 00 00 00 00 00 00 00 00 \n       00007CAC 00 00 00 00 00 00 00 00 00 00 \n       00007CB6 00 00 00 00 00 00 00 00 00 00 \n       00007CC0 00 00 00 00 00 00 00 00 00 00 \n       00007CCA 00 00 00 00 00 00 00 00 00 00 \n       00007CD4 00 00 00 00 00 00 00 00 00 00 \n       00007CDE 00 00 00 00 00 00 00 00 00 00 \n       00007CE8 00 00 00 00 00 00 00 00 00 00 \n       00007CF2 00 00 00 00 00 00 00 00 00 00 \n       00007CFC 00 00 00 00 00 00 00 00 00 00 \n       00007D06 00 00 00 00 00 00 00 00 00 00 \n       00007D10 00 00 00 00 00 00 00 00 00 00 \n       00007D1A 00 00 00 00 00 00 00 00 00 00 \n       00007D24 00 00 00 00 00 00 00 00 00 00 \n       00007D2E 00 00 00 00 00 00 00 00 00 00 \n       00007D38 00 00 00 00 00 00 00 00 00 00 \n       00007D42 00 00 00 00 00 00 00 00 00 00 \n       00007D4C 00 00 00 00 00 00 00 00 00 00 \n       00007D56 00 00 00 00 00 00 00 00 00 00 \n       00007D60 00 00 00 00 00 00 00 00 00 00 \n       00007D6A 00 00 00 00 00 00 00 00 00 00 \n       00007D74 00 00 00 00 00 00 00 00 00 00 \n       00007D7E 00 00 00 00 00 00 00 00 00 00 \n       00007D88 00 00 00 00 00 00 00 00 00 00 \n       00007D92 00 00 00 00 00 00 00 00 00 00 \n       00007D9C 00 00 00 00 00 00 00 00 00 00 \n       00007DA6 00 00 00 00 00 00 00 00 00 00 \n       00007DB0 00 00 00 00 00 00 00 00 00 00 \n       00007DBA 00 00 00 00 00 00 00 00 00 00 \n       00007DC4 00 00 00 00 00 00 00 00 00 00 \n       00007DCE 00 00 00 00 00 00 00 00 00 00 \n       00007DD8 00 00 00 00 00 00 00 00 00 00 \n       00007DE2 00 00 00 00 00 00 00 00 00 00 \n       00007DEC 00 00 00 00 00 00 00 00 00 00 \n       00007DF6 00 00 00 00 00 00 00 00 \n    59 00007DFE                                 \n    60 00007DFE 55 AA                           \t\tDB\t\t0x55, 0xaa\n<\/code><\/pre>\n<p>\u4eca\u307e\u3067\u66f8\u3044\u3066\u3044\u305f\u3001\u2193\u306e\u90e8\u5206\u306f\u3001<\/p>\n<pre><code class=\"language-asm\">\n; \u4ee5\u4e0b\u306f\u30d6\u30fc\u30c8\u30bb\u30af\u30bf\u4ee5\u5916\u306e\u90e8\u5206\u306e\u8a18\u8ff0\n\n\t\tDB\t\t0xf0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00\n\t\tRESB\t4600\n\t\tDB\t\t0xf0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00\n\t\tRESB\t1469432\n\n<\/code><\/pre>\n<p>\u2193\u306e\u30b3\u30de\u30f3\u30c9\u3067\u4f5c\u308b\u6a21\u69d8\u3002<br \/>\n<code><br \/>\n..\\z_tools\\edimg.exe   imgin:..\/z_tools\/fdimg0at.tek   wbinimg src:ipl.bin len:512 from:0 to:0   imgout:helloos.img<br \/>\n<\/code><\/p>\n<p>edimg.exe\u306e\u89e3\u8aac\u306f\u3001<a href=\"http:\/\/hrb.osask.jp\/wiki\/?tools\/edimg\">tools\/edimg &#8211; hrb-wiki<\/a>\u306b\u3042\u308b\u3051\u3069\u3001<br \/>\nfdimg0at.tek\u306e\u5185\u5bb9\u306b\u3064\u3044\u3066\u306f\u66f8\u304b\u308c\u3066\u3044\u306a\u3044\u3002(\u7a7a\u3063\u307d\u306e\u5185\u5bb9\u306e\u30c7\u30a3\u30b9\u30af\u30a4\u30e1\u30fc\u30b8\u3089\u3057\u3044\u3051\u3069)<\/p>\n<p><a href=\"http:\/\/community.osdev.info\/index.php?tek\">tek &#8211; OS-Wiki<\/a>\u3092\u898b\u308b\u3068\u5727\u7e2e\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u306e\u6a21\u69d8\u3002<br \/>\n\u5c55\u958b\u3059\u308b\u3068\u7a7a\u306e1.44MB\u76f8\u5f53\u306e\u30c7\u30fc\u30bf\u306b\u306a\u308b\u3093\u3060\u308d\u3046\u304b\u3002<\/p>\n<p>\u7d50\u5c40\u306f\u3001ipl.nas\u3092\u30a2\u30bb\u30f3\u30d6\u30eb\u3057\u3066\u3001ipl.bin\u3092\u4f5c\u308a\u3001<br \/>\nedimg.exe \u3067\u3001fdimg0at.tek \u3068 ipl.bin \u3092\u5408\u4f53\u3055\u305b\u3066\u3001helloos.img \u3092\u4f5c\u308b\u3002<br \/>\n\u3063\u3066\u3053\u3068\u304b\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u3053\u306e\u8a18\u4e8b\u306f\uff12\u5e74\u4ee5\u4e0a\u524d\u306b\u66f8\u3044\u305f\u3082\u306e\u3067\u3059\u3002 \u305d\u306e\u305f\u3081\u60c5\u5831\u304c\u53e4\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u3054\u4e86\u627f\u304f\u3060\u3055\u3044\u3002m(_ _)m\u4e8c\u65e5\u76ee \u30a2\u30bb\u30f3\u30d6\u30e9\u306e\u52c9\u5f37\u3068\u3001\u30ec\u30b8\u30b9\u30bf\u306e\u8aac\u660e\u3001BIOS\u306e\u8aac\u660e\u3001Makefile\u306e\u4f5c\u6210\u3002 nask\u306e\u30de\u30cb\u30e5\u30a2\u30eb\u304c\u898b\u3064\u304b &hellip; <a href=\"https:\/\/qos.dev7.net\/wordpress\/2012\/04\/30%e6%97%a5%e3%81%a7%e3%81%a7%e3%81%8d%e3%82%8b-os%e8%87%aa%e4%bd%9c%e5%85%a5%e9%96%80-%ef%bc%92%e6%97%a5%e7%9b%ae.html\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[23,140,234,233,92,153],"class_list":["post-3260","post","type-post","status-publish","format-standard","hentry","category-5","tag-linux","tag-nas","tag-nask","tag-os","tag-ram","tag-153"],"_links":{"self":[{"href":"https:\/\/qos.dev7.net\/wordpress\/wp-json\/wp\/v2\/posts\/3260","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/qos.dev7.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/qos.dev7.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/qos.dev7.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/qos.dev7.net\/wordpress\/wp-json\/wp\/v2\/comments?post=3260"}],"version-history":[{"count":9,"href":"https:\/\/qos.dev7.net\/wordpress\/wp-json\/wp\/v2\/posts\/3260\/revisions"}],"predecessor-version":[{"id":3306,"href":"https:\/\/qos.dev7.net\/wordpress\/wp-json\/wp\/v2\/posts\/3260\/revisions\/3306"}],"wp:attachment":[{"href":"https:\/\/qos.dev7.net\/wordpress\/wp-json\/wp\/v2\/media?parent=3260"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/qos.dev7.net\/wordpress\/wp-json\/wp\/v2\/categories?post=3260"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/qos.dev7.net\/wordpress\/wp-json\/wp\/v2\/tags?post=3260"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}