<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/leo61/">
    <title>leo61 @ wiki</title>
    <link>http://w.atwiki.jp/leo61/</link>
    <atom:link href="https://w.atwiki.jp/leo61/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>leo61 @ wiki</description>

    <dc:language>ja</dc:language>
    <dc:date>2013-02-07T10:43:13+09:00</dc:date>
    <utime>1360201393</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/leo61/pages/2.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/leo61/pages/7.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/leo61/pages/1.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/leo61/pages/6.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/leo61/pages/5.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/leo61/pages/3.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/leo61/pages/2.html">
    <title>メニュー</title>
    <link>https://w.atwiki.jp/leo61/pages/2.html</link>
    <description>
      
&lt;h3 id=&quot;id_b7a6c500&quot;&gt;Menu&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;a title=&quot;top (22d)&quot; href=&quot;http://www49.atwiki.jp/leo61/pages/1.html&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;font color=&quot;#5F441A&quot;&gt;TOP&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=&quot;menu (202d)&quot; href=&quot;http://www49.atwiki.jp/leo61/pages/2.html&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;font color=&quot;#5F441A&quot;&gt;Menu&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=&quot;Chapter0,1 (202d)&quot; href=&quot;http://www49.atwiki.jp/leo61/pages/5.html&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;font color=&quot;#5F441A&quot;&gt;Chapter 0, 1&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=&quot;Chapter2 (202d)&quot; href=&quot;http://www49.atwiki.jp/leo61/pages/6.html&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;font color=&quot;#5F441A&quot;&gt;Chapter 2&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www49.atwiki.jp/leo61/pages/7.html&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;Chapter 3&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;Chapter 4&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;Chapter 5&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;Chapter 6&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;Chapter 7&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h3&gt;Link&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;
&lt;div&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://atwiki.jp/&quot;&gt;&lt;font color=&quot;#5F441A&quot;&gt;@wiki&lt;/font&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://atwiki.jp/guide/&quot;&gt;&lt;font color=&quot;#5F441A&quot;&gt;@wikiご利用ガイド&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www1.atwiki.jp/wpmode_guide&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;Wikiの編集方法についてはこちら&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;
&lt;div&gt;&lt;a href=&quot;http://www49.atwiki.jp/leo61/editx/2.html&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;font color=&quot;#5F441A&quot;&gt;ここを編集&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li style=&quot;list-style-type:none;&quot;&gt;
&lt;h3&gt; &lt;/h3&gt;
&lt;/li&gt;
&lt;/ul&gt;    </description>
    <dc:date>2013-02-07T10:43:13+09:00</dc:date>
    <utime>1360201393</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/leo61/pages/7.html">
    <title>Chapter 3</title>
    <link>https://w.atwiki.jp/leo61/pages/7.html</link>
    <description>
      
&lt;h2&gt;Chapter 3&lt;/h2&gt;
&lt;h2&gt;■メモ&lt;/h2&gt;
&lt;h3&gt; さあ本当のIPLを作ろう&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;
&lt;div&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;IPL(初期プログラムローダ)&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;JC (jump if carry)
→　キャリーフラグが1だったらジャンプしなさい &lt;/span&gt;  &lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt; &lt;img alt=&quot;&quot; src=&quot;http://www49.atwiki.jp/leo61?cmd=upload&amp;amp;act=open&amp;amp;pageid=7&amp;amp;file=iplnas_1.PNG&quot; /&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;
&lt;div&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;ディスクからの読み込み、ディスクへの書き込み、セクタのベリファイ、およびシーク&lt;/span&gt;&lt;/div&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;AH = 0x02; (読み込み時)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;font size=&quot;2&quot;&gt;AH = 0x03;
(書き込み時)&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;font size=&quot;2&quot;&gt;AH = 0x04;
(ベリファイ時)&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;font size=&quot;2&quot;&gt;AH = 0x0c; (シーク時)&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;font size=&quot;2&quot;&gt;AL = 処理するセクタ数;
(連続したセクタを処理できる)&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;font size=&quot;2&quot;&gt;CH = シリンダ番号 &amp;amp;
0xff;&lt;/font&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;CL = セクタ番号(bit0-5) | (シリンダ番号 &amp;amp; 0x300)
&amp;gt;&amp;gt; 2;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;DH = ヘッド番号;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;DL = ドライブ番号;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;ES:BX = バッファアドレス;
(ベリファイ時、シーク時にはこれは参照しない)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;戻り値 :&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;FLAGS.CF == 0 : エラーなし、　AH == 0&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;FLAGS.CF == 1 :
エラーあり、　AHにエラーコード(リセットファンクションと同じ)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;FLAGC.CF　→　キャリーフラグのこと。1ビットしか解釈できないレジスタで、CPUには穂kあにもいくつかこのような1ビットしか記憶できないレジスタを持っている。こういうレジスタのことを「フラグ」という。&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;h3&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;C言語&lt;/span&gt;&lt;/h3&gt;
&lt;div&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;bootpack.c&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://www49.atwiki.jp/leo61?cmd=upload&amp;amp;act=open&amp;amp;pageid=7&amp;amp;file=bootpack.PNG&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;bootpack.cをを機械語にする方法&lt;/span&gt;&lt;/div&gt;
&lt;ul&gt;&lt;li&gt;
&lt;div&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;cc1.exeを使って、bootpack.cからbootpack.gasを作る&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;gas2nask.exeを使って、bootpack.gasからbootpack.nasを作る&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;nask.exeを使って、bootpack.nasからbootpack.objを作る&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;obj2bim.exeを使って、bootpack.binからbootpack.hrbを作る&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;これで機械語になったので、copyコマンドでasmhead.binとbootpack.hrnをくっつけて、haribote.sysをする&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;解説:&lt;/span&gt;&lt;/div&gt;
&lt;ul&gt;&lt;li&gt;
&lt;div&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt; cc1　→　cコンパイラで、C言語のプログラムからアセンブラのソースプログラムを作ってくれる&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;cコンパイラは、gccというコンパイラを改造したもの&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;gccというコンパイラはgasという名のアセンブラを前提にしているので、gas用のソースプログラムを出力してしまう。これはnaskでは翻訳できないので、naskで翻訳できる文法に変換する。それが、gas2nask。(意味は、gas
to nask。gasファイルをnaskファイルへ変換するプログラムだよって意味)&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;naskでアセンブルすれば機械語になるので、あとはnaskを使ってobjファイルを作る。(objは、object(目的)のこと)&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;オブジェクトファイルは、他のオブジェクトファイルとくっつける(これを「リンクする」という)ための特別な機械語ファイル。C言語だけではプログラム全体を書くことができないので、一部はアセンブラで書いた部分とくっつけなければならないってこと。一人前の機械語にしてやるためには、必要なオブジェクトファイルを全部くっつけてやればいい。それをやるのが、「obj2bim」。(bimは「binary
image」という意味)&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;bimは、2進数のイメージファイルなので、「本来の状態ではない仮の形式」。これは全部くっつけて機械語としてまとめただけで、実際に使うためには、それぞれのOSが必要とする系s機に合わせて加工しなければいけない。&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li style=&quot;list-style-type:none;&quot;&gt;
&lt;div&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;h3&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt; とにかくHLTしたい&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt; naskfunc.nas&lt;/span&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;h2&gt;■わからないこと&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt; Chapter
2で記述されていなかった部分がなくても、実行できたのはなぜ?&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;h2&gt;■参照したリンク &lt;/h2&gt;
&lt;p&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;Cygwin&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://community.osdev.info/?(AT)BIOS&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;http://community.osdev.info/?(AT)BIOS&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www2.ktokai-u.ac.jp/~kfuji/cygwin/cygwin.htm&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;http://www2.ktokai-u.ac.jp/~kfuji/cygwin/cygwin.htm&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://code.google.com/p/apt-cyg/&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;http://code.google.com/p/apt-cyg/&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.kkaneko.com/rinkou/cygwin/cygwin.html&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;http://www.kkaneko.com/rinkou/cygwin/cygwin.html&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.kkaneko.com/rinkou/cygwin/gcc44cygwin.html&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;
http://www.kkaneko.com/rinkou/cygwin/gcc44cygwin.html&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://uturo2.nevernothing.jp/cygwin-3/&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;http://uturo2.nevernothing.jp/cygwin-3/&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt; &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;OS自作入門:　&lt;/span&gt;&lt;a href=&quot;http://d.hatena.ne.jp/kobapan/archive?word=%2A%5BOS%BC%AB%BA%EE%C6%FE%CC%E7%5D&quot;&gt;http://d.hatena.ne.jp/kobapan/archive?word=%2A%5BOS%BC%AB%BA%EE%C6%FE%CC%E7%5D&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h2&gt;■用語&lt;/h2&gt;
&lt;/div&gt;
    </description>
    <dc:date>2013-02-06T18:11:03+09:00</dc:date>
    <utime>1360141863</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/leo61/pages/1.html">
    <title>TOP</title>
    <link>https://w.atwiki.jp/leo61/pages/1.html</link>
    <description>
      
&lt;h2&gt;OS 自作入門　- Operating System - お勉強メモ&lt;/h2&gt;
&lt;h3&gt;&lt;span style=&quot;font-size:medium;&quot;&gt;&lt;a href=&quot;http://www49.atwiki.jp/leo61/pages/5.html&quot;&gt;Chapter 0, 1&lt;/a&gt;　(2012/12/23
-2013/1/9)&lt;/span&gt;&lt;/h3&gt;
&lt;h3&gt;&lt;span style=&quot;font-size:medium;&quot;&gt;&lt;a href=&quot;http://www49.atwiki.jp/leo61/pages/6.html&quot;&gt;Chapter 2&lt;/a&gt;　(2013/1/9 -
2013/23)&lt;/span&gt;&lt;/h3&gt;
&lt;h3&gt;&lt;span style=&quot;font-size:medium;&quot;&gt;&lt;a href=&quot;http://www49.atwiki.jp/leo61/pages/7.html&quot;&gt;Chapter 3&lt;/a&gt;　(2013/1/24 -
2013/2/5)&lt;/span&gt;&lt;/h3&gt;
&lt;h3&gt;&lt;span style=&quot;font-size:medium;&quot;&gt;Chapter 4　(2013/2/6 -
2013/2/19)&lt;/span&gt;&lt;/h3&gt;
&lt;h3&gt;&lt;span style=&quot;font-size:medium;&quot;&gt;Chapter 5　(2013/20 - 2013/3/5)&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt; &lt;/p&gt;
    </description>
    <dc:date>2013-02-06T17:48:30+09:00</dc:date>
    <utime>1360140510</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/leo61/pages/6.html">
    <title>Chapter 2</title>
    <link>https://w.atwiki.jp/leo61/pages/6.html</link>
    <description>
      
&lt;h2&gt;Chapter 2&lt;/h2&gt;
&lt;h2&gt;■メモ&lt;/h2&gt;
&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;http://www49.atwiki.jp/leo61?cmd=upload&amp;amp;act=open&amp;amp;pageid=6&amp;amp;file=source_2.PNG&quot; /&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;strong&gt;ORG&lt;/strong&gt;(origin
開始点):　この機械語が実行時にPCのメモリのどこに読み込まれることになるのかをnaskに教えてあげるための命令。この命令を書くと、$の意味が変わる。出力ファイルの何バイト目であるかではなく、読み込まれる予定のメモリの番地になる。(このプログラムはここから始まるよー、ちなみにここまメモリ○○番地(ここでは0x7c00)に読み込まれる予定だよって意味)&lt;/span&gt;
&lt;ul&gt;&lt;li&gt;
&lt;p&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt; 0x00007c00 -
0x00007dff　:　ブートセクタが読み込まれるアドレス。今回のORGの値はここの数字を使った。 &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;strong&gt;JMP&lt;/strong&gt;(jump):　C言語でいうgoto文。&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;strong&gt;entry&lt;/strong&gt;(入り口):　ラベルの宣言。JMP命令の飛び先の指定などに使う。&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;strong&gt;MOV&lt;/strong&gt;(move
移動):　代入。値は移動せず(空っぽにはならない)、そのままの値。&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;MOV AX,0　　AX=0&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;MOV SS,AX　SS=AX　 という代入文。&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;entry = 0x7c50&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;アセンブラでは、ラベルはすべてただの数字&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;MOVは代入だから、SI =
msg　msgは0x7c74だから、SIには0x7c74が代入されることになる&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;CMP AL,0　ALを0と比較しなさい&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;JE命令:　比較の結果が等しければジャンプしなさい&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;INT命令:　interrupt
ソフトウェアの割り込み命令、BIOSの関数を呼ぶために使う命令。&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;HLT命令
(halt):　CPUを停止させる命令。待機状態にする。　この命令は書いても書かなくても問題ない。&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;msgに書いてあるデータが1文字ずつ表示されて、データが0になったらHLTの無限ループになる。&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h3&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;代表的なレジスタ&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;CPUにはレジスタという記憶回路がある。機械語における変数のこと。&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;table border=&quot;1&quot; cellspacing=&quot;1&quot; cellpadding=&quot;1&quot; width=&quot;400&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;p&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;font size=&quot;2&quot;&gt;16ビットのレジスタ&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;font size=&quot;2&quot;&gt;※機械語におけるレジスタ番号の順
(この順番ほんと?)&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;AX･･･アキュムレータ&lt;br /&gt;
CX･･･カウンタ&lt;br /&gt;
DX･･･データ&lt;br /&gt;
BX･･･ベース&lt;/span&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;br /&gt;&lt;/span&gt; &lt;span style=&quot;font-size:smaller;&quot;&gt;SP･･･スタックポイント&lt;br /&gt;
BP･･･ベースポインタ&lt;br /&gt;
SI･･･ソースインデックス&lt;br /&gt;
DI･･･デスティネーションインデックス&lt;/span&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;これらはすべて16ビットレジスタで、だから16桁の2進数を記憶できる。&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;これら8つのどのレジスタを使ってもたいていは同じ計算ができるが、AXを使うとプログラムを簡潔に書ける。&lt;/span&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;ADD CX,0x1234　　は　　81 C1 34
12　　という4バイトの命令&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;font size=&quot;2&quot;&gt;ADD AX,0x1234　　は　　05 34
12　　　という3バイトの命令&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;font size=&quot;2&quot;&gt;○XのX、たぶんexdendの意味。&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;font size=&quot;2&quot;&gt;8個のレジスタおを全部あわせても16バイトにしかならない。つまりレジスタを全部使っても、CPUはたったの16バイトしか記憶できない。&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt; CPUには8ビットのレジスタも8個ある&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;table border=&quot;1&quot; cellspacing=&quot;1&quot; cellpadding=&quot;1&quot; width=&quot;400&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;8ビットのレジスタ&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;AL･･･アキュムレータロウ(low)&lt;br /&gt;
CL･･･カウンタロウ&lt;br /&gt;
DL・・・データロウ&lt;br /&gt;
BL･･･ベースロウ&lt;br /&gt;
AH･･･アキュムレータハイ(high)&lt;br /&gt;
CH･･･カウンタハイ&lt;br /&gt;
DH･･･データハイ&lt;br /&gt;
BH･･･ベースハイ&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt; AXレジスタの16ビットのうち、下の位のビット0～ビット7の8ビットの部分を&lt;strong&gt;AL&lt;/strong&gt;という&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;上の位のビット8～ビット15、残りの8ビットの部分を&lt;strong&gt;AH&lt;/strong&gt;という。&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;BP、SP、SI、DIはLとHに分けられない。どうしても結果が必要なときは、MOV、AX、SIとかやって、その上でALとAHを使ってくれ、というのがインテルの設計者の考え。&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;table border=&quot;1&quot; cellspacing=&quot;1&quot; cellpadding=&quot;1&quot; width=&quot;400&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;32ビットのレジスタ&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;EAX、ECX、EDX、EBX、ESP、EBP、ESI、EDI&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;※Eはextendの意味&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;32ビットのうちの下の16ビットがAX &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;上の16ビットは、なんの名前もレジスタ番号もない&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;簡単に使えるのは下のほうだけ&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;上の16ビットを使いたい場合は、16ビットをずらす命令を使って、上の16ビットを下へおろしてこないといけない&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;32ビットになっても32バイトしか記憶できない&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h3&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;セグメントレジスタ&lt;/span&gt;&lt;/h3&gt;
&lt;table border=&quot;1&quot; cellspacing=&quot;1&quot; cellpadding=&quot;1&quot; width=&quot;400&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;p&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;ES･･･extra segment&lt;br /&gt;
CS･･･code segment&lt;br /&gt;
SS･･･stack segment&lt;br /&gt;
DS･･・deta segment&lt;br /&gt;
FS･･･本名なし(おまけセグメントパート2)&lt;br /&gt;
GS･･･本名なし(おまけセグメントパート3)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;ul&gt;&lt;li&gt;
&lt;p&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt; セグメントレジスタをフルに使った場合、44バイト記憶できる&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;h3&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;MOV AL,[SI] の説明　&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;CPUが機械語を実行するときには、必ずメモリからプログラムを１命令ずつ読み出して、順番に実行している&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;レジスタ　計算できる　⇔　メモリ　たくさんあっていっぱいしまっておける&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;MOV命令は、転送先や転送元にレジスタや定数だけでなく、メモリを指定することもできる。そのときに [ ]
を使う&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;MOV BYTE  [678] , 123
･･･　これは団地の６７８番地に、123を覚えてもらう命令。指定したメモリだけが対象になる。&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;MOV WORD [678] ,
123･･･　めもり団地の678番地と、お隣の678番地の記憶素子が反応する。指定したお隣の番地も対象になる。&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;DWORD･･･　指定したお隣とその隣とさらにもう1つとなりも対象になる。(4バイトだから)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;メモリ番地の指定方法は、定数だけでなくレジスタ(限られている　BX、BP、SI、DIのみ)を使うこともできる。　例:　BYTE
[SI]、WORD [BX]　etc.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;メモリのSI番地の1バイトの内容をALに読み込む　→　MOV AL,BYTE
[SI]&lt;/span&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;MOV命令は、ビット数が同じもの同士しか代入できない規則があり、つまりALに代入することは、BYTE以外はありえないので、MOV
AL,　[SI]　という表現になる&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;「メモリのSI番地の1バイトの内容をALに読み込め」っという意味&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;アセンブラでメモリを指定するときは、&quot;データの大きさ
[番地]&quot;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h3&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;Makefile導入&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;かなりかしこいバッチファイルのようなもの&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;#　→　コメントマーク&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;以下のコマンドの意味は、「ipl.binというファイルをもし作りたくなったら、まうipl.nasというファイルとMakefileというファイルが揃っていることを確認しなさい」&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt; 　　&lt;img alt=&quot;&quot; src=&quot;http://www49.atwiki.jp/leo61?cmd=upload&amp;amp;act=open&amp;amp;pageid=6&amp;amp;file=iplbin.PNG&quot; /&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;￥　→　1行に書ききれなくて、次の行にまたがって書いたよって意味&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;Makefileを動くようにするには、make.exeを呼び出す必要がある。コンソールから簡単に呼び出せるように、make.batを準備する。&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;ol&gt;&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;!cons でコンソールを開く&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;「make -r ipl.bin」を入力&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;make.exe　が起動&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;Makefile　を読み込む&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;ipl.bin　の作り方が書いてあるので、その1行が実行される&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;ipl.bin　ができあがる&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;Step2で「make -r helloos.img」
と入力すると、ipl.binがまだ存在しないので、ipl.binを作ってその後にhelloos.imgを作ってくれる&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;もう一度「make -r helloos.img」
を入力すると、「helloos.img&#039; is up to date.」というメッセージが出て何もしない。&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt; &lt;img alt=&quot;&quot; src=&quot;http://www49.atwiki.jp/leo61?cmd=upload&amp;amp;act=open&amp;amp;pageid=6&amp;amp;file=Makefile.PNG&quot; /&gt;&lt;/p&gt;
&lt;h2&gt; ■わからないこと&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;ul&gt;&lt;li&gt; &lt;font size=&quot;2&quot;&gt;LとHに分ける必要があるときってどんなとき?&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt; make.batの中の、「..\z_tools\make.exe %1 %2 %3
%4 %5 %6 %7 %8 %9」意味&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt; &lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;h2&gt;■参照したリンク &lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;
&lt;p&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;汎用レジスタ:　&lt;/span&gt;&lt;a href=&quot;http://wisdom.sakura.ne.jp/programming/asm/assembly3.html&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;http://wisdom.sakura.ne.jp/programming/asm/assembly3.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;BIOS ファンクション:　&lt;/span&gt;&lt;a href=&quot;http://community.osdev.info/?(AT)BIOS&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;http://community.osdev.info/?(AT)BIOS&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;AT互換機でのメモリマップ:　&lt;/span&gt;&lt;a href=&quot;http://community.osdev.info/?(AT)memorymap&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;http://community.osdev.info/?(AT)memorymap&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;Makefile 書き方:&lt;/span&gt;&lt;a href=&quot;http://www.watanabe.nuie.nagoya-u.ac.jp/member/asakura/lectures/make/#make&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;http://www.watanabe.nuie.nagoya-u.ac.jp/member/asakura/lectures/make/#make&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;http://www.ie.u-ryukyu.ac.jp/~e085739/c.makefile.tuts.html&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;http://www.ie.u-ryukyu.ac.jp/~e085739/c.makefile.tuts.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;http://www.am.sanken.osaka-u.ac.jp/~mukaigaw/misc/Makefile.html&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;http://www.am.sanken.osaka-u.ac.jp/~mukaigaw/misc/Makefile.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li style=&quot;list-style-type:none;&quot;&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;h2&gt;■用語&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;レジスタ&lt;/span&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;CPUが演算などをおこなうためにメモリから値を読みこむ&lt;/span&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;命令実行への最終的な記録装置&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt; &lt;/p&gt;
    </description>
    <dc:date>2013-02-04T11:43:32+09:00</dc:date>
    <utime>1359945812</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/leo61/pages/5.html">
    <title>Chapter 0, 1</title>
    <link>https://w.atwiki.jp/leo61/pages/5.html</link>
    <description>
      
&lt;h2&gt;Chapter 0, 1&lt;/h2&gt;
&lt;h2&gt;■メモ&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;OSを作るためのステップ&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;ol&gt;&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;Windows などを使ってソースプログラムを書く&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;それをCコンパイラでコンパイルして、機械語がいっぱい詰まったファイルを作る&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;そのファイルを加工してフロッピーディスクのイメージファイルを作る&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;イメージファイルをディスクへ書き込んで、OSがインストールされたディスクを作る&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;ul&gt;&lt;li&gt;&lt;font size=&quot;2&quot;&gt;イメージファイルを作って→xxx.bat　バッチファイルを作って→実行する&lt;/font&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h3&gt;&lt;font size=&quot;2&quot;&gt;アセンブラ&lt;/font&gt;&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;font size=&quot;2&quot;&gt;nask(なすく)　←こっちのが自動最適化能力が高い xxx.nas&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size=&quot;2&quot;&gt;nasm(なすむ)&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;プロンプト　＞..\z_tools\nask.exe helloos.nas
helloos.img&lt;/span&gt;　&lt;span style=&quot;font-size:smaller;&quot;&gt;→　実行するとhelloos.imgができる&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;font size=&quot;2&quot;&gt;DB命令　    data byte　ファイルの内容を1バイトだけ直接書く命令　&lt;/font&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;RESB命令    reserve byte とりあえず10バイトあけといて　RESB
10　っと書く&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;DB命令は文字列を書くことができる&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;DB命令の仲間&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;ul&gt;&lt;li&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;DW命令　data
word:　16bitのこと。2byteでもある。&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;DD命令　data
double-word:　32bitのこと。バイトでいえば、4byte。&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;アセンブラの世界のワードというのは、16bit(＝2byte)のこと。&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;「0x」をつけると16進数で、つけなければ10進数。&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;$の意味　この行が先頭から何バイト目かを教えてくれる変数&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;ul&gt;&lt;li&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;$の意味　この行が先頭から何バイト目かを教えてくれる変数&lt;font size=&quot;3&quot;&gt;。「&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;RESB 0x1fe
$」は、0x1fe-$を引いた数字に00を並べてくれる&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;PCはまずディスクの最初のセクタを読み、最後の2バイトを見る。　これが55　AA　でなければ、このディスクは起動に必要なプログラムが書かれていないようだっと判断し、起動できないよエラーが表示される。&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h3&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;ソースプログラム&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;とりあえずまねして書いてみた&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; &lt;img alt=&quot;&quot; src=&quot;http://www49.atwiki.jp/leo61?cmd=upload&amp;amp;act=open&amp;amp;pageid=5&amp;amp;file=source_1.PNG&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;実行&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://www49.atwiki.jp/leo61?cmd=upload&amp;amp;act=open&amp;amp;pageid=5&amp;amp;file=run_1.PNG&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;バイナリエディタで比較してみた&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://www49.atwiki.jp/leo61/?cmd=upload&amp;amp;act=open&amp;amp;page=Chapter%200%2C%201&amp;amp;file=binary_1.PNG&quot; /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;h2&gt;■わからないこと&lt;/h2&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;&lt;li&gt;
&lt;div&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;0001F0周辺と001400周辺に00でない数字を入力するのはなぜか　‐&amp;gt;　あとでわかるかな...&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size=&quot;2&quot;&gt;以下のコマンドの意味がわからない　&lt;/font&gt;&lt;/div&gt;
&lt;table border=&quot;1&quot; cellspacing=&quot;1&quot; cellpadding=&quot;1&quot; width=&quot;400&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;div&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;--------------------&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;install.bat&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;..\z_tools\imgtol.com w a:
helloos.img&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=&quot;2&quot;&gt;　&lt;/font&gt;&lt;span style=&quot;color:#0000ff;&quot;&gt;&lt;font size=&quot;2&quot;&gt;-&amp;gt; a
ドライブにhelloos.img を書く &lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;run.bat&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;copy helloos.img
..\z_tools\qemu\fdimage0.bin&lt;br /&gt;
..\z_tools\make.exe -C ../z_tools/qemu&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;　&lt;/font&gt;&lt;span style=&quot;color:#0000ff;&quot;&gt;&lt;font size=&quot;2&quot;&gt;-&amp;gt;
エミュレータを使用して実行するときのコマンド&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;--------------------&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;strike&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;CPUは、32x16=512個のON/OFFの電気信号の集まり&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/strike&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;　-&amp;gt;
CUPのピンの数が512個&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;strike&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;32個の電気信号の集まりは、「BOOK」という単語をあらわしているとはどういう意味か&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/strike&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;　-&amp;gt;
あまり気にしなくてOK&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;strike&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;「バイナリエディタがあれば、500万画素のデジタルカメラで撮ったJPEGファイルとまったく同じ画像ファイルが、&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;いくつも作れる」と記載されているが、バイナリエディタでは、500万画素までのファイルしか作れない?&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/strike&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;　-&amp;gt;
なんでも作れるよ&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;helloos.nasの22行目&quot;HELLO-OS   &quot;と&quot;FAT12   &quot;の半角スペース3つはなんの意味?
このスペースがないと実行されなかった&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;。&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;
&lt;h2&gt;■参照したリンク &lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;
&lt;div&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;バイナリエディタ:　&lt;/span&gt;&lt;a href=&quot;http://www.vcraft.jp/soft/bz.html&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;http://www.vcraft.jp/soft/bz.html&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;2進数 16進数:&lt;/span&gt;&lt;a href=&quot;http://www9.plala.or.jp/fsson/NewHP_elc/usef/usef_2_16.html&quot;&gt;&lt;span style=&quot;font-size:smaller;&quot;&gt;http://www9.plala.or.jp/fsson/NewHP_elc/usef/usef_2_16.html&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;h2&gt;■用語&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;
&lt;div&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;FAT12フォーマット&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;ul&gt;&lt;li&gt;
&lt;div&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;WindowsやMS-DOSでフロッピーディスクをフォーマットすると、この形式でフォーマットされる。&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;ブートセクタ&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;ul&gt;&lt;li&gt;
&lt;div&gt;
&lt;div&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;ブートセクタ　フロッピディスクの最初のセクタのこと。&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;フロッピーディスクは1バイトずつの読み書きしかできない仕組みになっていて、512バイトずつをまとめて読み書きする。そんなわけで、フロッピーディスクの世界では、512バイトを1セクタと呼ぶ。フロッピーは1440KB。&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font size=&quot;2&quot;&gt;つまり、1,474,560バイトなので、これを512で割ると、2880セクタで構成されているっということになる。&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
    </description>
    <dc:date>2013-02-01T20:43:05+09:00</dc:date>
    <utime>1359718985</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/leo61/pages/3.html">
    <title>右メニュー</title>
    <link>https://w.atwiki.jp/leo61/pages/3.html</link>
    <description>
      **更新履歴
#recent(30)    </description>
    <dc:date>2013-01-14T20:45:39+09:00</dc:date>
    <utime>1358163939</utime>
  </item>
  </rdf:RDF>
