3: 2008-12-29 (月) 06:53:49 [6] | 4: 2008-12-29 (月) 06:53:49 [7] | ||
---|---|---|---|
Line 3: | Line 3: | ||
*** 註 | *** 註 | ||
-所詮はOSASK-HB向けなのでまあ暫定的なものです。とりあえず2008.12.29時点で最新のabcdw007での仕様を書きました。ちなみにabcdw008でもこの仕様のままの予定です。 | -所詮はOSASK-HB向けなのでまあ暫定的なものです。とりあえず2008.12.29時点で最新のabcdw007での仕様を書きました。ちなみにabcdw008でもこの仕様のままの予定です。 | ||
+ | -基本的にここに書いてあることを理解する必要はありません。bim2g01が勝手に生成してくれるので。 | ||
-旧仕様については[[GUIGUI01/man0003]]に記述が残してあります。見比べると分かりますが、実はほとんど変わっていません。 | -旧仕様については[[GUIGUI01/man0003]]に記述が残してあります。見比べると分かりますが、実はほとんど変わっていません。 | ||
*** 基本構造 | *** 基本構造 | ||
-最初の2バイトがシグネチャで、0x47 0x01。 | -最初の2バイトがシグネチャで、0x47 0x01。 | ||
--大文字小文字アルファベット+0x00~0x1fの組み合わせは他でも使うかもしれないので、誰かがもし下記に似たフォーマットを独自に設計して利用するつもりなら避けてもらえると個人的にはありがたい。 | --大文字小文字アルファベット+0x00~0x1fの組み合わせは他でも使うかもしれないので、誰かがもし下記に似たフォーマットを独自に設計して利用するつもりなら避けてもらえると個人的にはありがたい。 | ||
- | -その次はトップレベルのタグ総数。 | + | -その次はルート内のタグ総数。 |
--この値が0だと小プログラム向け簡易形式になる。1以上なら通常形式。簡易形式ではgh4によるフラグが後続し(これは通常形式のルート内タグ[03]で記述される内容)、その後はバイト単位でのアラインの後、ファイル終端まですべてコードセクションのイメージと見なされる。簡易形式ではデータセクションやリロケーション情報、スタックサイズ指定なども一切できない。 | --この値が0だと小プログラム向け簡易形式になる。1以上なら通常形式。簡易形式ではgh4によるフラグが後続し(これは通常形式のルート内タグ[03]で記述される内容)、その後はバイト単位でのアラインの後、ファイル終端まですべてコードセクションのイメージと見なされる。簡易形式ではデータセクションやリロケーション情報、スタックサイズ指定なども一切できない。 | ||
-それ以降はすべてタグ。 | -それ以降はすべてタグ。 | ||
Line 39: | Line 40: | ||
47 01 -- シグネチャ。 | 47 01 -- シグネチャ。 | ||
- | 2_ -- トップレベルタグ数0。つまり簡易形式。 | + | 0_ -- トップレベルタグ数0。つまり簡易形式。 |
_1 -- フラグ1。つまり、CALL([ESI]);の自動挿入あり、自動改行有効、rjcあり、初期値テーブルなし。 | _1 -- フラグ1。つまり、CALL([ESI]);の自動挿入あり、自動改行有効、rjcあり、初期値テーブルなし。 | ||
50 13 68 ... 6C 64 00 -- コードセクションの中身。実際にはこの前に FF 16 の2バイトが追加され、 | 50 13 68 ... 6C 64 00 -- コードセクションの中身。実際にはこの前に FF 16 の2バイトが追加され、 |
(This host) = http://osask.net