<?xml version="1.0" encoding="UTF-8"?>

<?xml-stylesheet type="text/xsl" media="screen" href="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=rss.ja.xml" ?>
<rdf:RDF
  xmlns:dc="http://purl.org/dc/elements/1.1/"

  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xml:lang="ja">
 <channel rdf:about="http://thebbl.hideyosi.com/modules/zakki/index.php">
  <title>The-BBL::雑記帳</title>
  <link>http://thebbl.hideyosi.com/modules/zakki/index.php</link>
  <description>xpWiki RecentChanges</description>
  <dc:date>2026-03-07T03:55:55+09:00</dc:date>
  <image rdf:resource="http://thebbl.hideyosi.com/modules/zakki/index.phpmodule_icon.php" />
  <items>
   <rdf:Seq>
    <rdf:li rdf:resource="http://thebbl.hideyosi.com/modules/zakki/?%E6%A3%9A%E4%B8%8A%E3%81%92%E3%83%A1%E3%83%A2" />
    <rdf:li rdf:resource="http://thebbl.hideyosi.com/modules/zakki/?RecentDeleted" />
    <rdf:li rdf:resource="http://thebbl.hideyosi.com/modules/zakki/?%E3%82%B3%E3%83%A9%E3%83%A0%2F%E8%A8%80%E8%AA%9E%E3%81%AF%E3%81%AA%E3%81%AB%E3%81%8C%E3%81%84%E3%81%84%EF%BC%9F" />
    <rdf:li rdf:resource="http://thebbl.hideyosi.com/modules/zakki/?%E5%A6%84%E6%83%B3%2FSHEET%E3%81%AE%E4%BA%8C%E6%AE%B5%E5%8C%96" />
    <rdf:li rdf:resource="http://thebbl.hideyosi.com/modules/zakki/?%E5%A6%84%E6%83%B3%2F%E3%82%A4%E3%83%B3%E3%83%99%E3%83%BC%E3%83%80%E3%83%BC%E8%80%83%E5%AF%9F" />
    <rdf:li rdf:resource="http://thebbl.hideyosi.com/modules/zakki/?%E5%A6%84%E6%83%B3%2F%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A5%E3%83%AA%E3%82%B5%E3%82%A4%E3%82%BA" />
    <rdf:li rdf:resource="http://thebbl.hideyosi.com/modules/zakki/?%E4%BB%AE%E6%83%B386%E3%83%A2%E3%83%BC%E3%83%89" />
    <rdf:li rdf:resource="http://thebbl.hideyosi.com/modules/zakki/?%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF%E5%BE%A9%E7%BF%92" />
    <rdf:li rdf:resource="http://thebbl.hideyosi.com/modules/zakki/?%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF%E5%BE%A9%E7%BF%922" />
    <rdf:li rdf:resource="http://thebbl.hideyosi.com/modules/zakki/?%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%9E%E3%83%83%E3%83%97" />
    <rdf:li rdf:resource="http://thebbl.hideyosi.com/modules/zakki/?%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%9E%E3%83%83%E3%83%97%EF%BC%88BBL%EF%BC%89" />
    <rdf:li rdf:resource="http://thebbl.hideyosi.com/modules/zakki/?%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF" />
    <rdf:li rdf:resource="http://thebbl.hideyosi.com/modules/zakki/?%E7%A7%92%E5%BE%85%E3%81%A1%E9%96%A2%E6%95%B0" />
    <rdf:li rdf:resource="http://thebbl.hideyosi.com/modules/zakki/?%E8%87%AA%E4%BD%9CAPI%E3%83%A1%E3%83%A2" />
    <rdf:li rdf:resource="http://thebbl.hideyosi.com/modules/zakki/?%E3%83%98%E3%83%AB%E3%83%97" />

   </rdf:Seq>
  </items>
 </channel>
 <image rdf:about="http://thebbl.hideyosi.com/modules/zakki/index.phpmodule_icon.php">
   <title>The-BBL::雑記帳</title>
   <link>http://thebbl.hideyosi.com/modules/zakki/index.php</link>
   <url>http://thebbl.hideyosi.com/modules/zakki/index.phpmodule_icon.php</url>
 </image>

<item rdf:about="http://thebbl.hideyosi.com/modules/zakki/index.php?%E6%A3%9A%E4%B8%8A%E3%81%92%E3%83%A1%E3%83%A2">
 <title>棚上げメモ</title>
 <link>http://thebbl.hideyosi.com/modules/zakki/?%E6%A3%9A%E4%B8%8A%E3%81%92%E3%83%A1%E3%83%A2</link>
 <dc:date>2026-03-06T16:22:18+09:00</dc:date>
 <dc:creator></dc:creator>
 
 <description>Hello, I would like more information about this. Kind regards, s.dabovepallott18@m.spheremail.net -- Hello, I would like more information about this. Kind regards, s.dabovepallott18@m.spheremail.net 2026-03-06 (Fri) 16:22:18 New!&amp;#182;はりぼてを勉強してたときの棚上</description>
 <content:encoded><![CDATA[
 <dl><dt>Changes</dt><dd><ul><li>Hello, I would like more information about this. Kind regards, s.dabovepallott18@m.spheremail.net -- <strong>Hello, I would like more information about this. Kind regards, s.dabovepallott18@m.spheremail.net</strong> <span>2026-03-06 (Fri) 16:22:18 <span title="(0m)">New!</span></span></li></ul></dd></dl><hr /><p>はりぼてを勉強してたときの棚上げ項目。</p>
<ul><li>P36　<span>NASK/書式/桁指定<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=NASK%2F%E6%9B%B8%E5%BC%8F%2F%E6%A1%81%E6%8C%87%E5%AE%9A&amp;refer=%E6%A3%9A%E4%B8%8A%E3%81%92%E3%83%A1%E3%83%A2" title="NASK/書式/桁指定 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span>（桁指定の法則が見出せない）</li>
<li>P54　なんで失敗数をSIで数えるのか？　SIの用途や制限は？？</li>
<li>P126　セグメント属性は位置の重複がうまく把握できん・・・ -- <span>hideyosi<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=hideyosi&amp;refer=%E6%A3%9A%E4%B8%8A%E3%81%92%E3%83%A1%E3%83%A2" title="hideyosi の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span> <span>2007-03-26 19:27:19 (月)</span></li>
<li>P296　csやesへの数値の当て込みの意味がわからない -- <span>hideyosi<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=hideyosi&amp;refer=%E6%A3%9A%E4%B8%8A%E3%81%92%E3%83%A1%E3%83%A2" title="hideyosi の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span> <span>2007-07-30 18:16:48 (月)</span></li>
<li>P333　やっぱ、どうもレベルってのがよくわからん。原理はともかく判断部分がうまく理解できない -- <span>hideyosi<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=hideyosi&amp;refer=%E6%A3%9A%E4%B8%8A%E3%81%92%E3%83%A1%E3%83%A2" title="hideyosi の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span> <span>2007-10-09 13:42:26 (火)</span></li>
<li>P415　INT 0x40の後ECXレジスタが壊れるのはなぜか？ -- <span>hideyosi<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=hideyosi&amp;refer=%E6%A3%9A%E4%B8%8A%E3%81%92%E3%83%A1%E3%83%A2" title="hideyosi の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span> <span>2007-10-10 11:18:08 (水)</span></li>
<li>Hello, I would like more information about this. Kind regards, s.dabovepallott18@m.spheremail.net -- <strong>Hello, I would like more information about this. Kind regards, s.dabovepallott18@m.spheremail.net</strong> <span>2026-03-06 (Fri) 16:22:18 <span title="(11h)">New!</span></span></li></ul>
<br />


 ]]></content:encoded>
 <dc:identifier>http://thebbl.hideyosi.com/modules/zakki/index.php?%E6%A3%9A%E4%B8%8A%E3%81%92%E3%83%A1%E3%83%A2</dc:identifier>

</item>
<item rdf:about="http://thebbl.hideyosi.com/modules/zakki/index.php?RecentDeleted">
 <title>RecentDeleted</title>
 <link>http://thebbl.hideyosi.com/modules/zakki/?RecentDeleted</link>
 <dc:date>2017-09-07T23:59:17+09:00</dc:date>
 <dc:creator></dc:creator>
 
 <description>2017-09-07 (Thu) 06:59:16 - [[&amp;#143;&amp;#171;?&amp;#65533;??&amp;#65533;&amp;#65533;&amp;#65533;]]&amp;#182;
2017-09-07 (Thu) 06:59:16 - [[&amp;#143;&amp;#171;?&amp;#65533;??&amp;#65533;&amp;#65533;&amp;#65533;]]&amp;#182;
2017-09-07 (Thu) 06:59:16 - [[&amp;#143;&amp;#171;?&amp;#65533;??&amp;#65533;&amp;#65533;&amp;#65533;</description>
 <content:encoded><![CDATA[
 <dl><dt>Changes</dt><dd><ul><li>2017-09-07 (Thu) 06:59:16 - [[&#143;&#171;?&#65533;??&#65533;&#65533;&#65533;]]</li></ul>&#182;<!--ADD_TEXT_SEP-->
<ul><li>2017-09-07 (Thu) 06:59:16 - [[&#143;&#171;?&#65533;??&#65533;&#65533;&#65533;]]</li></ul>&#182;<!--ADD_TEXT_SEP-->
<ul><li>2017-09-07 (Thu) 06:59:16 - [[&#143;&#171;?&#65533;??&#65533;&#65533;&#65533;&quot;'`--]]</li></ul>&#182;<!--ADD_TEXT_SEP-->
<ul><li>2017-09-07 (Thu) 06:59:15 - [[&#143;&#171;?&#65533;??&#65533;&#65533;&#65533;]]</li></ul>&#182;<!--ADD_TEXT_SEP-->
<ul><li>2017-09-07 (Thu) 06:59:14 - [[&#143;&#171;?&#65533;??&#65533;&#65533;&#65533;]]</li></ul></dd></dl><hr /><p><span>RecentDeleted</span></p>

<ul><li>2017-09-07 (Thu) 06:59:16 - [[&#143;&#171;?&#65533;??&#65533;&#65533;&#65533;]]</li>
<li>2017-09-07 (Thu) 06:59:16 - [[&#143;&#171;?&#65533;??&#65533;&#65533;&#65533;&quot;'`--]]</li>
<li>2017-09-07 (Thu) 06:59:06 - [[&#143;&#171;?&#65533;??&#65533;&#65533;&#65533;)]]</li>
<li>2008-11-03 (月) 06:27:41 - <span>型キャスト<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E5%9E%8B%E3%82%AD%E3%83%A3%E3%82%B9%E3%83%88&amp;refer=RecentDeleted" title="型キャスト の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-10-17 (金) 03:31:12 - <span>YukiWiki<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=YukiWiki&amp;refer=RecentDeleted" title="YukiWiki の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-10-17 (金) 03:30:38 - <span>THEBBL/キー入力一覧<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=THEBBL%2F%E3%82%AD%E3%83%BC%E5%85%A5%E5%8A%9B%E4%B8%80%E8%A6%A7&amp;refer=RecentDeleted" title="THEBBL/キー入力一覧 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-10-17 (金) 03:29:19 - <span>C言語/ポインタ<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=C%E8%A8%80%E8%AA%9E%2F%E3%83%9D%E3%82%A4%E3%83%B3%E3%82%BF&amp;refer=RecentDeleted" title="C言語/ポインタ の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:17:21 - <span>NASK/命令/CMP<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=NASK%2F%E5%91%BD%E4%BB%A4%2FCMP&amp;refer=RecentDeleted" title="NASK/命令/CMP の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:17:21 - <span>NASK/命令/ADD<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=NASK%2F%E5%91%BD%E4%BB%A4%2FADD&amp;refer=RecentDeleted" title="NASK/命令/ADD の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:17:21 - <span>NASK/命令<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=NASK%2F%E5%91%BD%E4%BB%A4&amp;refer=RecentDeleted" title="NASK/命令 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:17:21 - <span>NASK/定番の手法<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=NASK%2F%E5%AE%9A%E7%95%AA%E3%81%AE%E6%89%8B%E6%B3%95&amp;refer=RecentDeleted" title="NASK/定番の手法 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:17:21 - <span>NASK/数値の書き方<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=NASK%2F%E6%95%B0%E5%80%A4%E3%81%AE%E6%9B%B8%E3%81%8D%E6%96%B9&amp;refer=RecentDeleted" title="NASK/数値の書き方 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:17:21 - <span>NASK/条件分岐<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=NASK%2F%E6%9D%A1%E4%BB%B6%E5%88%86%E5%B2%90&amp;refer=RecentDeleted" title="NASK/条件分岐 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:17:21 - <span>NASK/書式/桁指定<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=NASK%2F%E6%9B%B8%E5%BC%8F%2F%E6%A1%81%E6%8C%87%E5%AE%9A&amp;refer=RecentDeleted" title="NASK/書式/桁指定 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:17:21 - <span>NASK/書式/レジスタ<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=NASK%2F%E6%9B%B8%E5%BC%8F%2F%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF&amp;refer=RecentDeleted" title="NASK/書式/レジスタ の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:17:21 - <span>NASK/書式<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=NASK%2F%E6%9B%B8%E5%BC%8F&amp;refer=RecentDeleted" title="NASK/書式 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:17:21 - <span>NASK/レジスタ<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=NASK%2F%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF&amp;refer=RecentDeleted" title="NASK/レジスタ の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:17:21 - <span>NASK/スタック<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=NASK%2F%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF&amp;refer=RecentDeleted" title="NASK/スタック の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:17:21 - <span>NASK/8086/命令/ジャンプ<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=NASK%2F8086%2F%E5%91%BD%E4%BB%A4%2F%E3%82%B8%E3%83%A3%E3%83%B3%E3%83%97&amp;refer=RecentDeleted" title="NASK/8086/命令/ジャンプ の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:17:21 - <span>NASK/8086/命令/MOV<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=NASK%2F8086%2F%E5%91%BD%E4%BB%A4%2FMOV&amp;refer=RecentDeleted" title="NASK/8086/命令/MOV の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:17:21 - <span>NASK/8086/命令<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=NASK%2F8086%2F%E5%91%BD%E4%BB%A4&amp;refer=RecentDeleted" title="NASK/8086/命令 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:17:21 - <span>NASK/8086/レジスタの制限<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=NASK%2F8086%2F%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%E3%81%AE%E5%88%B6%E9%99%90&amp;refer=RecentDeleted" title="NASK/8086/レジスタの制限 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:17:21 - <span>NASK/16Bitモードのセグメント<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=NASK%2F16Bit%E3%83%A2%E3%83%BC%E3%83%89%E3%81%AE%E3%82%BB%E3%82%B0%E3%83%A1%E3%83%B3%E3%83%88&amp;refer=RecentDeleted" title="NASK/16Bitモードのセグメント の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:17:21 - <span>NASK<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=NASK&amp;refer=RecentDeleted" title="NASK の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:16:30 - <span>資料/x86/レジスタ<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E8%B3%87%E6%96%99%2Fx86%2F%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF&amp;refer=RecentDeleted" title="資料/x86/レジスタ の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:16:30 - <span>資料/x86/セグメント<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E8%B3%87%E6%96%99%2Fx86%2F%E3%82%BB%E3%82%B0%E3%83%A1%E3%83%B3%E3%83%88&amp;refer=RecentDeleted" title="資料/x86/セグメント の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:16:30 - <span>資料/x86/EFLAGS<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E8%B3%87%E6%96%99%2Fx86%2FEFLAGS&amp;refer=RecentDeleted" title="資料/x86/EFLAGS の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:16:30 - <span>資料/haribote/メモリマップ<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E8%B3%87%E6%96%99%2Fharibote%2F%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%9E%E3%83%83%E3%83%97&amp;refer=RecentDeleted" title="資料/haribote/メモリマップ の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:16:30 - <span>資料/haribote/fifo送信データ<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E8%B3%87%E6%96%99%2Fharibote%2Ffifo%E9%80%81%E4%BF%A1%E3%83%87%E3%83%BC%E3%82%BF&amp;refer=RecentDeleted" title="資料/haribote/fifo送信データ の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:16:30 - <span>資料/haribote/api<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E8%B3%87%E6%96%99%2Fharibote%2Fapi&amp;refer=RecentDeleted" title="資料/haribote/api の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:16:30 - <span>資料/haribote<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E8%B3%87%E6%96%99%2Fharibote&amp;refer=RecentDeleted" title="資料/haribote の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:16:30 - <span>資料/AT/メモリマップ(リアルモード)<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E8%B3%87%E6%96%99%2FAT%2F%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%9E%E3%83%83%E3%83%97%28%E3%83%AA%E3%82%A2%E3%83%AB%E3%83%A2%E3%83%BC%E3%83%89%29&amp;refer=RecentDeleted" title="資料/AT/メモリマップ(リアルモード) の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:16:30 - <span>資料/AT/キーコード-101<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E8%B3%87%E6%96%99%2FAT%2F%E3%82%AD%E3%83%BC%E3%82%B3%E3%83%BC%E3%83%89-101&amp;refer=RecentDeleted" title="資料/AT/キーコード-101 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:16:30 - <span>資料/AT/I／O<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E8%B3%87%E6%96%99%2FAT%2FI%EF%BC%8FO&amp;refer=RecentDeleted" title="資料/AT/I／O の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:16:30 - <span>資料/AT/IRQ<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E8%B3%87%E6%96%99%2FAT%2FIRQ&amp;refer=RecentDeleted" title="資料/AT/IRQ の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:16:30 - <span>資料/ASCIIコード表<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E8%B3%87%E6%96%99%2FASCII%E3%82%B3%E3%83%BC%E3%83%89%E8%A1%A8&amp;refer=RecentDeleted" title="資料/ASCIIコード表 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2008-02-13 (水) 05:16:30 - <span>資料<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E8%B3%87%E6%96%99&amp;refer=RecentDeleted" title="資料 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2007-12-22 11:39:04 (土) - <a href="http://thebbl.hideyosi.com/modules/zakki/?%E5%A6%84%E6%83%B3%2F%E3%82%A4%E3%83%B3%E3%83%99%E3%83%BC%E3%83%80%E3%83%BC%E8%80%83%E5%AF%9F" title="妄想/インベーダー考察 (2d)">妄想/インベーダー考察</a></li>
<li>2007-12-06 12:21:41 (木) - <span>NASK/命令/MOV<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=NASK%2F%E5%91%BD%E4%BB%A4%2FMOV&amp;refer=RecentDeleted" title="NASK/命令/MOV の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2007-11-30 21:44:57 (金) - <span>キーボード<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89&amp;refer=RecentDeleted" title="キーボード の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2007-11-30 21:40:22 (金) - <span>ASCII一覧表<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=ASCII%E4%B8%80%E8%A6%A7%E8%A1%A8&amp;refer=RecentDeleted" title="ASCII一覧表 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2007-11-29 13:40:27 (木) - <span>メモリマップ（AT 8086時）<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%9E%E3%83%83%E3%83%97%EF%BC%88AT%208086%E6%99%82%EF%BC%89&amp;refer=RecentDeleted" title="メモリマップ（AT 8086時） の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2007-11-10 13:13:20 (土) - <span>test<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=test&amp;refer=RecentDeleted" title="test の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2007-10-17 13:52:47 (水) - <span>sｖn/バージョン管理<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=s%EF%BD%96n%2F%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E7%AE%A1%E7%90%86&amp;refer=RecentDeleted" title="sｖn/バージョン管理 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2007-10-17 13:49:05 (水) - <span>snv/バージョン管理<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=snv%2F%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E7%AE%A1%E7%90%86&amp;refer=RecentDeleted" title="snv/バージョン管理 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2007-10-17 11:34:19 (水) - <span>SVN<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=SVN&amp;refer=RecentDeleted" title="SVN の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2007-02-13 15:18:37 (火) - <span>FreeBSDではりぼて！/aksa1a<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=FreeBSD%E3%81%A7%E3%81%AF%E3%82%8A%E3%81%BC%E3%81%A6%EF%BC%81%2Faksa1a&amp;refer=RecentDeleted" title="FreeBSDではりぼて！/aksa1a の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2007-02-13 15:17:16 (火) - <span>FreeBSDではりぼて！/bim2hrb<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=FreeBSD%E3%81%A7%E3%81%AF%E3%82%8A%E3%81%BC%E3%81%A6%EF%BC%81%2Fbim2hrb&amp;refer=RecentDeleted" title="FreeBSDではりぼて！/bim2hrb の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2007-02-13 15:16:26 (火) - <span>FreeBSDではりぼて！/bim2bi4w<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=FreeBSD%E3%81%A7%E3%81%AF%E3%82%8A%E3%81%BC%E3%81%A6%EF%BC%81%2Fbim2bi4w&amp;refer=RecentDeleted" title="FreeBSDではりぼて！/bim2bi4w の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2007-02-13 15:15:27 (火) - <span>FreeBSDではりぼて！/makefont<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=FreeBSD%E3%81%A7%E3%81%AF%E3%82%8A%E3%81%BC%E3%81%A6%EF%BC%81%2Fmakefont&amp;refer=RecentDeleted" title="FreeBSDではりぼて！/makefont の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2007-02-13 15:13:39 (火) - <span>FreeBSDではりぼて！/bin2obj<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=FreeBSD%E3%81%A7%E3%81%AF%E3%82%8A%E3%81%BC%E3%81%A6%EF%BC%81%2Fbin2obj&amp;refer=RecentDeleted" title="FreeBSDではりぼて！/bin2obj の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2007-02-13 15:11:30 (火) - <span>FreeBSDではりぼて！/aska<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=FreeBSD%E3%81%A7%E3%81%AF%E3%82%8A%E3%81%BC%E3%81%A6%EF%BC%81%2Faska&amp;refer=RecentDeleted" title="FreeBSDではりぼて！/aska の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2007-02-13 15:10:44 (火) - <span>FreeBSDではりぼて！/OLS/ちと実験<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=FreeBSD%E3%81%A7%E3%81%AF%E3%82%8A%E3%81%BC%E3%81%A6%EF%BC%81%2FOLS%2F%E3%81%A1%E3%81%A8%E5%AE%9F%E9%A8%93&amp;refer=RecentDeleted" title="FreeBSDではりぼて！/OLS/ちと実験 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2007-02-13 15:09:38 (火) - <span>FreeBSDではりぼて！/ちと実験<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=FreeBSD%E3%81%A7%E3%81%AF%E3%82%8A%E3%81%BC%E3%81%A6%EF%BC%81%2F%E3%81%A1%E3%81%A8%E5%AE%9F%E9%A8%93&amp;refer=RecentDeleted" title="FreeBSDではりぼて！/ちと実験 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2006-02-06 16:15:43 (月) - <span>メモリマップ（8086)<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%9E%E3%83%83%E3%83%97%EF%BC%888086%29&amp;refer=RecentDeleted" title="メモリマップ（8086) の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2005-07-23 18:52:13 (土) - <span>整形ルール<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E6%95%B4%E5%BD%A2%E3%83%AB%E3%83%BC%E3%83%AB&amp;refer=RecentDeleted" title="整形ルール の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2005-07-23 18:51:29 (土) - <a href="http://thebbl.hideyosi.com/modules/zakki/?SandBox" title="SandBox (2d)">SandBox</a></li>
<li>2005-07-21 (木) 01:04:04 - <span>NASK/NOP<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=NASK%2FNOP&amp;refer=RecentDeleted" title="NASK/NOP の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2005-07-04 (月) 15:21:53 - <span>NASK/LOOP<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=NASK%2FLOOP&amp;refer=RecentDeleted" title="NASK/LOOP の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>2004-09-26 (日) 08:42:25 - <a href="http://thebbl.hideyosi.com/modules/zakki/?InterWikiSandBox" title="InterWikiSandBox (2d)">InterWikiSandBox</a></li></ul>

 ]]></content:encoded>
 <dc:identifier>http://thebbl.hideyosi.com/modules/zakki/index.php?RecentDeleted</dc:identifier>

</item>
<item rdf:about="http://thebbl.hideyosi.com/modules/zakki/index.php?%E3%82%B3%E3%83%A9%E3%83%A0%2F%E8%A8%80%E8%AA%9E%E3%81%AF%E3%81%AA%E3%81%AB%E3%81%8C%E3%81%84%E3%81%84%EF%BC%9F">
 <title>コラム/言語はなにがいい？</title>
 <link>http://thebbl.hideyosi.com/modules/zakki/?%E3%82%B3%E3%83%A9%E3%83%A0%2F%E8%A8%80%E8%AA%9E%E3%81%AF%E3%81%AA%E3%81%AB%E3%81%8C%E3%81%84%E3%81%84%EF%BC%9F</link>
 <dc:date>2015-07-31T14:55:26+09:00</dc:date>
 <dc:creator></dc:creator>
 
 <description></description>
 <content:encoded><![CDATA[
 <dl><dt>Changes</dt><dd><p><span style="color:red">??????K????˶????Ƥ??ä??Ȥ???̾?ܤǽ񤤤Ƥޤ?????K???󤬤??ä??ꤽ?Τޤ޸??ä????դǤϤ???ޤ??󡣤????????????Ƥ??ä??????餬???򤷤????Ȥ?񤤤Ƥޤ????ʤΤǡ?K????ιͤ????Τ?Τ???̯?˰?äƤ????ꡢ???뤤?ϥ????餬???㤤???Ƥ???ʤ?ƾ??⤢??Ȥ??????ȤǤ????ʤΤǡ????줰???<strong>??Ⱦʬ</strong>??ʹ???Ƥ????Ƥ??????????ʤ??????ʤ????Ѥ򤫤??Τϥ??ʥ??Ǥ?????</span></p>
<hr />
<div>
<div>
 <div>
  ?ڡ????⥳??ƥ??
 </div>
 <div>
  <ul><li><ul><li> ??????֥?ǹ⡪ </li>
<li> C++???㡪 </li>
<li> ??ɡ?OS???????Ϥʤˤ?????????? </li>
<li> ?Ǥ?K????Ϥʤ???????֥??C??Ȥä??Τ??? </li>
<li> ¾?θ???ϥ???ʤΡ? </li>
<li> ?ޤȤ? 
<ul><li> ??­ </li></ul></li></ul></li></ul>
 </div>
</div>
<h3>??????֥?ǹ⡪  <img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></h3>
<p>????????ְ㤤?Ǥ???פȹͤ??Ƥ??ޤ???</p>
<ol><li><span style="color:blue">????????????OS?????ܤν???ˡ?K????ʬ?Ǥ????񤤤Ƥ??뤸??ʤ?????</span></li>
<li><span style="color:blue">OSASK????ǽ?????ʤ??Ȥ??äƤ???????ǽ??Ф??Τϥ?????֥?Τ??????????????????̤?C?Ȥ??ǽ񤤤???K????Ƚ?????Linux???礷???Ѥ??ʤ???ǽ?ˤʤ?Ϥ?????ʤ?????</span></li></ol>
<p>?ʤ?ۤɡ????Ǥ???????</p>
<p>?ޤ?????1?פ͡?</p>
<blockquote><blockquote><p>?⤦???衼???ɤ?ǤߤƤ?????????OS?????ܤ?K????ϡ??֥?????֥??<strong>??</strong>?פȤϽ񤤤Ƥ??ޤ??????֥?????֥??<strong>??</strong>?פȤϽ񤤤Ƥޤ???͡???</p></blockquote></blockquote>
<blockquote><blockquote><p>????ñ?ʤ?????󤷤??????äơ????????????ɤߤޤ???????????????ˤ??㡼??Ƚ񤤤Ƥ???ޤ???͡?</p></blockquote></blockquote>
<ul><li>?֤???ϻ?ȱ?ɮ????????Фɤ??̾??Ǥ?񤱤?ȸ??äƤ???Τ?Ʊ????</li></ul>
<blockquote><blockquote><p>??????֥??Ȥ???<strong>?ɤ?ʥץ???????񤯤??Ȥ??Բ?ǽ?ǤϤʤ?</strong>?Ȥ??äƤ???????Ǥ??????Բ?ǽ?ǤϤʤ??Τ????餳???Ȥ??ޤ??礦?פʤɤȤϰ??????äƤ??ʤ??????ֻȤ?????ǽ???ɤ??ʤ?פʤɤȤ???äƤ??ޤ???</p></blockquote></blockquote>
<p>?????֣??ס?</p>
<blockquote><blockquote><p>???ޤ??ˤ??????????򤬤ϤӤ??äƤ??ޤ????ʤ⤦??ǯ?????˴ְ㤤???Ȥ??????Ȥˤʤä??Τˡ?????</p></blockquote></blockquote>
<ul><li>OSASK?????????Τϥ?????֥?ǥ??ꥴ??񤤤??????</li>
<li>Linux??????C?ǽ񤫤?Ƥ???</li></ul>
<!--cc9b50f8--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h3>C++???㡪  <img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></h3>
<p>C++?Ƚ񤭤ޤ???????JAVA??D???????Ρֹ?????פȸƤФ???Τ????Τ??Ƥ??ޤ???</p>
<p>?褯K????ϡ?C++??JAVA???ɤ??ʤ???ʬ????ޤ????ʤ?ۤɡ?K????ϥ?????֥?Ȥ????????ʤΤǡ??????жˤȤ⤤???뤳???????줬??????ȡ?????????????Ϥ褯?ʤ??ȡ?</p>
<p>???????ޤ?????ϡ???????ϤȤ⤫????K????ϴְ㤤?ʤ?????ְ㤤?Ǥ???פȸ????Ǥ??礦??</p>
<p>?ʳ????⤷??ޤ??󤬡??Υ??????K?????ʹ???????Ȥ?????ޤ???</p>
<ul><li>???????絬?ϡ????Ȥ???emacs??⥸??Τ褦?ʥ??եȤ?OSASK?Ǻ???Ķ??????ä??Ȥ??ޤ????????餬??????????Ȼפä???ɤ?ʸ????????ޤ???????</li>
<li>??C++???????Ȼפ??ޤ??衣??</li>
<li>?֤??????ʳ???????????C???Ȼפä??ΤǤ????????????ʤ??Ǥ???????</li>
<li>?֤??äƳڤǤ??硩?????Τۤ?????</li></ul>
<p>K????ϡֹ????줬???饤?ʤΤǰ?????????פȻפäƤ???Τʤ餽?????ְ㤤?Ǥ??衣K????ϡ־??ʤ??Ȥ?OS?????Ǥ????ؤΤۤ???¿???פȸ??äƤ???????Ǥ???K?????OS??????Ϣ?κ?Ȥ?ġ???????Фä????äƤ???ΤǤ???????ȯ??????Ω?Ĥ????Ǥ???</p>
<!--ucb63d59--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h3>??ɡ?OS???????Ϥʤˤ??????????  <img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></h3>
<p>?ʤ?ۤɡ???äȤ?ʼ???Ǥ??͡????Ǥ???????</p>
<ul><li>?֤ޤ????Ρֲ????줬???????פȤ???ȯ?ۤ?ΤƤ뤳?Ȥ?????Ǥ???</li></ul>
<p>?ʤˡ?????̣???狼??ʤ??äơ????ǤϤ????????㤨?ä򤷤ޤ??礦??</p>
<ul><li>???ʥ??Ͽ??Ƥ??繩????Ǥ????Ȥ??????Ȥ??Ƥ??ޤ???</li>
<li>???繩?פȤ????Ż??ϲ?ɴǯ???????餢??Τ??ΤäƤ??ޤ???͡?</li>
<li>?Ρ????㤢???ͻ???Ȥ??ޤ??礦????</li>
<li>???κ????繩????Ϥ??ޤ????????Ȥ⤢??ޤ??????Ǥ⺣?ȤϤ?Τ??????㤤?ޤ????????礭?ʰ㤤?ϡ????ŵ????ʤ??ä??פ??ȤǤ??͡?</li>
<li>?Τ??ŵ????ʤ??ä??Τǡ???????ư????ϻȤ??ޤ???????????ʹ???Ϥ???ޤ???Ǥ?????</li>
<li>??????ΤϤɤ???äƲȤ???ƤƤ????ΤǤ??礦?????????ۤȤ?ɿ??ϤǤ???</li>
<li>?Ȥ?ƻ??⸶??Ū?Ͽ??Ϥ?ʪ?Ф???Ǥ??????Υ????ꡦ?Υߡ??ȥ󥫥???????</li>
<li>????ʸ???Ū??ƻ??Ǥ?äѤʲȤ???ƤƤ??ޤ????????äȤȤƤ????Ѥ??ä??Ǥ??礦??</li>
<li>???ơ?????Ǥ????ŵ??⤢??ޤ??????Ф餷????ư????⤢??ޤ????ȥ?å???ѥ????٥?⤢??ޤ??͡?</li>
<li><span style="color:blue">???Ƽ???Ǥ??????ʤ??Ϥ???ʸ?????繩????Ǥ????Ȥ???Ƥ褦?Ȥ???????ï?????????Τ????????ϤǤ?ä???Τ????ץ????繩?ʤ饪?ޥ?????ư????ʤɻȤ鷺?ˤ?äƤߤ??פȤ????ޤ????????ʥ??ʤ?ɤ??????ޤ?????</span></li>
<li>??????????????ֽ??Ԥ佬???̣?ʤ?Ȥ⤫??????ư????ǤǤ??뤳?Ȥ???ϤǤ??Τϥ??ۤǤ????</li>
<li><span style="color:blue">????ˤ???ʼ??䡣?֤???????2mm???????????ФƤ??롣???ä??Ǥ?4mm???餤?ڤ??Ф?ĥ?äƤ??롣???????Ƥۤ???????????ư?ϥ?ޡ????ŵ?????ʤǺ??Τ?????????</span></li>
<li>Ʊ????¾?οͤ??Τ?ޤ??󤬡???????ʤ?ֿ??ϤǴ?ñ?ˤǤ??뤳?Ȥ?̵?????ŵ??Ǥ??Τϥ??ۤǤ????</li></ul>
<p>?ޤ??֥??ۤǤ???פȤ????ΤϤ???äȸ??????????⤷??ޤ??󤬡???̣?ϲ??ޤ???͡????Ĥޤ?ʤ?餫?κ?Ȥ򤹤??硢<strong>???ƻ?????ꤷ?Ƥ???</strong>?Ȥ????Τ?????ž?ݤȤ??????ȤʤΤǤ????嵭???㤨?ä򤵤?˿ʤ??ȡ?</p>
<ul><li>????5mm???ڤ??????ڤꤿ?????????å????ʥ??ա??Υ????ꡦ??ư?Υ????졼???????å??????ɤ??Ȥ??Ȱ????᤯????????</li></ul>
<p>?Ȥ????դ??ˡ??ޤ???Ȥ????äơ????κ?Ȥμ¹Ԥ˰??ֳڤ????Τ??ᤤ??Τ?ͤ??Ƥ???Ȥ??Τ?????Ǥ???͡????????</p>
<ul><li>?Ȥˤ?????ư?Υ??????????ư?Υ??????Ȥ??Τ?????????????Ȥ??äƤ?????</li></ul>
<p>??????????Ϥɤ??ͤ??Ƥ⤪???????Ǥ???͡????ʽ??Ƥ?????????????äƤ??ä??Ҷ????㤢??ޤ?????</p>
<p>?ǽ?Ρ?<strong>?ޤ????Ρֲ????줬???????פȤ???ȯ?ۤ?ΤƤ뤳?Ȥ?????Ǥ?</strong>?Ȥ????ΤϤ?????????̣?ʤΤǤ???</p>
<p><span style="color:blue"><strong>???Ȥ??꤫???????ڤ??ݤ??ޤ????Ƥ??ʤ????????ʹ???</strong>?ʤ?¸?ߤ????ʤ??ΤϤ狼??ޤ???͡????????Ʊ?????ȡ???ǽ??<strong>???줵???ΤäƤ???Фʤˤ⤤??ʤ?</strong>?ʤ?Ƥ????????ޤ?¸?ߤ??ޤ??󡣤ޤ??Ƥ䡢OS????Ȥʤ?ȡ?????</span></p>
<p><span style="color:red">??????󡢽???䵻??Ū?ʥ????󥸡??¸??ʤɤǤ????Ԥ????ȤˤϤ?äѤ˰?̣??????ޤ??衣?????Ȥ?????äƤ??Ƥ????ƹԤ??Τʤ?С?????ʤ??褦?ˡ?</span></p>
<!--r4032b16--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h3>?Ǥ?K????Ϥʤ???????֥??C??Ȥä??Τ???  <img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></h3>
<p>OS????????ΤϤ?ܤ?OS??????ϼ?˥?????֥??C????Ǻ???Ƥ??ޤ?????OSASK?ʤ󤫤⤽???Ǥ??͡ˡ??Ǥϡ??ʤ???????֥?+C?ʤΤǤ??礦??????VB+JAVA?Ǥϥ???Ǥ??礦??????C++?????Ǻ?뤳?ȤϤǤ??ʤ??Ǥ??礦??????????</p>
<p>?ޤ?????????????ȡ?</p>
<ul><li>??????֥?ʤ???OS???뤳?Ȥϡ????ʤ??Ȥ?<strong>???ߤǤ?</strong>?Ǥ??ʤ?</li></ul>
<p>?Ȥʤ?ޤ?????ͳ?ϤȤƤ??ñ?ǡ?</p>
<ul><li>??????֥?ʳ??˥쥸????????յ???˥????????Ǥ?????줬?ʤ?????</li></ul>
<p>?Ǥ????ʤ⤷????Ф??äȻȤ??Ƥ??뤳?ȤǤ??礦??</p>
<p><span style="color:red">????Linux??C?ǽ񤫤?Ƥ???äơ????ۤ?Ȥ?Linux?Υ???????֡??Ȥλ??Ȥ߸??Ƥߤޤ?????</span></p>
<p>??????C??ȤäƤ?????ͳ?Ǥ???????????ܤˤ????Ƚ񤤤Ƥ???ޤ??衩</p>
<ul><li>1???????????ʤ??ƺѤ?Τǡ??ɤ?ۤ??⾯?ʤ??????ǺѤ?˳ڤ?????</li></ul>
<p>?Ǥ???????????Τ??ȤǤ????⤷C++??Ʊ???褦?˾??ʤ??????ǺѤ????ʤ顢?⤷????????K?????C++?ǽ񤤤Ƥ??????⤷??ޤ???衩</p>
<p><span style="color:red">?????????????C++?Τۤ?????ñ?˴???????</span></p>
<p><span style="color:blue">?ʹ֤Ϻǽ?˿??줿??Τ??ɤ??Ȥ??뷹????????ޤ???Machintosh??ǽ?˿??ä??ͤϡ֥ޥå??ϴ?ñ???פȸ???ĥ?ꡢWindows???????ä??ͤϡ֥ޥå??????ؤ????פȤ????ޤ????Ѹ???񤷤??????????ܸ?Τۤ????ऺ???????????????ɤä??⡢???ι?????ޤ??ä??ͤʤ?5?л??Ǥ⤷??٤?ޤ???????????Τ??ȤǤ????ʤ?ʤ??ˡ??Ϥ?ܤ?OS??C????ʬ??????C++???֤??????ƤߤƤ??????????????Ƥ??β????700?ڡ???????˼???뤳?Ȥ??Ǥ???Τʤ顢???ä?K?????֤?äȤ?????ˡ?????ä????פ?ǧ??뤳?ȤǤ??礦??</span></p>
<p><br /></p>
<p><span style="color:blue">;?̤Ǥ?????bayside??Ȥ???????????<strong>C++?ˤ?????</strong>??¸?????Ƥ??ޤ???(?????Ǥ?)???ְ㤨?ʤ??Ǥۤ????Τϡ???Ͼ??ʤ??Ȥ?Ϥ?ܤ?OS?Υ?????֥???ɤߡ?Ʊ????C?ǽ񤫤줿??ʬ???ɤ߲򤭡?????ˤ????C++???ִ??Ǥ???Ȥ????????˹⤤??٥?μ??Ϥ???ä????Ǥ???C++?????狼??ʤ??ʤ?????ǤϤʤ??ΤǸ???ʤ??褦?ˡ?</span></p>
<!--oec7cbfd--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h3>¾?θ???ϥ???ʤΡ?  <img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></h3>
<p>?Ȥ?Ǥ⤢??ޤ??󡣲??٤?????ޤ??????????Ը?????????????Ǥ????դˤ????ޤǰ?Ĥθ???ˤ??????Ȥ?????ͳ????ˤϤ狼??ޤ???</p>
<p>????繩?????????̤ꡢ?֤ɤ????Ƥ????ޤǤʤ?Ǥ⤫??Ǥ???ư?Υ?????Ǥ?ꤿ???Ρ??פȼ??䤷???????餤?Ǥ???</p>
<p>???????ޤ????Ȼפ??ޤ?????ñ??<strong>??¾?θ?????ٶ?????Τ????ݤ??????????</strong>????ʤ??Ǥ??礦?͡?</p>
<p>????ޤǽ񤤤??̤ꡢ??????֥??Ϥ??????ȤϤޤ??Ǥ??ޤ??󡣤????ʤ?ȡ????Υ?????֥?ǽ񤫤줿??ʬ?Ȥ??ޤ????????ƤǤ????????ñ??Ϣ?ȤǤ?????줬ɬ?פˤʤ?ޤ????դ˸????С?JAVA????????C++????????D??????????ȡ????줵???????з褷??<strong>?Ǥ??ʤ?</strong>???ȤϤʤ??Ϥ??Ǥ???</p>
<p>??????????????ĸ????뤳?ȡ??????餯?ͥå????Ǥ?C???줬??äȤ?˭?٤˲??⤵??Ƥ????????????Ȼפ??ޤ???????C????Ǥ??顢??????֥?Ȥ?Ϣ?Ȥ???ˡ??õ???Τϰ??ϫ?Ǥ?????</p>
<p>???JAVA????¾?θ???ˤĤ??Ƥ??ޤ?ܤ????ʤ??ΤǤ??????ɤ??Ǥ??礦?????ưפ˥?????֥?Ϣ?Ȥ??Ǥ???ΤǤ??礦???????????Ƥ??Τ???β???䥵??ץ뤬???Ĥ???ΤǤ??礦????</p>
<!--i4e02d0e--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h3>?ޤȤ?  <img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></h3>
<p>????̤?C????˾ܤ????櫓?ǤϤ???ޤ??󡣡ʤäƤ????????礷????????ϻ??äƤޤ????</p>
<p>?դˡ?????ʽ鿴?Ԥ??Ӥ??????????٤λ??????????ޤ???<strong>??ɤϥ?????֥?+C???줬???ֳڤ??᤯?Ƥ????˳ؽ??Ǥ???Τ?</strong>?ȡ?</p>
<p>JAVA??D????????¾?θ??졣??̣?Ϥ???ޤ??????????򥢥???֥?ȼ?ͳ??Ϣ?ȤǤ????٥?ޤ??ٶ????Ƥ??륦???ˡ??Ϥ?ܤ?OS?Ͻ???夬?äƤ??ޤ??ޤ??衣???äȡ?</p>
<p>bayside??Τ褦?˹⤤?????????˻??äƤ???ͤ????Τʤ?Ȥ⤫?????ֽ鿴?Ԥ?JAVA???ٶ????ʤ???OS????פΤϤȤƤ⺤????ȹͤ??ޤ???</p>
<p>????ʺ?????ΤǤ???ФäƤߤ褦?Ȥ???????????㤢?⤦???Ф餷???Ǥ????????????ȤǤ????ʥ???ߤȤ?????ʤ??Ǥ???ǰ?Τ??ᡣ?ޥ??ˤ??????Ȼפ???</p>
<p>???????Ǥ⡢???ͤ?JAVA???ٶ????Ƥ?äȽ????褦?ˤʤäƤ?????¾?θ???ʤ???ٶ????????ʤ??????ݤ?C?ʤ??ٶ??????ˤ??ޤ??????Τ?JAVA?ǡ??פʡ???ƹͤ??Ƥ???Τʤ顢<strong>?֤?᤿?ۤ????????衣?ܻ??֤??????뤫???</strong>?ȿʸ????????Ǥ??͡?</p>
<!--b4d8c63d--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h4>??­  <img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></h4>
<p>?嵭?Ρ???ñ?????ݤʤΤ??ΤäƤ????Ǥʤ?Ȥ????????פȤ?????ͳ?Τۤ??ˡ??֤??ޤɤ??ϡ????줫??ϡפȤ????????ܤ??Ǥ???Ƥ???ͤ⤤?뤫?⤷??ޤ???͡?</p>
<p>??¤???????֥??????Ȼظ??????Τ??ˤ????Ͽ???????ǰ?Ǥ????????Ƥ??Ф餷????ΤǤ⤢??ޤ???</p>
<p>?????????٤???˽Ф??ޤ???????ư?Υ??????ѥ????٥????ǽ?ǤϤ???ޤ???!!??</p>
<p>?ɤ?ʤ?ΤǤ?????Ը?????????ޤ????ޤ????????????ȤϤ??Ф餷?????ȤǤ????????????ǽ????³?Ȥ??̤Τ??ȤǤ???Ʊ????̣?ǡ??Ť????餢???Τ??????٤???ä???̵?̤ʤ?ΤȤ?¤?ʤ??ΤǤ???</p>
<p>???????θŤ??Τ?????ʪ??Ƚ?Ǥ???褦?Ǥ?<strong>ƻ??</strong>??Ȥ????ʤ????ȤϤ??äȤǤ??ʤ??Ǥ??礦??</p>
<p>~<br />
????Ȥ⤦??????<strong>??????</strong>??</p>
<ul><li>C???C++?Τۤ?????C++???JAVA?Τۤ????????????⤤????????֥?ϲ?????????????</li></ul>
<p>????????ơ?<strong>?¿?</strong>?Ǥ??衣</p>
<p>JAVA???Τ?ʤ?????C++?ʤ鲿?Ǥ???롪??????ʥץ?????ޤϤ?????Ǥ⤤?ޤ????ʤ?Ǥ???Ƥ??ޤ????Ф餷?????Ϥ???ä??ץ?????ޤǤ⡢?Τ?ʤ?????Ϥ?äѤ?狼??ޤ???</p><!--te7c72c5--></div>&#182;<!--ADD_TEXT_SEP-->
<p>C</p>&#182;<!--ADD_TEXT_SEP-->
<p>????????ְ㤤?Ǥ???פȹͤ??Ƥ??ޤ???</p></dd></dl><hr /><p><span style="color:red">ここはKタンに教えてもらったという名目で書いてますが、Kタンがそっくりそのまま言った言葉ではありません。いろいろ教えてもらったオイラが理解したことを書いてます。なので、Kタンの考えそのものと微妙に違っていたり、あるいはオイラが勘違いしているなんて場合もあるということです。なので、くれぐれも<strong>話半分</strong>で聞いておいてください。（そうしないと恥をかくのはアナタですヨン♪</span></p>
<hr />
<div>
<div>
 <div>
  ページ内コンテンツ
 </div>
 <div>
  <ul><li><ul><li> アセンブラ最高！ </li>
<li> C++最低！ </li>
<li> 結局、OSを作る言語はなにがいいんだ？ </li>
<li> ではKタンはなぜアセンブラとCを使ったのか？ </li>
<li> 他の言語はダメなの？ </li>
<li> まとめ 
<ul><li> 補足 </li></ul></li></ul></li></ul>
 </div>
</div>
<h3>アセンブラ最高！  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E3%82%B3%E3%83%A9%E3%83%A0%2F%E8%A8%80%E8%AA%9E%E3%81%AF%E3%81%AA%E3%81%AB%E3%81%8C%E3%81%84%E3%81%84%EF%BC%9F#cc9b50f8" title="cc9b50f8"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E3%82%B3%E3%83%A9%E3%83%A0%2F%E8%A8%80%E8%AA%9E%E3%81%AF%E3%81%AA%E3%81%AB%E3%81%8C%E3%81%84%E3%81%84%EF%BC%9F&amp;paraid=cc9b50f8" title="コラム/言語はなにがいい？#cc9b50f8 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="コラム/言語はなにがいい？#cc9b50f8 の編集" /> </a></h3>
<p>・・・大間違いである」と考えています。</p>
<ol><li><span style="color:blue">おかしいぞ！OS自作本の初期に、Kが自分でそう書いているじゃないか！</span></li>
<li><span style="color:blue">OSASKが機能が少ないといっても面白い性能を出すのはアセンブラのおかげだろう！。普通にCとかで書いたらKが批判?するLinuxと大して変わらない性能になるはずじゃないか！</span></li></ol>
<p>なるほど！。では説明。</p>
<p>まず、「1」ね。</p>
<blockquote><blockquote><p>もう一回よーく読んでみてください。OS自作本でKタンは、「アゼンブラ最<strong>強</strong>」とは書いていますが、「アセンブラ最<strong>高</strong>」とは書いてませんね？。</p></blockquote></blockquote>
<blockquote><blockquote><p>え？単なる言い回しだけだって？。本当に本読みました？。すこし先にちゃーんと書いてありますよね。</p></blockquote></blockquote>
<ul><li>「これは紙と鉛筆さえあればどんな名作でも書けると言っているのと同じ」</li></ul>
<blockquote><blockquote><p>アセンブラを使えば<strong>どんなプログラムを書くことも不可能ではない</strong>といっているだけです。「不可能ではないのだからこれを使いましょう」などとは一言も言っていないし、「使うと性能が良くなる」などとも言っていません。</p></blockquote></blockquote>
<p>次、「２」。</p>
<blockquote><blockquote><p>いまだにこういう誤解がはびこっています。（もう何年も前に間違いだということになったのに・・・</p></blockquote></blockquote>
<ul><li>OSASKが小さいのはアセンブラでゴリゴリ書いたからだ</li>
<li>Linuxは全てCで書かれている</li></ul>
<!--cc9b50f8--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h3>C++最低！  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E3%82%B3%E3%83%A9%E3%83%A0%2F%E8%A8%80%E8%AA%9E%E3%81%AF%E3%81%AA%E3%81%AB%E3%81%8C%E3%81%84%E3%81%84%EF%BC%9F#ucb63d59" title="ucb63d59"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E3%82%B3%E3%83%A9%E3%83%A0%2F%E8%A8%80%E8%AA%9E%E3%81%AF%E3%81%AA%E3%81%AB%E3%81%8C%E3%81%84%E3%81%84%EF%BC%9F&amp;paraid=ucb63d59" title="コラム/言語はなにがいい？#ucb63d59 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="コラム/言語はなにがいい？#ucb63d59 の編集" /> </a></h3>
<p>C++と書きましたが、JAVAやD言語等の「高級言語」と呼ばれるものを総称しています。</p>
<p>よくKタンは、C++やJAVAの良くない部分を語ります。なるほど、Kタンはアセンブラとかが好きなので、その対極ともいえるこれら高級言語が好かんと。そういう言語はよくないと。</p>
<p>・・・まずこれは、オイラはともかく、Kタンは間違いなく「大間違いである」と言うでしょう。</p>
<p>以外かもしれませんが、昔オイラはKタンに聞いたことがあります。</p>
<ul><li>「非常に大規模。たとえばemacsやモジラのようなソフトをOSASKで作れる環境が整ったとします。オイラがそれをやろうと思ったらどんな言語を薦めますか？」</li>
<li>「C++がいいと思いますよ。」</li>
<li>「おぉ！以外。せいぜいCかと思ったのですが・・・。なぜですか？」</li>
<li>「だって楽でしょ？。そのほうが」</li></ul>
<p>Kタンは「高級言語がキライなので悪口を言う」と思っているのならそれは大間違いですよ。Kタンは「少なくともOSを作る上では不便のほうが多い」と言っているだけです。KタンはOS作成関連の作業やツール作成ばっかりやっているのでそういう発言が目立つだけです。</p>
<!--ucb63d59--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h3>結局、OSを作る言語はなにがいいんだ？  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E3%82%B3%E3%83%A9%E3%83%A0%2F%E8%A8%80%E8%AA%9E%E3%81%AF%E3%81%AA%E3%81%AB%E3%81%8C%E3%81%84%E3%81%84%EF%BC%9F#r4032b16" title="r4032b16"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E3%82%B3%E3%83%A9%E3%83%A0%2F%E8%A8%80%E8%AA%9E%E3%81%AF%E3%81%AA%E3%81%AB%E3%81%8C%E3%81%84%E3%81%84%EF%BC%9F&amp;paraid=r4032b16" title="コラム/言語はなにがいい？#r4032b16 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="コラム/言語はなにがいい？#r4032b16 の編集" /> </a></h3>
<p>なるほど。もっともな質問ですね？。では答え。</p>
<ul><li>「まずその「何言語がいいか」という発想を捨てることが正解です」</li></ul>
<p>なに？。意味がわからないって？。ではこういう例え話をしましょう。</p>
<ul><li>アナタは新米の大工さんです。家を作ろうとしています。</li>
<li>「大工」という仕事は何百年も前からあるのは知っていますよね？</li>
<li>昔。じゃあ江戸時代としましょうか。</li>
<li>この頃も大工さんはいましたし、家もありました。でも今とはものすごく違います。一番大きな違いは、「電気がなかった」ことですね。</li>
<li>昔は電気がなかったので、当然電動工具は使えません。当然そんな工具はありませんでした。</li>
<li>そんな昔はどうやって家を建てていたのでしょう。そう。ほとんど人力です。</li>
<li>使う道具も原始的は人力の物ばかりでした。ノコギリ・ノミ・トンカチ・・・</li>
<li>こんな原始的な道具でりっぱな家を建てていました。きっととても大変だったでしょう。</li>
<li>さて。現代です。電気もあります。すばらしい電動工具もあります。トラックもパワーシャベルもありますね。</li>
<li><span style="color:blue">さて質問です。あなたはそんな現代の大工さんです。家を建てようとした時、誰かが、「昔は全部人力でやったものだ。プロの大工ならオマエも電動工具など使わずにやってみろ」といいました。アナタならどう答えますか？</span></li>
<li>オイラの答え。「修行や習作・趣味ならともかく、電動工具でできることを人力でやるのはアホである」</li>
<li><span style="color:blue">さらにこんな質問。「あそこに2mmだけクギが出ている。あっちでは4mmくらい木が出っ張っている。修正してほしいが当然電動ハンマーや電気カンナで削るのだろう？」</span></li>
<li>同じく他の人は知りませんが、オイラなら「人力で簡単にできることを無理に電気でやるのはアホである」</li></ul>
<p>まあ「アホである」というのはちょっと言いすぎかもしれませんが、意味は解りますよね？。つまりなんらかの作業をする場合、<strong>先に道具を決定しておく</strong>というのは本末転倒ということなのです。上記の例え話をさらに進めると、</p>
<ul><li>太さ5mmの木の棒を切りたいが、カッターナイフ・ノコギリ・電動ノコ・レーザーカッター。どれを使うと一番早くて便利？</li></ul>
<p>というふうに、まず作業があって、その作業の実行に一番楽で正確で早いものを考えてから使うのが正解ですよね？。これを、</p>
<ul><li>とにかく電動ノコギリだ。電動ノコギリを使うのだ！。さあ！作業をもってこい！</li></ul>
<p>・・・これはどう考えてもおかしいですよね？。（初めてすごい機械を買ってもらった子供じゃあるまいし）</p>
<p>最初の、<strong>まずその「何言語がいいか」という発想を捨てることが正解です</strong>というのはこういう意味なのです。</p>
<p><span style="color:blue"><strong>割り箸削りから大木切り倒しまで全てこなせる便利な工具</strong>など存在しえないのはわかりますよね？。それと同じこと。万能で<strong>これさえ知っていればなにもいらない</strong>なんていう言語もまた存在しません。ましてや、OSを作るとなると・・・</span></p>
<p><span style="color:red">もちろん、習作や技術的なチャレンジ・実験などでこれを行うことにはりっぱに意味がありますよ。ちゃんとそう解っていてあえて行うのならば。誤解なきように。</span></p>
<!--r4032b16--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h3>ではKタンはなぜアセンブラとCを使ったのか？  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E3%82%B3%E3%83%A9%E3%83%A0%2F%E8%A8%80%E8%AA%9E%E3%81%AF%E3%81%AA%E3%81%AB%E3%81%8C%E3%81%84%E3%81%84%EF%BC%9F#oec7cbfd" title="oec7cbfd"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E3%82%B3%E3%83%A9%E3%83%A0%2F%E8%A8%80%E8%AA%9E%E3%81%AF%E3%81%AA%E3%81%AB%E3%81%8C%E3%81%84%E3%81%84%EF%BC%9F&amp;paraid=oec7cbfd" title="コラム/言語はなにがいい？#oec7cbfd の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="コラム/言語はなにがいい？#oec7cbfd の編集" /> </a></h3>
<p>OS自作入門のはりぼてOS。これは主にアセンブラとC言語で作られています。（OSASKなんかもそうですね）。では、なぜアセンブラ+Cなのでしょうか？。VB+JAVAではダメでしょうか？。C++だけで作ることはできないでしょうか？？？。</p>
<p>まず結論から言うと、</p>
<ul><li>アセンブラなしでOSを作ることは、少なくとも<strong>現在では</strong>できない</li></ul>
<p>となります。理由はとても簡単で、</p>
<ul><li>アセンブラ以外にレジスタや周辺機器にアクセスできる言語がないから</li></ul>
<p>です。（もしあればきっと使われていることでしょう）</p>
<p><span style="color:red">え？LinuxはCで書かれているって？。ほんとにLinuxのソースやブートの仕組み見てみました？</span></p>
<p>そしてCを使っている理由ですが、これは本にちゃんと書いてありますよ？</p>
<ul><li>1番説明が少なくて済むので（読むほうも少ない説明で済む）楽だから</li></ul>
<p>です。それだけのことです。もしC++が同じように少ない説明で済む言語なら、もしかしたらKタンもC++で書いていたかもしれませんよ？</p>
<p><span style="color:red">ウソだ！オレはC++のほうが簡単に感じた！</span></p>
<p><span style="color:blue">人間は最初に触れたものを良しとする傾向があります。Machintoshを最初に触った人は「マックは簡単だ」と言い張り、Windowsから入った人は「マックは不便だ！」といいます。英語は難しい、いや日本語のほうがむずかしい。・・・どっちも、その国で生まれ育った人なら5歳児でもしゃべれます。それだけのことです。なんなら試しに、はりぼてOSのCの部分を全てC++に置き換えてみてください。そしてその解説を、700ページ以内に収めることができるのなら、きっとKタンも「もっといい方法があった。」と認めることでしょう。</span></p>
<p><br /></p>
<p><span style="color:blue">余談ですが、bayside氏という方がこの<strong>C++による実装</strong>を実現されています。<a href="http://haribote.org/index.php?bayside" title="haribote.org/index.php?bayside">(ここです)</a>。間違えないでほしいのは、氏は少なくともはりぼてOSのアセンブラを読み、同じくCで書かれた部分を読み解き、さらにそれをC++に置換できるという、非常に高いレベルの実力を持った方です。C++しかわかんないなんて方ではないので誤解なきように。</span></p>
<!--oec7cbfd--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h3>他の言語はダメなの？  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E3%82%B3%E3%83%A9%E3%83%A0%2F%E8%A8%80%E8%AA%9E%E3%81%AF%E3%81%AA%E3%81%AB%E3%81%8C%E3%81%84%E3%81%84%EF%BC%9F#i4e02d0e" title="i4e02d0e"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E3%82%B3%E3%83%A9%E3%83%A0%2F%E8%A8%80%E8%AA%9E%E3%81%AF%E3%81%AA%E3%81%AB%E3%81%8C%E3%81%84%E3%81%84%EF%BC%9F&amp;paraid=i4e02d0e" title="コラム/言語はなにがいい？#i4e02d0e の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="コラム/言語はなにがいい？#i4e02d0e の編集" /> </a></h3>
<p>とんでもありません。何度も言いますが、向き不向きがあるだけです。逆にそこまで一つの言語にこだわるという理由が私にはわかりません。</p>
<p>上の大工さんの例の通り、「どうしてそこまでなんでもかんでも電動ノコギリでやりたいの？」と質問したいくらいです。</p>
<p>・・・まさかと思いますが、単に<strong>「他の言語を勉強するのが面倒くさいから」</strong>じゃないでしょうね？</p>
<p>これまで書いた通り、アセンブラをはずすことはまずできません。そうなると、そのアセンブラで書かれた部分とうまく、そしてできるだけ簡単に連携できる言語が必要になります。逆に言えば、JAVAだろうとC++だろうとD言語だろうと、それさえ出来れば決して<strong>できない</strong>ことはないはずです。</p>
<p>・・・ただ、一つ言えること。おそらくネット等ではC言語がもっとも豊富に解説されている言語だろうと思います。そのC言語ですら、アセンブラとの連携の方法を探すのは一苦労でした。</p>
<p>私はJAVA等、他の言語についてあまり詳しくないのですが、どうでしょう？。容易にアセンブラ連携ができるのでしょうか？。そしてそのための解説やサンプルが見つかるのでしょうか？</p>
<!--i4e02d0e--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h3>まとめ  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E3%82%B3%E3%83%A9%E3%83%A0%2F%E8%A8%80%E8%AA%9E%E3%81%AF%E3%81%AA%E3%81%AB%E3%81%8C%E3%81%84%E3%81%84%EF%BC%9F#b4d8c63d" title="b4d8c63d"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E3%82%B3%E3%83%A9%E3%83%A0%2F%E8%A8%80%E8%AA%9E%E3%81%AF%E3%81%AA%E3%81%AB%E3%81%8C%E3%81%84%E3%81%84%EF%BC%9F&amp;paraid=b4d8c63d" title="コラム/言語はなにがいい？#b4d8c63d の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="コラム/言語はなにがいい？#b4d8c63d の編集" /> </a></h3>
<p>私は別にC言語に詳しいわけではありません。（っていうか、大したスキルは持ってません）</p>
<p>逆に、そんな初心者に毛の生えた程度の私だから言えます。<strong>結局はアセンブラ+C言語が一番楽で早くてすぐに学習できるのだ</strong>と。</p>
<p>JAVAやD言語等の他の言語。興味はありますが、それらをアセンブラと自由に連携できるレベルまで勉強しているウチに、はりぼてOSは出来上がってしまいますよ。きっと。</p>
<p>bayside氏のように高いスキルを既に持っている人がやるのならともかく、「初心者がJAVAを勉強しながらOSを作る」のはとても困難だと考えます。</p>
<p>そんな困難を承知でがんばってみようという方。そりゃあもうすばらしいです。すごいことです。（イヤミとかじゃないですよ念のため。マジにすごいと思う）</p>
<p>・・・でも、「僕はJAVAを勉強してやっと出来るようになってきた。他の言語なんて勉強したくない。面倒なCなど勉強せずにすませたいのでJAVAで！」なーんて考えているのなら、<strong>「やめたほうがいいよ。倍時間がかかるから」</strong>と進言したいですね。</p>
<!--b4d8c63d--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h4>補足  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E3%82%B3%E3%83%A9%E3%83%A0%2F%E8%A8%80%E8%AA%9E%E3%81%AF%E3%81%AA%E3%81%AB%E3%81%8C%E3%81%84%E3%81%84%EF%BC%9F#te7c72c5" title="te7c72c5"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E3%82%B3%E3%83%A9%E3%83%A0%2F%E8%A8%80%E8%AA%9E%E3%81%AF%E3%81%AA%E3%81%AB%E3%81%8C%E3%81%84%E3%81%84%EF%BC%9F&amp;paraid=te7c72c5" title="コラム/言語はなにがいい？#te7c72c5 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="コラム/言語はなにがいい？#te7c72c5 の編集" /> </a></h4>
<p>上記の、「単に面倒なので知ってる言語でなんとかしたい」という理由のほかに、「いまどきは・これからは」というお題目に毒されている人もいるかもしれませんね。</p>
<p>構造化・オブジェクト指向等、確かにこれらは新しい概念です。そしてすばらしいものでもあります。</p>
<p>しかし何度も例に出しますが、電動ノコギリやパワーシャベルは万能ではありません!!。</p>
<p>どんなものでも向き不向きがあります。また、新しいことはすばらしいことですが、それと万能・永続とは別のことです。同じ意味で、古くからあるものが時代遅れだったり無駄なものとも限らないのです。</p>
<p>新しいの古いのだけで物を判断するようでは<strong>道具</strong>を使いこなすことはきっとできないでしょう。</p>
<p>~<br />
それともう一点。<strong>可読性</strong>。</p>
<ul><li>CよりC++のほうが。C++よりJAVAのほうが可読性が高い。アセンブラは可読性が悪い。</li></ul>
<p>これは全て、<strong>迷信</strong>ですよ。</p>
<p>JAVAは知らないけどC++なら何でも作れる！。そんなプログラマはいくらでもいます。なんでも作れてしまうすばらしい実力を持ったプログラマでも、知らない言語はやっぱりわかりません。</p><!--te7c72c5--></div>


 ]]></content:encoded>
 <dc:identifier>http://thebbl.hideyosi.com/modules/zakki/index.php?%E3%82%B3%E3%83%A9%E3%83%A0%2F%E8%A8%80%E8%AA%9E%E3%81%AF%E3%81%AA%E3%81%AB%E3%81%8C%E3%81%84%E3%81%84%EF%BC%9F</dc:identifier>

</item>
<item rdf:about="http://thebbl.hideyosi.com/modules/zakki/index.php?%E5%A6%84%E6%83%B3%2FSHEET%E3%81%AE%E4%BA%8C%E6%AE%B5%E5%8C%96">
 <title>妄想/SHEETの二段化</title>
 <link>http://thebbl.hideyosi.com/modules/zakki/?%E5%A6%84%E6%83%B3%2FSHEET%E3%81%AE%E4%BA%8C%E6%AE%B5%E5%8C%96</link>
 <dc:date>2012-10-23T15:05:18+09:00</dc:date>
 <dc:creator></dc:creator>
 
 <description>アプリが作るシート。これを二段構えにしたい。
例えばアプリが100x100のウィンドゥを作るべくAPIを発注したとする。はりぼてのノーマル状態だと100x100のシートが用意され、ウィンドゥが描画される。
しかしこれはよくないのではないかと考え始めた。タイトルバーやフットバー等、アプリが直接手を出せない（つまりOSが管理する）範囲までアプリ側に任せてしまうのはどうかというのがそもそも。
しかし、そもそもシートに設置されているバッファはアプリの権限で用意されるしそうでなくてはならない。どうしたらよ</description>
 <content:encoded><![CDATA[
 <p>アプリが作るシート。これを二段構えにしたい。
<br />
例えばアプリが100x100のウィンドゥを作るべくAPIを発注したとする。はりぼてのノーマル状態だと100x100のシートが用意され、ウィンドゥが描画される。
<br />
しかしこれはよくないのではないかと考え始めた。タイトルバーやフットバー等、アプリが直接手を出せない（つまりOSが管理する）範囲までアプリ側に任せてしまうのはどうかというのがそもそも。
<br />
しかし、そもそもシートに設置されているバッファはアプリの権限で用意されるしそうでなくてはならない。どうしたらよいだろうか・・・</p>
<blockquote><p>いろいろと考えてみたが、とりあえずはこの方法しか思い浮かばなかった。つまりこういう状態にするわけ。</p></blockquote>
<div style=""><div><a href="http://thebbl.hideyosi.com/modules/zakki/?plugin=attach&amp;pcmd=upload&amp;filename=sht.jpg&amp;page=%E5%A6%84%E6%83%B3%2FSHEET%E3%81%AE%E4%BA%8C%E6%AE%B5%E5%8C%96" title="添付"><img src="http://thebbl.hideyosi.com/modules/zakki/image/file.png" width="20" height="20" alt="添付" title="添付">[添付]</a></div></div>

<p>こうすることそのもののやり方はまあ、ある程度想像はできるんだけど、こうなると一枚のウィンドゥを書くたび、裏のシートを書いて次に表を・・・と、今までの2倍時間がかかるはず。</p>
<p>それだけじゃない。バッファが倍（もしくは倍より少し多く）必要になり、メモリも喰う。いいことない・・・</p>
<p>そこで、バッファからvramに転送する部分を改良して、タイトルバーを越えてクライアント領域になったらパチンと転送元を切り替えてしまう。そんなのをのを妄想してみた。</p>
<p>・・・しかし、そうなるとクライアント領域と同じ大きさの、まったく使われない領域がバッファ内にできることになる（裏のシートのクライアント領域の位置）</p>
<p>これまたすごーく無駄でもったいないような気がしてきた・・・</p>
<div>
<div>
 <div>
  ページ内コンテンツ
 </div>
 <div>
  <ul><li><ul><li><ul><li> こんな方法はダメだろうか？ </li></ul></li></ul></li>
<li> 別の案 </li>
<li> 難しく考え杉？ 
<ul><li><ul><li> そうなると・・・ </li></ul></li></ul></li></ul>
 </div>
</div>
<h4>こんな方法はダメだろうか？  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E5%A6%84%E6%83%B3%2FSHEET%E3%81%AE%E4%BA%8C%E6%AE%B5%E5%8C%96#hd015d09" title="hd015d09"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E5%A6%84%E6%83%B3%2FSHEET%E3%81%AE%E4%BA%8C%E6%AE%B5%E5%8C%96&amp;paraid=hd015d09" title="妄想/SHEETの二段化#hd015d09 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="妄想/SHEETの二段化#hd015d09 の編集" /> </a></h4>
<p>あくまでも妄想のレベルなのだが・・・</p>
<ul><li>システムとしてシートを管理しているんだけど、実はシートはクライアント領域しかない。</li>
<li>システムがなんにもしないと、クライアント領域のものだけが描画されるような状態。（当然枠もタイトルバーもなにもないような状態）</li>
<li>システムがシートを描画する時に、自動で枠等をそのつど「描画する」</li>
<li>マウスがタイトルバー等をクリックした場合はどうするか？</li>
<li>システムが自動でそれを演算するだけ</li></ul>
<p>・・・これはでも、そうとう大掛かりな変更になるなぁ。でも、とにかく一旦、この路線でやってみるか・・・</p>
<p>挫折・・・・orz</p>
<p>くっそぉ・・・どーもうまくイカン・・・。マウスが重なった時の書き換えがより複雑になってしまうような・・・。</p>
<!--hd015d09--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h2>別の案  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E5%A6%84%E6%83%B3%2FSHEET%E3%81%AE%E4%BA%8C%E6%AE%B5%E5%8C%96#o93e5ecd" title="o93e5ecd"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E5%A6%84%E6%83%B3%2FSHEET%E3%81%AE%E4%BA%8C%E6%AE%B5%E5%8C%96&amp;paraid=o93e5ecd" title="妄想/SHEETの二段化#o93e5ecd の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="妄想/SHEETの二段化#o93e5ecd の編集" /> </a></h2>
<p>じゃ、これならどーーだ！！！</p>
<div style=""><div><a href="http://thebbl.hideyosi.com/modules/zakki/?plugin=attach&amp;pcmd=upload&amp;filename=sht2.jpg&amp;page=%E5%A6%84%E6%83%B3%2FSHEET%E3%81%AE%E4%BA%8C%E6%AE%B5%E5%8C%96" title="添付"><img src="http://thebbl.hideyosi.com/modules/zakki/image/file.png" width="20" height="20" alt="添付" title="添付">[添付]</a></div></div>

<!--o93e5ecd--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h2>難しく考え杉？  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E5%A6%84%E6%83%B3%2FSHEET%E3%81%AE%E4%BA%8C%E6%AE%B5%E5%8C%96#w67521e0" title="w67521e0"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E5%A6%84%E6%83%B3%2FSHEET%E3%81%AE%E4%BA%8C%E6%AE%B5%E5%8C%96&amp;paraid=w67521e0" title="妄想/SHEETの二段化#w67521e0 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="妄想/SHEETの二段化#w67521e0 の編集" /> </a></h2>
<p>・・・ここに来てふと思った・・・・</p>
<p>たとえばだけど、アプリからのウィンドゥへの書き込み。これを全て、APIを通してしか出来ないなんてしておけばOK？　もしかして？？？</p>
<p>そうすると・・・・openwin関数を改良。バッファはシステム側で用意してアドレスを返すとかしておけばいいのかな？？</p>
<p>えーっと・・・現在のopenwinは・・・</p>
<ul><li>EDX：5</li>
<li>EBX：ウィンドゥのバッファ</li>
<li>ESI：ウィンドゥのX方向の大きさ</li>
<li>EDI：ウィンドゥのY方向の大きさ</li>
<li>EAX：透明色</li>
<li>ECX：ウィンドゥの名前
<ul><li>戻り値：ウインドゥの番号</li></ul></li></ul>
<p>これを、</p>
<ul><li>EDX：5</li>
<li>ESI：ウィンドゥのX方向の大きさ</li>
<li>EDI：ウィンドゥのY方向の大きさ</li>
<li>EAX：透明色</li>
<li>ECX：ウィンドゥの名前</li>
<li>EBX：ウィンドゥの属性
<ul><li>戻り値：ウインドゥの番号
こうしちゃう。バッファはシステム側で用意する。（もちろん権限はシステムなので勝手に書き換えることはできない）</li></ul></li></ul>
<!--w67521e0--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h4>そうなると・・・  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E5%A6%84%E6%83%B3%2FSHEET%E3%81%AE%E4%BA%8C%E6%AE%B5%E5%8C%96#s0c59405" title="s0c59405"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E5%A6%84%E6%83%B3%2FSHEET%E3%81%AE%E4%BA%8C%E6%AE%B5%E5%8C%96&amp;paraid=s0c59405" title="妄想/SHEETの二段化#s0c59405 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="妄想/SHEETの二段化#s0c59405 の編集" /> </a></h4>
<p>こういうふうに改造すると、今度は当たり前だけどウィンドゥに物を書くことができない。なのでそういうことをするAPIが必要になるよね。</p>
<p>ええと・・・改造が必要なAPIは・・・</p>
<div ><table style=""><tbody><tr><td>api_putstrwin</td><td style="text-align:right;">0x06</td><td style="text-align:right;">文字列をウィンドウに描画</td><td>できた！</td></tr><tr><td>api_boxfilwin</td><td style="text-align:right;">0x07</td><td style="text-align:right;">矩形をウィンドウに描画</td><td>できた！</td></tr><tr><td style="text-align:left;">api_point</td><td>0x0B</td><td style="text-align:right;">点をウィンドウに描画</td><td>できた！</td></tr><tr><td style="text-align:left;">api_refreshwin</td><td>0x0C</td><td style="text-align:right;">ウィンドウ再描画</td><td>できた！</td></tr><tr><td>api_linewin</td><td style="text-align:right;">0x0D</td><td style="text-align:right;">線をウィンドウに描画</td><td>できた！</td></tr><tr><td>api_closewin</td><td style="text-align:right;">0x0E</td><td style="text-align:right;">ウィンドウを閉じる</td><td>できた！</td></tr></tbody></table></div>
<p>うーん。あと、ブロック転送するようなAPIほしいよね？</p>
<ul><li>EBX：転送元のポインタ（もしくは配列）</li>
<li>EAX：転送するシート</li>
<li>ESI：転送するY点</li>
<li>EDI：転送するX点</li>
<li>ECX：転送する幅</li>
<li>EBP：転送する高さ
<ul><li>戻り値：はみ出たかはみ出ないか</li></ul></li></ul>
<p>こんなの、どじゃろ？？？</p>
<p>よーし。在来のAPIの改良はこれでいいかな・・・・</p>
<p>ブロック転送APIを作るか。</p>
<p>api_blocksend</p>
<ul><li>EDX：120</li>
<li>EBX：転送元のポインタ（もしくは配列）</li>
<li>EAX：転送するシート</li>
<li>ESI：転送するY点</li>
<li>EDI：転送するX点</li>
<li>ECX：転送する幅</li>
<li>EBP：転送する高さ
<ul><li>戻り値：はみ出たかはみ出ないか</li></ul></li></ul>
<p>でけた〜！！</p><!--s0c59405--></div>


 ]]></content:encoded>
 <dc:identifier>http://thebbl.hideyosi.com/modules/zakki/index.php?%E5%A6%84%E6%83%B3%2FSHEET%E3%81%AE%E4%BA%8C%E6%AE%B5%E5%8C%96</dc:identifier>

</item>
<item rdf:about="http://thebbl.hideyosi.com/modules/zakki/index.php?%E5%A6%84%E6%83%B3%2F%E3%82%A4%E3%83%B3%E3%83%99%E3%83%BC%E3%83%80%E3%83%BC%E8%80%83%E5%AF%9F">
 <title>妄想/インベーダー考察</title>
 <link>http://thebbl.hideyosi.com/modules/zakki/?%E5%A6%84%E6%83%B3%2F%E3%82%A4%E3%83%B3%E3%83%99%E3%83%BC%E3%83%80%E3%83%BC%E8%80%83%E5%AF%9F</link>
 <dc:date>2012-10-23T15:05:18+09:00</dc:date>
 <dc:creator></dc:creator>
 
 <description>インベーダーをプログラムしてる。だいぶ出来上がってきたのだが、どうも砲台の動きが渋い・・・
今現在のオイラのコードだと、forを使ってメインのループをつくり、その中でgetkeyでキーを読み取り、52だったら右へ54だったら左へという処理をしている。
しかしこれだと動き始めでワンテンポひっかかるのだ。
どうしたらいいだろう・・・・
</description>
 <content:encoded><![CDATA[
 <p>インベーダーをプログラムしてる。だいぶ出来上がってきたのだが、どうも砲台の動きが渋い・・・</p>
<p>今現在のオイラのコードだと、forを使ってメインのループをつくり、その中でgetkeyでキーを読み取り、52だったら右へ54だったら左へという処理をしている。</p>
<p>しかしこれだと<strong>動き始め</strong>でワンテンポひっかかるのだ。</p>
<p>どうしたらいいだろう・・・・</p>

 ]]></content:encoded>
 <dc:identifier>http://thebbl.hideyosi.com/modules/zakki/index.php?%E5%A6%84%E6%83%B3%2F%E3%82%A4%E3%83%B3%E3%83%99%E3%83%BC%E3%83%80%E3%83%BC%E8%80%83%E5%AF%9F</dc:identifier>

</item>
<item rdf:about="http://thebbl.hideyosi.com/modules/zakki/index.php?%E5%A6%84%E6%83%B3%2F%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A5%E3%83%AA%E3%82%B5%E3%82%A4%E3%82%BA">
 <title>妄想/ウィンドゥリサイズ</title>
 <link>http://thebbl.hideyosi.com/modules/zakki/?%E5%A6%84%E6%83%B3%2F%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A5%E3%83%AA%E3%82%B5%E3%82%A4%E3%82%BA</link>
 <dc:date>2012-10-23T15:05:18+09:00</dc:date>
 <dc:creator></dc:creator>
 
 <description>FrontPage
ウィンドゥを持つGUIは大抵これを装備しているよねぇ。
我がザビたんもそーゆーのできないもんかなぁ・・・
ちょっと妄想してみる。
例えばウィンドゥ。現状のはりぼてではウィンドゥが作られる時点で大きさを決定or決め打ちしてるよね？。そのため、バッファも確保している。
仮にだけど、これを常に画面の最大サイズとして確保したらどーなるだろ？？
画素が16ビット(256色）モードだと過程すると・・・・
1枚のSHEETに必要なメモリは640x480×2バイトだから・・・150KBかぁ・</description>
 <content:encoded><![CDATA[
 <p><a href="http://thebbl.hideyosi.com/modules/zakki/" title="FrontPage (2d)">FrontPage</a></p>
<p>ウィンドゥを持つGUIは大抵これを装備しているよねぇ。</p>
<p>我がザビたんもそーゆーのできないもんかなぁ・・・</p>
<p>ちょっと妄想してみる。</p>
<p>例えばウィンドゥ。現状のはりぼてではウィンドゥが作られる時点で大きさを決定or決め打ちしてるよね？。そのため、バッファも確保している。</p>
<p>仮にだけど、これを<strong>常に画面の最大サイズ</strong>として確保したらどーなるだろ？？</p>
<p>画素が16ビット(256色）モードだと過程すると・・・・</p>
<p>1枚のSHEETに必要なメモリは640x480×2バイトだから・・・150KBかぁ・・・
シートを50枚作るとすると・・・約7MB・・・　うーーーん・・・</p>
<p>可変が起こったら別にメモリを確保して、一気にコピー！　そしてシートのアドレスをドンと切り替えてしまう！！！</p>
<p>・・・速度的にはどうなんだろう・・・</p>
<p>また、オイラにそんな高度なことができるだろうか・・・</p>
<p>まあいいや。</p>
<p>とにもかくにもちょっとやってみよう。</p>
<p>・・・ええと・・・まずは・・・・・</p>
<p>SHEETに、現在の大きさ・最大の大きさというパラメータを付け加えてみよう。</p>
<p>・・・それと・・・</p>
<p>現在、はりぼての設計では256枚シートが作れる。で、この中に特別なシートがあるよね。</p>
<p>マウスのシート。こいつだけは別格で、絶対にこれの上にシートがこないようになっている。（つまりマウスの上にシートなりウィンドゥがこない）</p>
<p>こういうシートをもう一枚設けてみる。マウスのシートのすぐ下。かならずマウスの<strong>１個だけ下</strong>になるシートと・・・
（これはなんのためか。いずれ搭載したいメニューとウィンドィの可変時に描画される四角を書く為）</p>
<p>・・・うーむ。そうなると、ウインドィにカッコだけでも可変ポイントを設けないといけないなぁ・・・</p>
<p>うはぁ！！　そういう所いじってたけど、現状のはりぼての設計だとちょっと問題が・・・</p>
<p>ウィンドゥの大きさとはどこの大きさのことか？　の定義があいまいだなぁ・・・</p>
<p>ちょっと一旦、新しいmake_window関数を考えてみる。</p>
<p>現状、窓を作る手続きはというと・・・（open_consoleの内容から）</p>
<ol><li>まずSHEETをallocする</li>
<li>SHEETに使うバッファをallocする</li>
<li>バッファ用のメモリを確保する</li>
<li>確保したメモリをSHEETに接続する</li>
<li>make_window8関数でバッファの中に窓を作る</li></ol>
<p>こんなところだよね？</p>
<p>うーん。これを一発で出来るようにするには・・・</p>
<p>WINDOWという構造体を作ってそこで一括管理するってーのはどうだろう？？</p>
<p>SHEETはSHEETで管理しなくちゃいけない。（マウス等ウィンドゥじゃないシートが当然存在するんだろうから）</p>
<p>うーむ。そう妄想すると、こんな感じかなぁ？？？</p>
<div><pre>struct WINDOW {
       struct SHEET sheet;        //使っているシート
       struct TASK  task;         //どのタスクに所属しているか？
       int c_xsize;               //クライアント領域の横サイズ
       int c_ysize;               //クライアント領域の横サイズ
       char have_tb;              //タイトルバーを所有しているか？
       char have_fr;              //フレームを所有しているか？
       char have_fb;              //フットバーを所有しているか？
}</pre></div>
<p>あっれえぇ？</p>
<p>ちょっとうまくいかないなぁ・・・</p>
<div>
<h4>リビジョン110  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E5%A6%84%E6%83%B3%2F%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A5%E3%83%AA%E3%82%B5%E3%82%A4%E3%82%BA#tb897aac" title="tb897aac"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E5%A6%84%E6%83%B3%2F%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A5%E3%83%AA%E3%82%B5%E3%82%A4%E3%82%BA&amp;paraid=tb897aac" title="妄想/ウィンドゥリサイズ#tb897aac の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="妄想/ウィンドゥリサイズ#tb897aac の編集" /> </a></h4>
<p>えっと・・・とりあえずこんなもんかな？？？？</p>
<p>さて。次。</p>
<p>マウス直下にもうひとつ、特別なシートを設定と。</p>
<p>えーっと。シートってどうなってたっけ。</p><!--tb897aac--></div>


 ]]></content:encoded>
 <dc:identifier>http://thebbl.hideyosi.com/modules/zakki/index.php?%E5%A6%84%E6%83%B3%2F%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A5%E3%83%AA%E3%82%B5%E3%82%A4%E3%82%BA</dc:identifier>

</item>
<item rdf:about="http://thebbl.hideyosi.com/modules/zakki/index.php?%E4%BB%AE%E6%83%B386%E3%83%A2%E3%83%BC%E3%83%89">
 <title>仮想86モード</title>
 <link>http://thebbl.hideyosi.com/modules/zakki/?%E4%BB%AE%E6%83%B386%E3%83%A2%E3%83%BC%E3%83%89</link>
 <dc:date>2012-10-23T15:05:17+09:00</dc:date>
 <dc:creator></dc:creator>
 
 <description>386以降のCPUが持っているモード。
 
  ページ内コンテンツ
 
 
   オベンキョ！ 
 具体的に！！！ 
 セグメントの簡単な復習 
 問題点！ 
 
オベンキョ！    
いろいろ細かいことがあるが、ようするに、32ビット化（プロテクトモード）したマシンで、あるセグメントを「お前は8086と同じ動作をしろ！」と命令することができるモード。
CPUは起動時には16ビット状態（リアルモード）である。この状態だとMS-DOS等が動かせる。また、BIOS等、リアルモードでないと動作しないも</description>
 <content:encoded><![CDATA[
 <p>386以降のCPUが持っているモード。</p>
<div>
<div>
 <div>
  ページ内コンテンツ
 </div>
 <div>
  <ul><li> オベンキョ！ 
<ul><li> 具体的に！！！ 
<ul><li> セグメントの簡単な復習 </li>
<li> 問題点！ </li></ul></li></ul></li></ul>
 </div>
</div>
<h2>オベンキョ！  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E4%BB%AE%E6%83%B386%E3%83%A2%E3%83%BC%E3%83%89#ma1079d4" title="ma1079d4"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E4%BB%AE%E6%83%B386%E3%83%A2%E3%83%BC%E3%83%89&amp;paraid=ma1079d4" title="仮想86モード#ma1079d4 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="仮想86モード#ma1079d4 の編集" /> </a></h2>
<p>いろいろ細かいことがあるが、ようするに、32ビット化（プロテクトモード）したマシンで、あるセグメントを「お前は8086と同じ動作をしろ！」と命令することができるモード。</p>
<p>CPUは起動時には16ビット状態（リアルモード）である。この状態だとMS-DOS等が動かせる。また、BIOS等、リアルモードでないと動作しないものも動く。</p>
<p>しかし一旦プロテクトモードになるとこうはいかない。処々細かい意見はあるだろうが、CPUがいきなり変わってしまったのと同じくらい変化してしまうので、MS-DOS、またそれ上で動くようプログラムされたソフトは動かなくなってしまう。
（PS2でゲームをやっていた。あるスイッチを押すと、中身がポン！とX-BOXに変わってしまうようなもの。当然中に入っていて今まで動いていたバイオハザードは動かなくなってしまうよね？）</p>
<p>BIOSも同じである。</p>
<p>どうしても16ビット用のソフトを動かしたい、BIOSを呼び出したいと言う場合。普通に考えれば、32ビットモードから再び16ビットモードに戻ればいいということになる。
しかしこれそのものは可能だが、BIOSなりMS-DOSのソフトなりを実行し終えたあと、再び32ビットモードに戻したとしても、元には戻らない。つまり、電源スイッチを押したのよりちょっとだけ早いと、そんな程度である。</p>
<p>そこで386CPUは32ビットになった時、あるセグメントにあるスイッチを入れておくと、そこだけが16ビットとして動く。そんな仕組みを搭載している。これが仮想86モード。</p>
<p>ちょうど、WindowsVISTAのある窓でMSXのシュミレータが動いている。そんな感じを想像してもらうとわかりやすいかも。</p>
<!--ma1079d4--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h3>具体的に！！！  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E4%BB%AE%E6%83%B386%E3%83%A2%E3%83%BC%E3%83%89#d6f6b06e" title="d6f6b06e"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E4%BB%AE%E6%83%B386%E3%83%A2%E3%83%BC%E3%83%89&amp;paraid=d6f6b06e" title="仮想86モード#d6f6b06e の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="仮想86モード#d6f6b06e の編集" /> </a></h3>
<!--d6f6b06e--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h4>セグメントの簡単な復習  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E4%BB%AE%E6%83%B386%E3%83%A2%E3%83%BC%E3%83%89#c2aefb11" title="c2aefb11"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E4%BB%AE%E6%83%B386%E3%83%A2%E3%83%BC%E3%83%89&amp;paraid=c2aefb11" title="仮想86モード#c2aefb11 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="仮想86モード#c2aefb11 の編集" /> </a></h4>
<ul><li>386以降CPU（以下x86と呼称）はCPUそのものにマルチタスクを行うための機能が搭載されている。</li>
<li>しかし、マルチタスクは別に並行して同時に動作をできるわけではないのだ。別々の処理を高速に切り替えて行えるというだけである。</li>
<li>たとえばメモリが0x0000〜0xFFFFまで搭載されていたとする。</li>
<li>そんなマシンで萌え絵を描きながら（<span>PhotoShop<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=PhotoShop&amp;refer=%E4%BB%AE%E6%83%B386%E3%83%A2%E3%83%BC%E3%83%89" title="PhotoShop の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span>）、鉄人タイガーセブンの歌を聞きながら（Winamp）、愛と勇気とかしわもち(パズルゲーム）をやりたいとする。</li>
<li>0x0000〜0x0FFFまではOSが使用する。そうなると、ソフトが使うことができるメモリは0x1000〜0xFFFFとなる。</li>
<li>ならば、0x1000〜0x1FFFを<span>PhotoShop<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=PhotoShop&amp;refer=%E4%BB%AE%E6%83%B386%E3%83%A2%E3%83%BC%E3%83%89" title="PhotoShop の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span>が。0x2000〜0x2FFFをWinampが。0x3000〜0x3FFFをカシワモチが使う。そしてOSは、これを高速に切り替えてくれる。これなら3つのソフトはまるで同時に動いているように扱える。ばんざーーい！</li></ul>
<p>・・・・・　orz　・・・・　問題発生 ・・・・・・</p>
<!--c2aefb11--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h4>問題点！  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E4%BB%AE%E6%83%B386%E3%83%A2%E3%83%BC%E3%83%89#d54213d7" title="d54213d7"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E4%BB%AE%E6%83%B386%E3%83%A2%E3%83%BC%E3%83%89&amp;paraid=d54213d7" title="仮想86モード#d54213d7 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="仮想86モード#d54213d7 の編集" /> </a></h4>
<ul><li>使う番地が固定じゃ困る!
<ul><li>上記の方法だと、カシワモチはかならず0x3000に読み込まれないといけない。だって、プログラムする時困るじゃない！</li>
<li>「カシワモチは0x3000」と決められちゃうと、カシワモチをやらない人のマシンは困る！　どんなに新型のマシンを買ってきてメモリを増やしても、0x3000〜0x3FFFはポカーンと空いたまま、だれにも使われない。</li></ul></li>
<li>侵略された！
<ul><li>0x1000〜0x1FFFを使っている<span>PhotoShop<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=PhotoShop&amp;refer=%E4%BB%AE%E6%83%B386%E3%83%A2%E3%83%BC%E3%83%89" title="PhotoShop の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span>。大きな画像を扱っているので、つい、0x2100まで使っちゃった！　さあ大変。いままで動いていたWinampが急におかしくなっちゃった！</li></ul></li></ul>
<p>・・・こんなふうに、ちょっと考えただけでも大問題発生。そこでこういったことをなんとかしようとしてOSが進化して行った。同時にそんなOSの動きを補助しようとCPUにもそういった命令が搭載されていった。</p><!--d54213d7--></div>


 ]]></content:encoded>
 <dc:identifier>http://thebbl.hideyosi.com/modules/zakki/index.php?%E4%BB%AE%E6%83%B386%E3%83%A2%E3%83%BC%E3%83%89</dc:identifier>

</item>
<item rdf:about="http://thebbl.hideyosi.com/modules/zakki/index.php?%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF%E5%BE%A9%E7%BF%92">
 <title>マルチタスク復習</title>
 <link>http://thebbl.hideyosi.com/modules/zakki/?%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF%E5%BE%A9%E7%BF%92</link>
 <dc:date>2012-10-23T15:05:17+09:00</dc:date>
 <dc:creator></dc:creator>
 
 <description>OS自作入門はとりあえず一通り終わったんだけど、どうもオイラはタスクの理解が甘いようだ。ちょっとこれだけにスポットを当ててもう一回復習してみよう。
 
  ページ内コンテンツ
 
 
   15日目 
 どこに退避させる？？ 
 tssの作成&amp;amp;登録 
 タスクの準備 
 準備完了！　タスクスイッチ！ 
 P298のタスク戻し 
 自動的にタスクを行き来 
 自動タスクスイッチ 
 
15日目    
CPUは「切り替えろ！」と命令がくると、レジスタのほぼ全てをメモリに書き出す。（退避させ</description>
 <content:encoded><![CDATA[
 <p>OS自作入門はとりあえず一通り終わったんだけど、どうもオイラはタスクの理解が甘いようだ。ちょっとこれだけにスポットを当ててもう一回復習してみよう。</p>
<div>
<div>
 <div>
  ページ内コンテンツ
 </div>
 <div>
  <ul><li><ul><li> 15日目 
<ul><li> どこに退避させる？？ </li>
<li> tssの作成&amp;登録 </li>
<li> タスクの準備 </li>
<li> 準備完了！　タスクスイッチ！ </li>
<li> P298のタスク戻し </li>
<li> 自動的にタスクを行き来 </li>
<li> 自動タスクスイッチ </li></ul></li></ul></li></ul>
 </div>
</div>
<h3>15日目  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF%E5%BE%A9%E7%BF%92#ldbcdc6e" title="ldbcdc6e"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF%E5%BE%A9%E7%BF%92&amp;paraid=ldbcdc6e" title="マルチタスク復習#ldbcdc6e の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="マルチタスク復習#ldbcdc6e の編集" /> </a></h3>
<ul><li>CPUは「切り替えろ！」と命令がくると、レジスタのほぼ全てをメモリに書き出す。（退避させるというほうがいいかも）</li></ul>
<ul><li>そして今度は、切り替わるべき別のタスク用のレジスタ内容を一気に読み込んでしまう。</li></ul>
<ul><li>最期に、eip（次は何番地のメモリの命令を読み込んで実行するか？）の値をその新しいタスク用のものにパチンと切り替える。</li></ul>
<ul><li>これで次の命令からは、あたかもずーっとその仕事をしていたかのように動作を始める。</li></ul>
<ul><li>これを高速に交互に行うのがマルチタスク</li></ul>
<!--ldbcdc6e--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h4>どこに退避させる？？  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF%E5%BE%A9%E7%BF%92#l7bf7e72" title="l7bf7e72"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF%E5%BE%A9%E7%BF%92&amp;paraid=l7bf7e72" title="マルチタスク復習#l7bf7e72 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="マルチタスク復習#l7bf7e72 の編集" /> </a></h4>
<ul><li>退避先のメモリはどこでもいいわけではない。あるフォーマットと属性で作られた、専用のセグメントを使わないといけない。この特殊なセグメントをtssという。</li></ul>
<ul><li>tssはCPU内部のレジスタのほぼ全てを退避できる量（逆に言えばそれ以上の余計な量は必要ない）を確保する。通常104バイト。内訳は</li></ul>
<div><pre>struct TSS32 {
      int backlink,esp0,ss0,esp1,ss1,esp2,ss2,cr3;     /*タスクの状態を表すもの
      int eip,eflags,eax,ecx,edx,ebx,esp,ebp,esi,edi;  /*通常のレジスタ
      int es,cs,ss,ds,fs,gs;                           /*  〃 （16ビットのもの）
      int ldtr,iomap;　　　　　　　　　　　　　　　　　/*タスクの状態を表すもの
}</pre></div>
<ul><li>tssは切り替わるタスクの退避場所なので、素直に考えると、タスクが10個平行して動く場合はtssも10個用意するべきもの。</li></ul>
<!--l7bf7e72--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h4>tssの作成&amp;登録  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF%E5%BE%A9%E7%BF%92#h0836893" title="h0836893"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF%E5%BE%A9%E7%BF%92&amp;paraid=h0836893" title="マルチタスク復習#h0836893 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="マルチタスク復習#h0836893 の編集" /> </a></h4>
<ul><li>先に書いたように、tssはセグメントの一種。なので、作成や登録はセグメント管理部分であるGDTに書き込みを行うことで実現する。</li></ul>
<ul><li>tssの作成と登録の実際
<div><pre>struct TSS32 tss_a,tss_b;   /*構造体として親切する

tss_a.ldtr = 0;             /*ldtrとiomapはとりあえずこの数値にする。
tss_a.iomap = 0x40000000;
tss_b.ldtr = 0;
tss_b.iomap = 0x40000000;

/*gdtへの登録
set_segmdesc(gdt + 3,103,(int) &amp;tss_a,AR_TSS32);   /*それぞれ、GDT3番と4番に
set_segmdesc(gdt + 4,103,(int) &amp;tss_a,AR_TSS32);   /*登録した。</pre></div></li></ul>
<p><span style="color:red"><strong>疑問点:</strong>一つのタスクにはそれぞれtssとメモリ空間が必要。で、tssはセグメント。メモリ空間も当然セグメント。ということは、理屈ではタスクは4,095個以上は絶対に作れないということでOKなのか？</span></p>
<!--h0836893--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h4>タスクの準備  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF%E5%BE%A9%E7%BF%92#v2c835d5" title="v2c835d5"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF%E5%BE%A9%E7%BF%92&amp;paraid=v2c835d5" title="マルチタスク復習#v2c835d5 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="マルチタスク復習#v2c835d5 の編集" /> </a></h4>
<ul><li>タスクという概念で考えると、現在動いている部分とてタスクとなる。（つまり、一つ目のタスクということになる）</li></ul>
<ul><li>これまではマルチタスクではなかったので意識していなかったが、一番最初にやらなくてはならないことは、「俺も実はタスク！　で、オレが動いているセグメントは2番！」ということのほかに、「俺が動いているタスクの退避用tssはセグメントの3番だよ！」という登録をしてやらないといけない。</li></ul>
<ul><li>そこで、load_tr(3 * 8）関数を実行する。これにより、「俺が動いているタスクの退避用tssはセグメントの3番だよ！」という設定になる。（言い方を変えれば、このタスクが別のタスクに切り替わる時には、セグメント3番のtssに退避される）</li></ul>
<ul><li>タスクを複数用意しなければ当然切り替えなどできない。</li></ul>
<ul><li>タスクは仕事を続けるものでないといけない。（一つ仕事をしてすぐ終わってしまうのでは単なる関数）</li></ul>
<ul><li>通常はなんらかのループ構造にするもの。たとえば
<div><pre>void task_b_main(void){
     for(;;){io_hlt();}
}</pre></div></li></ul>
<ul><li>よし！　これでOKだ！　と思うがそうではない。task_bにはまだ準備がいる。</li>
<li>まず、そもそもtask_bは<strong>まだ一度も動いていない</strong>のだ。最初の切り替わりで始めて動き出す。しかも、その最初の動作時も「切り替わり」なのだから、tss4からドバっとレジスタの値を読み込んで動き始める。tss4にはまだいい加減な数字しか入っていない。（これでは切り替わった瞬間に暴走の危険がある）</li></ul>
<ul><li>そのため、とりあえず各レジスタの初期値を設定しておく。また、タスク、そもそもこのタスクに切り替わった場合、どこを実行するのかやスタックなどの設定も調整しておかなくてはならない。</li></ul>
<div><pre>P296の初期設定
tss_b.eip = (int) &amp;task_b_main;　　/* 関数task_b_mainの先頭アドレス


/* これはtask_b専用のスタックの設定。mamman_allocと使い64kbを確保。
/* 後ろの計算式はスタックの最終番地を計算したもの
int task_b_esp;
task_b_esp = memman_alloc_4k(memman,64*1024)+64*1024;
tss_b.esp = tssk_b_esp;


tss_b.eflags = 0x00000202;　　　/*？？？　どういう意味だ？

tss_b.eax = 0;　　　/*　通常の各レジスタの初期値。
tss_b.ecx = 0;
tss_b.edx = 0;
tss_b.ebx = 0;
tss_b.ebp = 0;
tss_b.esi = 0;
tss_b.edi = 0;
　
tss_b.cs = 2 * 8;    /*　task_bはGDT2番のセグメントでプログラムを実行する。
                     /*　今回は単に面倒なので。もちろん別に用意してもいい。
tss_b.es = 1 * 8;　　/*　同じ理由でGDTの1番を使用する。
tss_b.ss = 1 * 8;
tss_b.ds = 1 * 8;
tss_b.fs = 1 * 8;
tss_b.gs = 1 * 8;</pre></div>
<!--v2c835d5--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h4>準備完了！　タスクスイッチ！  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF%E5%BE%A9%E7%BF%92#lb65bb25" title="lb65bb25"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF%E5%BE%A9%E7%BF%92&amp;paraid=lb65bb25" title="マルチタスク復習#lb65bb25 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="マルチタスク復習#lb65bb25 の編集" /> </a></h4>
<ul><li>ここまでできれば、あとはtaskswich4関数（中身は単にアセンブラでfarJumpしているだけ。切り替えたいタスクのtss（task_bは4番）にfarJumpする。</li></ul>
<!--lb65bb25--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h4>P298のタスク戻し  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF%E5%BE%A9%E7%BF%92#abc9a649" title="abc9a649"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF%E5%BE%A9%E7%BF%92&amp;paraid=abc9a649" title="マルチタスク復習#abc9a649 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="マルチタスク復習#abc9a649 の編集" /> </a></h4>
<ul><li>これは説明するまでもない。解る。</li></ul>
<p><span style="color:red"><strong>疑問点:</strong>タスクはかならずしもメモリを別セグメントにして動かすとは限らないことが上記の簡易切り替えで解った。そうなるとメモリ用に1個として、理屈ではタスクは8,190個以上は絶対に作れないということでOKなのか？</span></p>
<!--abc9a649--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h4>自動的にタスクを行き来  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF%E5%BE%A9%E7%BF%92#yf41a433" title="yf41a433"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF%E5%BE%A9%E7%BF%92&amp;paraid=yf41a433" title="マルチタスク復習#yf41a433 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="マルチタスク復習#yf41a433 の編集" /> </a></h4>
<ul><li>P300のソースはわかりやすい。<span>HariMain<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=HariMain&amp;refer=%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF%E5%BE%A9%E7%BF%92" title="HariMain の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span>がtask_a。task_b_mainはtask_bと見る。</li>
<li>実際のソースよりすこし整理して端折ったソースを載せる。</li></ul>
<div><pre>void HariMain(void)
{
　　　　（中略）

　　　　/*タイマー timer_tsを新設。*/
	struct TIMER *timer, *timer2, *timer3, *timer_ts;
 
　　　　（中略）

　　　　/*新設したタイマーを初期化*/
	timer_ts = timer_alloc();
	timer_init(timer_ts, &amp;fifo, 2);　/* タイムアウトしたら「２」をFIFOに送るよう設定
	timer_settime(timer_ts, 2);　/* タイムアウト時間を0.02秒に設定
 
　　　　（中略）

　　　　/*　上記は設定。ここ以下のforループがtask_aの本質部分*/
	for (;;) {
 
　　　　（中略）
　　　　　　　　/* FIFOに2が来たら(timer_tsがタイムアウトしたら　　*/
			if (i == 2) {
				farjmp(0, 4 * 8);    /*タスクをtask_bに切り替える
				timer_settime(timer_ts, 2);　/*ここに復帰した時、再度タイマーをセットする
			} else if (256 &lt;= i &amp;&amp; i &lt;= 511) { /* キーボードデータ */
 
　　　　（中略）
 
}


void task_b_main(void)
{
	struct FIFO32 fifo;　　　　　/*これら構造体は、タイマーを使う
	struct TIMER *timer_ts;　　　/*ために必要なもの。
	int i, fifobuf[128];

	fifo32_init(&amp;fifo, 128, fifobuf);　　/*FIFOを初期化して準備する。
	timer_ts = timer_alloc();　　　　　　/*そうしないとタイマーが使えないから
	timer_init(timer_ts, &amp;fifo, 1);　　　/*タイムアウトすると1を返してくるタイマー。
	timer_settime(timer_ts, 2);

	for (;;) {
 
　　　　（中略）
 
			i = fifo32_get(&amp;fifo);　　　　　　　　/*FIFOから一つ数値を得る。
			io_sti();　　　　　　　　　　　　　　
			if (i == 1) { /* タスクスイッチ */　　/*もしその通知が1ならタスクスイッチ！
				farjmp(0, 3 * 8);
				timer_settime(timer_ts, 2);

			}
		}
	}
}</pre></div>
<ul><li>・・・だめだ・・・P304がどうしても理解できない・・・・orz</li></ul>
<ul><li>「とにかくこの方法でsht_backの値をtask_b_mainに渡せる」と理解しておこう。（これ以上は無理）
<ul><li>ただ、一つ解ったことがある。</li>
<li>通常、別のタスク（task_bとか）には、それ用のtssと同時にそれ用のスタックが必要。（そらそーだ。分けないとごっちゃごちゃになっちゃう）</li>
<li>別のタスクになにも変数を渡す必要がない場合。（たとえば void task_b_main() なんて場合）</li>
<li>task_b_esp = memman_alloc_4k(memman,64*1024)+64*1024;</li>
<li>こんなことして、task_b用のスタックを確保している。おそらく、大半のタスクでもこれは必要な行為だろう。（スタックを一切使用しない動作だけのタスクとかそういう特殊なのは別ね）</li>
<li>それに対して、今回はようするに、task_bに対して値を渡したいというだけ。</li>
<li>で、task_bは引数を持つ関数になっている。（void task_b_main(struct SHEET *sht_back);　　）</li>
<li>普通に関数を呼ぶだけならなんの問題もない。そのまま呼べばよい。</li>
<li>しかし、今回の相手は「別に動くタスク」だ。なので、呼び出しで引数を渡せない</li>
<li>しかし、今回どうしても理解できなかった部分の登場となる。いまだにわからない。</li>
<li>・・・しかし、このわからない部分は、</li>
<li>task_b_esp = memman_alloc_4k(memman,64*1024)+64*1024 -8;</li>
<li>である。普通に用意するスタックから　８　を引いているだけだ。</li>
<li>これがヒントになるかもしれない。いずれ解るかも。</li></ul></li></ul>
<!--yf41a433--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h4>自動タスクスイッチ  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF%E5%BE%A9%E7%BF%92#i203f197" title="i203f197"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF%E5%BE%A9%E7%BF%92&amp;paraid=i203f197" title="マルチタスク復習#i203f197 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="マルチタスク復習#i203f197 の編集" /> </a></h4>
<ul><li>上記のソースを見ての通り、これまではお互いのタスクが相手のタスクに切り替わるという動作をしていたが、こういうプログラム部をなくしてもフルオートで切り替えが出来ないものだろうか？</li></ul>
<ul><li>タスクスイッチ専用の特殊なタイマーを1個確保したと考えればよい。</li></ul>
<p><span style="color:Blue"><strong>疑問点解決？:</strong>タスクはかならずしもメモリを別セグメントにして動かすとは限らない（上記参照）。また、状況によってはtssを共有することすら可能。（タスクA,B,Cとあった場合、絶対tssが3個必要というわけではない。屁理屈チックだが、タスクAとタスクCが絶対同時に動かないような調整をすればtssは2個でも十分マルチタスクは可能）よってこの場合は、タスクではなく<strong>tssはどう頑張っても8,190個以上は作れない</strong>ということでOKのようだ。（・・・なんかあったりまえな答えになってしまったな・・・(^^;））</span></p><!--i203f197--></div>


 ]]></content:encoded>
 <dc:identifier>http://thebbl.hideyosi.com/modules/zakki/index.php?%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF%E5%BE%A9%E7%BF%92</dc:identifier>

</item>
<item rdf:about="http://thebbl.hideyosi.com/modules/zakki/index.php?%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF%E5%BE%A9%E7%BF%922">
 <title>マルチタスク復習2</title>
 <link>http://thebbl.hideyosi.com/modules/zakki/?%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF%E5%BE%A9%E7%BF%922</link>
 <dc:date>2012-10-23T15:05:17+09:00</dc:date>
 <dc:creator></dc:creator>
 
 <description>
16日目    
複数のタスクへの対応。
TASK構造体。個々のタスクと考えてよい。
TASKCTL構造体。この構造体の中に全てのタスクが納まっている。そして現在稼動中のタスクや総数を記憶。つまり、このシステム全体のタスクを管理しているただ一つの構造体。
task_init関数。タスクを一つ初期化し、稼動できる状態にする。内訳は
struct TASK *task_init(struct MEMMAN *memman)
{
　	int i;
　	struct TASK *task;　　　　　/</description>
 <content:encoded><![CDATA[
 <div>
<h2>16日目  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF%E5%BE%A9%E7%BF%922#kacbf79b" title="kacbf79b"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF%E5%BE%A9%E7%BF%922&amp;paraid=kacbf79b" title="マルチタスク復習2#kacbf79b の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="マルチタスク復習2#kacbf79b の編集" /> </a></h2>
<ul><li>複数のタスクへの対応。</li></ul>
<p>TASK構造体。個々のタスクと考えてよい。</p>
<p>TASKCTL構造体。この構造体の中に全てのタスクが納まっている。そして現在稼動中のタスクや総数を記憶。つまり、このシステム全体のタスクを管理しているただ一つの構造体。</p>
<p>task_init関数。タスクを一つ初期化し、稼動できる状態にする。内訳は</p>
<div><pre>struct TASK *task_init(struct MEMMAN *memman)
{
　	int i;
　	struct TASK *task;　　　　　/* タスクを一つ準備する。
/*----------------------------------------------------------------------------*/ 
        /* これまででは、
          struct SEGMENT_DESCRIPTOR *gdt = (struct SEGMENT_DESCRIPTOR *) ADR_GDT;
          set_segmdesc(gdt + 何番目?, 103, (int) どのtss構造体？, AR_TSS32);
        ・・・と、こういう指定でtssをGDTにセットしていた。　*/
/*----------------------------------------------------------------------------*/

/* ここはまあ、前と同じだが・・・・　*/
　	struct SEGMENT_DESCRIPTOR *gdt = (struct SEGMENT_DESCRIPTOR *) ADR_GDT;
    /*これ以降が違う。GDTの何番目にセットするのか。セットするtss構造体はどれなのか？
    という情報を、以下のプログラムで自動的に探し出してセットしている*/

       /* ちなみにtaskctl構造体がデカイのでメモリをゲットしているところ。
	taskctl = (struct TASKCTL *) memman_alloc_4k(memman, sizeof (struct TASKCTL));

/* ここにあるforで0〜最大タスク個数まで繰り返す。空いている番号が見つかったら
   そこを新しいタスクとする。これにより、GDTの何番目を使うのか、tssがどの
   タスク内のものなのかがわかる*/

/*↑・・・っと思い込んでたが大間違いだった。
/*ここは、とにかくGDTの3(TASK_GDT0)〜最大数までのGDTテーブルを一気にtss化して
/*予約してしまうのだ！さらに、taskctl内のtasks0[]と一対一に対応させちゃう。
/*なので、以降は単に「どのtasks[?]が空いてるかな？」を探し、空きが見つかったら
/*そのtasks0[?]に当て込めば自動的にtssも設定させると！。こういう仕掛けか！

	for (i = 0; i &lt; MAX_TASKS; i++) {
		taskctl-&gt;tasks0[i].flags = 0;
		taskctl-&gt;tasks0[i].sel = (TASK_GDT0 + i) * 8;
		set_segmdesc(gdt + TASK_GDT0 + i, 103, (int) &amp;taskctl-&gt;tasks0[i].tss, AR_TSS32);
	}


/*上記のGDTの予約？のおかげで、もうGDTは気にしなくていいのだ！
/*以降は、task_allocさえすれば、自動的にタスクがすぐ走れる状態で
/*1個準備される。

/*以下は、今動いている自分自身（HariMain。これまでの仮想的なtask_aのこと）を
/*ひとつのタスクとして登録しているだけ。

	task = task_alloc();
	task-&gt;flags = 2; /* 動作中マーク */
	taskctl-&gt;running = 1;
	taskctl-&gt;now = 0;
	taskctl-&gt;tasks[0] = task;
	load_tr(task-&gt;sel);
	task_timer = timer_alloc();
	timer_settime(task_timer, 2);
	return task;
}</pre></div>
<ul><li>たくさん勘違いしていたが、このtask_init関数は、ほぼ一度だけやれば以降はしなくていい。タスクをシートのように管理するための単なる下地作りに過ぎないのだ。</li></ul>
<ul><li>これ以降、タスクを新設したい場合はtask_alloc関数を使う。この関数は</li></ul>
<div><pre>struct TASK *task_alloc(void)
{
       int i;
       struct TASK *task;                          /*とりあえずtask構造体を一つ用意する*/

       for (i = 0; i &lt; MAX_TASKS; i++){             /*このforループで、taskctl内にある */
                                                    /*tasks0[]配列を上からチェックする。*/

            if (taskctl-&gt;tasks0[i].flags == 0 {     /*もしflagsが0。つまり使用されていないtasks0[]があったら　*/
               task = &amp;taskctl-&gt;tasks0[i];          /*よし！ここだ！上で今回用意したtask構造体をこのtasks0[]とする */
               task-&gt;flags = 1;　　　　　　　　     /*そこをとりあえず使用中とするためマークする。（確保するわけ）　*/
               task-&gt;tss.eflags = 0x00000202;       /*これ以降は、まったく新しいタスクの
                                                    /*tssを準備したのだから、初期化処理をする。*/
               task-&gt;tss.eax  = 0;
                       :
                       :
               task-&gt;tss.ldtr = 0;
               task-&gt;tss.iomap = 0x40000000;
               return task;
             }
        }
 }</pre></div>
<ul><li>これによって全ての準備が出来上がった。しかし、まだ走っていない。走らせるには、task_run関数で指令してやらないといけない。</li></ul><!--kacbf79b--></div>


 ]]></content:encoded>
 <dc:identifier>http://thebbl.hideyosi.com/modules/zakki/index.php?%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF%E5%BE%A9%E7%BF%922</dc:identifier>

</item>
<item rdf:about="http://thebbl.hideyosi.com/modules/zakki/index.php?%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%9E%E3%83%83%E3%83%97">
 <title>メモリマップ</title>
 <link>http://thebbl.hideyosi.com/modules/zakki/?%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%9E%E3%83%83%E3%83%97</link>
 <dc:date>2012-10-23T15:05:17+09:00</dc:date>
 <dc:creator></dc:creator>
 
 <description>AT互換機の場合、搭載されているメモリ全てを好き勝手に使えるわけではない。ある特定の位置のメモリはシステムで予約されているので使ってはいけない。
じゃ、それはどこいらへん？？？
例によってOS-Wikiの(AT)memorymapのページからパクってきますた。
アドレス用途0x00000000： RAM。AT互換機では、この部分がフル実装されていないものはない？ -- ATになったのって、286マシンからでしたっけ？（こめんと欄参照）：0x0009ffff0x000a0000ビデオアクセス用アド</description>
 <content:encoded><![CDATA[
 <p>AT互換機の場合、搭載されているメモリ全てを好き勝手に使えるわけではない。ある特定の位置のメモリはシステムで予約されているので使ってはいけない。</p>
<p>じゃ、それはどこいらへん？？？</p>
<p>例によって<a href="http://community.osdev.info/index.php?cmd=read&amp;page=%28AT%29memorymap" title="community.osdev.info/index.php?cmd=read&amp;page=%28AT%29memorymap">OS-Wikiの(AT)memorymapのページ</a>からパクってきますた。</p>
<div ><table style=""><thead><tr><td>アドレス</td><td>用途</td></tr></thead><tbody><tr><td>0x00000000</td><td rowspan="3" style="text-align:right;">： RAM。AT互換機では、この部分がフル実装されていないものはない？ -- ATになったのって、286マシンからでしたっけ？（こめんと欄参照）</td></tr><tr><td style="text-align:center;">：</td></tr><tr><td>0x0009ffff</td></tr><tr><td style="background-color:gray;">0x000a0000</td><td rowspan="3">ビデオアクセス用アドレス空間</td></tr><tr><td style="background-color:gray; text-align:center;">：</td></tr><tr><td style="background-color:gray;">0x000bffff</td></tr><tr><td>0x000c0000</td><td rowspan="3">ビデオBIOS？</td></tr><tr><td style="text-align:center;">：</td></tr><tr><td>0x000c7fff</td></tr><tr><td>0x000c8000</td><td rowspan="3" style="text-align:left;">各種カードのROMがあったりなかったり？</td></tr><tr><td style="text-align:center;">：</td></tr><tr><td>0x000dffff</td></tr><tr><td>0x000d0000</td><td rowspan="3">たいてい空いている</td></tr><tr><td style="text-align:center;">：</td></tr><tr><td>0x000dffff</td></tr><tr><td>0x000e0000</td><td rowspan="3">拡張BIOS（ここが空いている場合もある？）</td></tr><tr><td style="text-align:center;">：</td></tr><tr><td>0x000effff</td></tr><tr><td>0x000f0000</td><td rowspan="3">BIOS</td></tr><tr><td style="text-align:center;">：</td></tr><tr><td>0x000fffff</td></tr><tr><td>0x00100000</td><td rowspan="3">RAM （これに満たない可能性もある）</td></tr><tr><td style="text-align:center;">：</td></tr><tr><td>0x00efffff</td></tr><tr><td>0x00f00000</td><td rowspan="3">RAMもしくはISAホール（どちらになるかはBIOSの設定などによる）</td></tr><tr><td style="text-align:center;">：</td></tr><tr><td>0x00ffffff</td></tr><tr><td>0x01000000</td><td rowspan="3">RAM</td></tr><tr><td style="text-align:center;">：</td></tr><tr><td>メモリが尽きるまで</td></tr></tbody></table></div>
<ul><li>メモリが尽きたところ - 0xffffffef ： PCIデバイスなどのメモリマップトI/Oに利用可能な領域
<ul><li>やっぱり0xfffff000からはBIOSのミラーがあって、利用できないのかな？</li></ul></li>
<li>0xfffffff0 - 0xffffffff ： 386以降ではここにリセットジャンプ命令がある</li></ul>
<div>
<h2>ソフトウェア的用途区分  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%9E%E3%83%83%E3%83%97#x2389e98" title="x2389e98"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%9E%E3%83%83%E3%83%97&amp;paraid=x2389e98" title="メモリマップ#x2389e98 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="メモリマップ#x2389e98 の編集" /> </a></h2>
<ul><li>0x00000000 - 0x000003ff ： リアルモード用INTベクタ
<ul><li>もちろんこれはIDTを変更すれば変更できるが、とりあえず標準的にはこのアドレスが使われる。</li>
<li>0x00000300 - 0x000003ffはBIOS用スタック？</li></ul></li>
<li>0x00000400 - 0x000004ff ： BIOS用ワークエリア？</li>
<li>0x00007c00 - 0x00007dff ： ブートセクタが読み込まれるアドレス</li>
<li>0x0009fc00 - 0x0009ffff ： ACPI用ワークエリア（の場合がある）
<ul><li>0x0009fc00から始まっているという保障は全くない。本来ならBIOSに問い合わせるべき。個人的には最悪でも0x0009efffまでは勝手に使っても平気なんじゃないかと思ってはいる。--<span>K<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=K&amp;refer=%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%9E%E3%83%83%E3%83%97" title="K の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li>
<li>っていうか、僕はこれを無視してこの辺を好き勝手に使っているような気が・・・。大丈夫なのか？OSASK！</li></ul></li>
<li>ISAホールがなければ、16bit-PCICで利用可能なメモリ領域は、0x000c8000〜0x000dffffのどこかになるでしょう。</li></ul><!--x2389e98--></div>


 ]]></content:encoded>
 <dc:identifier>http://thebbl.hideyosi.com/modules/zakki/index.php?%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%9E%E3%83%83%E3%83%97</dc:identifier>

</item>
<item rdf:about="http://thebbl.hideyosi.com/modules/zakki/index.php?%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%9E%E3%83%83%E3%83%97%EF%BC%88BBL%EF%BC%89">
 <title>メモリマップ（BBL）</title>
 <link>http://thebbl.hideyosi.com/modules/zakki/?%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%9E%E3%83%83%E3%83%97%EF%BC%88BBL%EF%BC%89</link>
 <dc:date>2012-10-23T15:05:17+09:00</dc:date>
 <dc:creator></dc:creator>
 
 <description>P171
はりぼてからいろいろ進化させたいBBLなので、メモリマップをもう一度ちゃんと書いて整理＆把握しておこう！
番地標準用途備考0x00000000○空きリアルモード時いろいろ使った。今は反省している　：　 (1MB)0x000fffff0x00100000○フロッピーディスクの内容記憶用いずれいらなくなる？　：　 (1440KB)0x00267fff0x00268000○空き　：　 (30KB)0x0026f7ff0x0026f800○IDT　：　 (2KB)0x0026ffff0x002</description>
 <content:encoded><![CDATA[
 <p>P171</p>
<p>はりぼてからいろいろ進化させたいBBLなので、メモリマップをもう一度ちゃんと書いて整理＆把握しておこう！</p>
<div ><table style=""><thead><tr><td>番地</td><td>標準</td><td>用途</td><td>備考</td></tr></thead><tbody><tr><td>0x00000000</td><td rowspan="3">○</td><td rowspan="3">空き</td><td rowspan="3">リアルモード時いろいろ使った。今は反省している</td></tr><tr><td>　：　 (1MB)</td></tr><tr><td>0x000fffff</td></tr><tr><td>0x00100000</td><td rowspan="3">○</td><td rowspan="3">フロッピーディスクの内容記憶用</td><td rowspan="3">いずれいらなくなる？</td></tr><tr><td>　：　 (1440KB)</td></tr><tr><td>0x00267fff</td></tr><tr><td>0x00268000</td><td rowspan="3">○</td><td rowspan="3" colspan="2">空き</td></tr><tr><td>　：　 (30KB)</td></tr><tr><td>0x0026f7ff</td></tr><tr><td>0x0026f800</td><td rowspan="3">○</td><td rowspan="3" colspan="2">IDT</td></tr><tr><td>　：　 (2KB)</td></tr><tr><td>0x0026ffff</td></tr><tr><td>0x00270000</td><td rowspan="3">○</td><td rowspan="3" colspan="2">GDT</td></tr><tr><td>　：　 (64KB)</td></tr><tr><td>0x0027ffff</td></tr><tr><td>0x00280000</td><td rowspan="3">○</td><td rowspan="3" colspan="2">bootpack.hrb</td></tr><tr><td>　：　 (512KB)</td></tr><tr><td>0x002fffff</td></tr><tr><td>0x00300000</td><td rowspan="3">○</td><td rowspan="3" colspan="2">スタックなど</td></tr><tr><td>　：　 (1MB)</td></tr><tr><td>0x003fffff</td></tr><tr><td>0x00400000</td><td rowspan="3">○</td><td rowspan="3" colspan="2">空き</td></tr><tr><td style="text-align:left;">　：　</td></tr><tr><td>　：</td></tr></tbody></table></div>
<hr />
<p>頭1MB(0x00000000〜0x0000ffff）が曲者。いろいろと入り込んでいる。確実に使ってよいところといけないところとを、ちゃんと洗いなおしておかないと！</p>
<div ><table style=""><thead><tr><td>番地</td><td>用途</td><td>備考</td><td>32bit後</td><td>他用途転用</td></tr></thead><tbody><tr><td>00000</td><td rowspan="3">INTベクタ</td><td rowspan="3">割り込み用のベクタテーブル</td><td rowspan="3" colspan="2">→0x0026f800？</td></tr><tr><td style="text-align:center;">：(1KB)</td></tr><tr><td>003ff</td></tr><tr><td>00400</td><td rowspan="3">BIOS用ワークエリア？</td><td rowspan="3" colspan="2">ROMかあるいはI/Oポートに使われているので勝手には使えないエリア</td><th>No!</th></tr><tr><td style="text-align:center;">：(256B)</td><th>　</th></tr><tr><td>004ff</td><th>　</th></tr><tr><td>00500</td><td rowspan="3">？？？？</td><td rowspan="3" colspan="2">MBR等が使っているようだが良くわからないらしい。いくらもないので、リスクを犯してまで使うほどじゃないという感じ</td><th>No!</th></tr><tr><td style="text-align:center;">：</td><th>　</th></tr><tr><td>007ff</td><th>　</th></tr><tr><td>00800</td><td rowspan="3">？？？</td><td rowspan="3" colspan="3">たぶんだいじょうぶ？</td></tr><tr><td style="text-align:center;">：</td></tr><tr><td>07bff</td></tr><tr><td>07c00</td><td rowspan="3" colspan="2">ブートセクタが読み込まれるアドレス　（ここって、ブートが終わった後は勝手に使ってもいいところなのかな？それとも？？</td><td rowspan="3" colspan="2">→0x00100000</td></tr><tr><td style="text-align:center;">：(512B)</td></tr><tr><td>07dff</td></tr><tr><td>07e00</td><td rowspan="3" colspan="4">？？？</td></tr><tr><td style="text-align:center;">：(512B)</td></tr><tr><td>07fff</td></tr><tr><td>08000</td><td rowspan="3" colspan="4">ブートセクタ内容移転用？？？</td></tr><tr><td style="text-align:center;">：(512B)</td></tr><tr><td>081ff</td></tr><tr><td>08200</td><td rowspan="3">はりぼてのカーネルが読み込まれる部分。</td><td rowspan="3">理由は特になし。むしろ上が問題</td><td rowspan="3" colspan="2">→0x00100200</td></tr><tr><td style="text-align:center;">：(512B)</td></tr><tr><td>083FF</td></tr><tr><td>08400</td><td rowspan="3" colspan="4">フリー？</td></tr><tr><td style="text-align:center;">：(606KB)</td></tr><tr><td>9efff</td></tr><tr><td>9f000</td><td rowspan="3" colspan="3">下記参照。</td><th>No？</th></tr><tr><td style="text-align:center;">：</td><th>　</th></tr><tr><td>9fbff</td><th>　</th></tr><tr><td>9fc00h</td><td rowspan="3">ACPI用ワークエリア（の場合がある）</td><td rowspan="3" colspan="2">使えることも少なくないが、このエリアを使うBIOSが増えてきているらしいので、使わないのが確実</td><th>No？</th></tr><tr><td style="text-align:center;">：</td><th>　</th></tr><tr><td>9ffff</td><th>　</th></tr><tr><td>A0000</td><td rowspan="3">VGA RAM　？なんだろ？これ。 どうもグラフィックモード時に使うようだ。</td><td rowspan="3" colspan="2">仮にVGAとして使われていなくても、VRAM以外の用途で使用してはならないエリア</td><th>No!</th></tr><tr><td style="text-align:center;">：</td><th>　</th></tr><tr><td>AFFFF</td><th>　</th></tr><tr><td>B0000</td><td rowspan="3">VGA RAM ？なんだろ？これ。 MDA　テキストモード？？？</td><td rowspan="3" colspan="2">仮にVGAとして使われていなくても、VRAM以外の用途で使用してはならないエリア</td><th>No!</th></tr><tr><td style="text-align:center;">：</td><th>　</th></tr><tr><td>B7FFF</td><th>　</th></tr><tr><td>B8000</td><td rowspan="3">VGA RAM ？なんだろ？これ。 VGA テキストモード時使用？&quot;</td><td rowspan="3" colspan="2">仮にVGAとして使われていなくても、VRAM以外の用途で使用してはならないエリア</td><th>No!</th></tr><tr><td style="text-align:center;">：</td><th>　</th></tr><tr><td>BFFFF</td><th>　</th></tr><tr><td>C0000</td><td rowspan="3">予約領域？　</td><td rowspan="3" colspan="3">なにを予約してるの?????</td></tr><tr><td style="text-align:center;">：</td></tr><tr><td>DFFFF</td></tr><tr><td>E0000</td><td rowspan="3" style="text-align:right;">ROM BIOS？</td><td rowspan="3" colspan="2">まずROMなので、どっちにしても使うことはできないエリア</td><th>No!</th></tr><tr><td style="text-align:center;">：</td><th>　</th></tr><tr><td>FFFFF</td><th>　</th></tr></tbody></table></div>

 ]]></content:encoded>
 <dc:identifier>http://thebbl.hideyosi.com/modules/zakki/index.php?%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%9E%E3%83%83%E3%83%97%EF%BC%88BBL%EF%BC%89</dc:identifier>

</item>
<item rdf:about="http://thebbl.hideyosi.com/modules/zakki/index.php?%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF">
 <title>割り込み</title>
 <link>http://thebbl.hideyosi.com/modules/zakki/?%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF</link>
 <dc:date>2012-10-23T15:05:17+09:00</dc:date>
 <dc:creator></dc:creator>
 
 <description>多分合ってないぞ！！！。いま一生懸命勉強中だ！ (T∀T)）間違ってるとこみつけたら、板にツッコミ入れよう！）
・・・ふっ・・・　所詮笑われてナンボじゃい！。 (T∀T)　
FrontPage
00例外ハンドラ01例外ハンドラ02NMI(Non Maskable Interrupt)絶対に拒否できない割り込み03例外ハンドラ04例外ハンドラ05例外ハンドラ06例外ハンドラ07例外ハンドラ08IRQ0システムタイマ09IRQ1キーボード0AIRQ2IRQ9がくっついているところ。IRQ9以降用のコ</description>
 <content:encoded><![CDATA[
 <p><span style="color:red">多分合ってないぞ！！！。いま一生懸命勉強中だ！ (T∀T)）間違ってるとこみつけたら、板にツッコミ入れよう！）</span></p>
<p><span style="color:red">・・・ふっ・・・　所詮笑われてナンボじゃい！。 (T∀T)　</span></p>
<hr />
<p><a href="http://thebbl.hideyosi.com/modules/zakki/" title="FrontPage (2d)">FrontPage</a></p>
<div ><table style=""><tbody><tr><td colspan="2">00</td><td>例外ハンドラ</td></tr><tr><td colspan="2">01</td><td>例外ハンドラ</td></tr><tr><td>02</td><td>NMI(Non Maskable Interrupt)</td><td>絶対に拒否できない割り込み</td></tr><tr><td colspan="2">03</td><td>例外ハンドラ</td></tr><tr><td colspan="2">04</td><td>例外ハンドラ</td></tr><tr><td colspan="2">05</td><td>例外ハンドラ</td></tr><tr><td colspan="2">06</td><td>例外ハンドラ</td></tr><tr><td colspan="2">07</td><td>例外ハンドラ</td></tr><tr><td>08</td><td>IRQ0</td><td>システムタイマ</td></tr><tr><td>09</td><td>IRQ1</td><td>キーボード</td></tr><tr><td>0A</td><td>IRQ2</td><td>IRQ9がくっついているところ。IRQ9以降用のコンセント!?</td></tr><tr><td>0B</td><td>IRQ3</td><td>シリアルポート(COM2/COM4)</td></tr><tr><td>0C</td><td>IRQ4</td><td>シリアルポート(COM1/COM3)</td></tr><tr><td>0D</td><td colspan="2">IRQ5</td></tr><tr><td>0E</td><td>IRQ6</td><td>フロッピーディスクコントローラ</td></tr><tr><td>0F</td><td>IRQ7</td><td>パラレルポート</td></tr><tr><td colspan="2">10</td><td>空き</td></tr><tr><td colspan="2">11</td><td>空き</td></tr><tr><td colspan="3">・</td></tr><tr><td colspan="2">・</td><td>ソフトウェア割り込みに使われる</td></tr><tr><td colspan="3">・</td></tr><tr><td colspan="2">6E</td><td>空き</td></tr><tr><td colspan="2">6F</td><td>空き</td></tr><tr><td>70</td><td>IRQ8</td><td>リアルタイムクロック</td></tr><tr><td>71</td><td>IRQ9</td><td>IRQ2とくっついている。コンセント</td></tr></tbody></table></div>
<p>|72|IRQ10|
|73|IRQ11|</p>
<div ><table style=""><tbody><tr><td>74</td><td>IRQ12</td><td>PS/2マウス</td></tr></tbody></table></div>
<div ><table style=""><tbody><tr><td>75IRQ13</td><td>数値演算コプロセッサ</td></tr></tbody></table></div>
<div ><table style=""><tbody><tr><td>76</td><td>IRQ14</td><td>プライマリのHDコントローラ</td></tr><tr><td>77</td><td>IRQ15</td><td>セカンダリのHDコントローラ</td></tr></tbody></table></div>
<p>78-FF	ソフトウェア割り込み</p>

 ]]></content:encoded>
 <dc:identifier>http://thebbl.hideyosi.com/modules/zakki/index.php?%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF</dc:identifier>

</item>
<item rdf:about="http://thebbl.hideyosi.com/modules/zakki/index.php?%E7%A7%92%E5%BE%85%E3%81%A1%E9%96%A2%E6%95%B0">
 <title>秒待ち関数</title>
 <link>http://thebbl.hideyosi.com/modules/zakki/?%E7%A7%92%E5%BE%85%E3%81%A1%E9%96%A2%E6%95%B0</link>
 <dc:date>2012-10-23T15:05:17+09:00</dc:date>
 <dc:creator></dc:creator>
 
 <description>コマンドのプログラムをしていると、
5秒だけ待て！
とか、そういうことがしたい場合があるよね。そういう関数を作りたいんだけど、どうしたらいいかな？？？
まず名前。とりあえず、　min_wait(int min)  とでもしておこうかな。
ヒントは本の中で途中まで扱われていた3秒・10秒タイマー。
これを再登場させて、うまく関数から使いやすいようにしてみよう。
</description>
 <content:encoded><![CDATA[
 <p>コマンドのプログラムをしていると、</p>
<p><strong>5秒だけ待て！</strong></p>
<p>とか、そういうことがしたい場合があるよね。そういう関数を作りたいんだけど、どうしたらいいかな？？？</p>
<p>まず名前。とりあえず、　min_wait(int min)  とでもしておこうかな。</p>
<p>ヒントは本の中で途中まで扱われていた3秒・10秒タイマー。</p>
<p>これを再登場させて、うまく関数から使いやすいようにしてみよう。</p>

 ]]></content:encoded>
 <dc:identifier>http://thebbl.hideyosi.com/modules/zakki/index.php?%E7%A7%92%E5%BE%85%E3%81%A1%E9%96%A2%E6%95%B0</dc:identifier>

</item>
<item rdf:about="http://thebbl.hideyosi.com/modules/zakki/index.php?%E8%87%AA%E4%BD%9CAPI%E3%83%A1%E3%83%A2">
 <title>自作APIメモ</title>
 <link>http://thebbl.hideyosi.com/modules/zakki/?%E8%87%AA%E4%BD%9CAPI%E3%83%A1%E3%83%A2</link>
 <dc:date>2012-10-23T15:05:17+09:00</dc:date>
 <dc:creator></dc:creator>
 
 <description>オイラの自作APIの使用法のメモ
0x4E　ファイルを検索する    
EAX　検索用のファイル名またはパターン文字列を格納しているアドレス
この文字列は終端に0を置くこと。（これによってどこまでかを判定している）
EBX　検索結果を受け取るバッファのアドレス
戻り値
見つかったファイルの数。（0なら見つからなかったかエラー）
28　ファイルを検索する    
EAX　検索用のファイル名またはパターン文字列を格納しているアドレス
この文字列は終端に0を置くこと。（これによってどこまでかを判定して</description>
 <content:encoded><![CDATA[
 <p>オイラの自作APIの使用法のメモ</p>
<div>
<h3>0x4E　ファイルを検索する  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E8%87%AA%E4%BD%9CAPI%E3%83%A1%E3%83%A2#ae5b47f3" title="ae5b47f3"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E8%87%AA%E4%BD%9CAPI%E3%83%A1%E3%83%A2&amp;paraid=ae5b47f3" title="自作APIメモ#ae5b47f3 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="自作APIメモ#ae5b47f3 の編集" /> </a></h3>
<ul><li>EAX　検索用のファイル名またはパターン文字列を格納しているアドレス</li></ul>
<ul><li><ul><li>この文字列は終端に0を置くこと。（これによってどこまでかを判定している）</li></ul></li></ul>
<ul><li>EBX　検索結果を受け取るバッファのアドレス</li></ul>
<ul><li>戻り値
<ul><li>見つかったファイルの数。（0なら見つからなかったかエラー）</li></ul></li></ul>
<!--ae5b47f3--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h3>28　ファイルを検索する  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E8%87%AA%E4%BD%9CAPI%E3%83%A1%E3%83%A2#ae5b47f3" title="ae5b47f3"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E8%87%AA%E4%BD%9CAPI%E3%83%A1%E3%83%A2&amp;paraid=ae5b47f3" title="自作APIメモ#ae5b47f3 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="自作APIメモ#ae5b47f3 の編集" /> </a></h3>
<ul><li>EAX　検索用のファイル名またはパターン文字列を格納しているアドレス</li></ul>
<ul><li><ul><li>この文字列は終端に0を置くこと。（これによってどこまでかを判定している）</li></ul></li></ul>
<ul><li>EBX　検索結果を受け取るバッファのアドレス</li></ul>
<ul><li>ESI　結果待ちのフラグを受け取るアドレス
<ul><li>適当な場所を16バイト確保しておく。初期値を0<strong>以外</strong>にしておいてコールする。正常終了すると0がセットされる。</li></ul></li></ul>
<blockquote><blockquote><p>このAPIは指令を送るだけ。なので、ESIにセットしたメモリの内容を監視するループを設けて「待ち」を入れないとすぐ次の命令を実行してしまうので注意</p></blockquote></blockquote>
<!--ae5b47f3--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h3>0xa21  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E8%87%AA%E4%BD%9CAPI%E3%83%A1%E3%83%A2#d6a5c945" title="d6a5c945"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E8%87%AA%E4%BD%9CAPI%E3%83%A1%E3%83%A2&amp;paraid=d6a5c945" title="自作APIメモ#d6a5c945 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="自作APIメモ#d6a5c945 の編集" /> </a></h3>
<ul><li><ul><li>EAX　オープンするファイル名を格納しているアドレス（0で終わり、パターンではないこと）</li></ul></li></ul>
<ul><li><ul><li>戻り値
<ul><li>EAX　成果。0なら異常終了もしくはファイルがなかった。成功ならファイルハンドルを返す</li></ul></li></ul></li></ul><!--d6a5c945--></div>


 ]]></content:encoded>
 <dc:identifier>http://thebbl.hideyosi.com/modules/zakki/index.php?%E8%87%AA%E4%BD%9CAPI%E3%83%A1%E3%83%A2</dc:identifier>

</item>
<item rdf:about="http://thebbl.hideyosi.com/modules/zakki/index.php?%E3%83%98%E3%83%AB%E3%83%97">
 <title>ヘルプ</title>
 <link>http://thebbl.hideyosi.com/modules/zakki/?%E3%83%98%E3%83%AB%E3%83%97</link>
 <dc:date>2012-10-23T15:05:16+09:00</dc:date>
 <dc:creator></dc:creator>
 
 <description>
 
  ページ内コンテンツ
 
 
   PukiWiki って 何なの? 
 新しいページを作成するには? 
 リンクについてる(3m)とかは? 
 掲示板と違う? 
 誰かが書き込みを消してまう? 
 ブラウザやプロクシのキャッシュで人の変更消してしまう? 
 
FAQ(pukiwiki.org)(日本語)
テキスト整形のルール (このページの後ろにも挿入してあります。)
プラグインヘルプ
PukiWiki って 何なの?    
すべてのページが誰でも編集できます。変更したいページでペー</description>
 <content:encoded><![CDATA[
 <div>
 <div>
  ページ内コンテンツ
 </div>
 <div>
  <ul><li><ul><li><ul><li> PukiWiki って 何なの? </li>
<li> 新しいページを作成するには? </li>
<li> リンクについてる(3m)とかは? </li>
<li> 掲示板と違う? </li>
<li> 誰かが書き込みを消してまう? </li>
<li> ブラウザやプロクシのキャッシュで人の変更消してしまう? </li></ul></li></ul></li></ul>
 </div>
</div>
<ul><li><ul><li><a href="http://pukiwiki.sourceforge.jp/?PukiWiki%2FFAQ" title="pukiwiki:PukiWiki/FAQ">FAQ(pukiwiki.org)</a>(日本語)</li>
<li><span>テキスト整形のルール<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E6%95%B4%E5%BD%A2%E3%83%AB%E3%83%BC%E3%83%AB&amp;refer=%E3%83%98%E3%83%AB%E3%83%97" title="整形ルール の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span> (このページの後ろにも挿入してあります。)</li>
<li><span>プラグインヘルプ<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%83%98%E3%83%AB%E3%83%97&amp;refer=%E3%83%98%E3%83%AB%E3%83%97" title="プラグインヘルプ の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span></li></ul></li></ul>
<div>
<h4><a href="http://thebbl.hideyosi.com/modules/zakki/?PukiWiki" title="PukiWiki (2d)">PukiWiki</a> って 何なの?  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E3%83%98%E3%83%AB%E3%83%97#vf801b51" title="vf801b51"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E3%83%98%E3%83%AB%E3%83%97&amp;paraid=vf801b51" title="ヘルプ#vf801b51 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="ヘルプ#vf801b51 の編集" /> </a></h4>
<p>すべてのページが誰でも編集できます。変更したいページでページ上部の「編集」をクリックするとそのページが編集できます。編集内容は、整形ルールに従って整形されます。<br />
<span>練習用ページ<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E7%B7%B4%E7%BF%92%E7%94%A8%E3%83%9A%E3%83%BC%E3%82%B8&amp;refer=%E3%83%98%E3%83%AB%E3%83%97" title="練習用ページ の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span>は基本的にどのように手を加えても問題ないので、結果を恐れず編集してみてください。</p>
<!--vf801b51--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h4>新しいページを作成するには?  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E3%83%98%E3%83%AB%E3%83%97#n2c2eb75" title="n2c2eb75"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E3%83%98%E3%83%AB%E3%83%97&amp;paraid=n2c2eb75" title="ヘルプ#n2c2eb75 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="ヘルプ#n2c2eb75 の編集" /> </a></h4>
<p>すでにあるページ(例えば<span>練習用ページ<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E7%B7%B4%E7%BF%92%E7%94%A8%E3%83%9A%E3%83%BC%E3%82%B8&amp;refer=%E3%83%98%E3%83%AB%E3%83%97" title="練習用ページ の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span>など)で、ページのどこかに<a href="http://thebbl.hideyosi.com/modules/zakki/?WikiName" title="WikiName (2d)">WikiName</a>(大文字と小文字混合)か<a href="http://thebbl.hideyosi.com/modules/zakki/?BracketName" title="BracketName (2d)">BracketName</a>([[]]で囲う)を入力すると入力した部分の後ろに ? というリンクがつきます。そこをクリックすると新しいページの編集画面が用意されるので、あとは普通のページ変更と同様に書き込むことができます。</p>
<!--n2c2eb75--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h4>リンクについてる(3m)とかは?  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E3%83%98%E3%83%AB%E3%83%97#aeb02253" title="aeb02253"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E3%83%98%E3%83%AB%E3%83%97&amp;paraid=aeb02253" title="ヘルプ#aeb02253 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="ヘルプ#aeb02253 の編集" /> </a></h4>
<p>3mは3分前くらい、5hは5時間前くらい、8dは8日前くらいに更新された、という意味です。</p>
<!--aeb02253--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h4>掲示板と違う?  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E3%83%98%E3%83%AB%E3%83%97#qf09daf7" title="qf09daf7"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E3%83%98%E3%83%AB%E3%83%97&amp;paraid=qf09daf7" title="ヘルプ#qf09daf7 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="ヘルプ#qf09daf7 の編集" /> </a></h4>
<p>ページに手を加えても誰がその変更をしたかわからなくなります。不安な場合は、手を加えた部分に自分の名前を書いておきましょう。 -- <span>hogehoge<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=hogehoge&amp;refer=%E3%83%98%E3%83%AB%E3%83%97" title="hogehoge の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span> ←こんなかんじで。</p>
<!--qf09daf7--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h4>誰かが書き込みを消してまう?  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E3%83%98%E3%83%AB%E3%83%97#k1149f33" title="k1149f33"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E3%83%98%E3%83%AB%E3%83%97&amp;paraid=k1149f33" title="ヘルプ#k1149f33 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="ヘルプ#k1149f33 の編集" /> </a></h4>
<p><span>WikiClone<a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=WikiClone&amp;refer=%E3%83%98%E3%83%AB%E3%83%97" title="WikiClone の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" alt="編集" height="9" width="9" /></a></span>とはそういうものです。誰でもどこでも汚したり、消したり、荒らしたりできます。が、<a href="http://thebbl.hideyosi.com/modules/zakki/?PukiWiki" title="PukiWiki (2d)">PukiWiki</a>には定期的にバックアップを取る機能があるので無駄といえば無駄かもしれません。不完全ではありますが、復旧もできると思います。</p>
<!--k1149f33--></div>
<div>
<div><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=arrow_up.png" alt="Page Top" width="16" height="16" /></div><h4>ブラウザやプロクシのキャッシュで人の変更消してしまう?  <a href="http://thebbl.hideyosi.com/modules/zakki/?%E3%83%98%E3%83%AB%E3%83%97#zee20d44" title="zee20d44"><img src="http://thebbl.hideyosi.com/modules/zakki/skin/loader.php?src=anchor.png" alt="anchor.png" height="12" width="12" /></a> <a href="http://thebbl.hideyosi.com/modules/zakki/?cmd=edit&amp;page=%E3%83%98%E3%83%AB%E3%83%97&amp;paraid=zee20d44" title="ヘルプ#zee20d44 の編集"><img src="http://thebbl.hideyosi.com/modules/zakki/image/paraedit.png" width="9" height="9" alt="Edit" title="ヘルプ#zee20d44 の編集" /> </a></h4>
<p>ページを編集する以上、編集時の状態から手を加える形になります。しかし、もし編集中に誰かが更新していてしまっていたらどうします? 安心してください。<a href="http://thebbl.hideyosi.com/modules/zakki/?PukiWiki" title="PukiWiki (2d)">PukiWiki</a>には、更新時のページの更新日時と元データの更新日時を比較して一緒かどうかチェックします。</p>
<p>異なる場合には「更新の衝突」が起きるので、その場合は更新されていたページをリロードして編集しなおしてください。</p>
#include(): No such page: 整形ルール<br />
<!--zee20d44--></div>


 ]]></content:encoded>
 <dc:identifier>http://thebbl.hideyosi.com/modules/zakki/index.php?%E3%83%98%E3%83%AB%E3%83%97</dc:identifier>

</item>

</rdf:RDF>