ページへ戻る
印刷
GUIGUI01/man0003
をテンプレートにして作成 ::
OSASK計画
osaskwiki
:GUIGUI01/man0003 をテンプレートにして作成
開始行:
TITLE:x
* 「ぐいぐい01」のアプリフォーマット
-(by [[K]], 2008.11.13)
*** 註
//-所詮はOSASK-HB向けなのでまあ暫定的なものです。とりあえ...
-所詮はOSASK-HB向けなのでまあ暫定的なものです。とりあえず...
-これはCOLOR(#ff0000){''旧仕様''}です。新仕様はこちら。→[...
*** 基本構造
-最初の2バイトがシグネチャで、0x47 0x01。
--小文字アルファベット+0x00~0x1fの組み合わせは他でも使う...
-それ以降はすべてタグ。
//-数値はたいてい[[GUIGUI01/memo01]]の(6)の方法でエンコー...
-数値はたいてい[[GUIGUI01/man0004]]の(1)の方法でエンコー...
----
//-(例)hellok0.g01 (いわゆる27バイトの"hello, world\n")
// 47 01 8D 19 4A 2A FF D5 35 01 24 8D 68 65 6C 6C
// 6F 2C 20 77 6F 72 6C 64 0A 44 03
//
// 47 01 -- シグネチャ。
// 8D 1_ -- [0D] セクション開始タグ, ネスト内タグ数1。
// _9 4_A 2A -- [14] イメージ展開タグ, イメージ長 0x2a ...
// FF D5 35 01 24 ... 0A 44 03 -- コードセクションの...
// -- commented_out by K, 2008.11.19
-(例)hellok1.g01 (いわゆる27バイトの"hello, world\n")
47 01 8D 81 94 AA FF D5 35 01 24 8D 68 65 6C 6C
6F 2C 20 77 6F 72 6C 64 0A 44 03
47 01 -- シグネチャ。
8D 81 -- [0D] セクション開始タグ, ネスト内タグ数1。
94 AA -- [14] イメージ展開タグ, イメージ長 0x2a = 42。...
FF D5 35 01 24 ... 0A 44 03 -- コードセクションの中...
*** タグのフォーマット
-タグ番号はすべてgh4でエンコード。このルールはネスト内の...
-[00] :
--後続パラメータなし。
-[01]~[0B] :
//--何らかの数値を指定。後続パラメータは1つで、eh4でエン...
--何らかの数値を指定。後続パラメータは1つで、gh4でエンコ...
-[0C]~[0F] :
//--ネスト構造型タグ。タグの中にタグが複数含まれるタグ(0...
--ネスト構造型タグ。タグの中にタグが複数含まれるタグ(0や...
--ネストの中にネストのタグが含まれることも当然ありうるが...
-[10]~[17] :
//--4bit数値による一次元配列記述用タグ。eh4ではないエンコ...
--4bit数値による一次元配列記述用タグ。gh4ではないエンコー...
-[18]~[1F] :
//--eh4による一次元配列記述用タグ。eh4でエンコードされた...
--gh4による一次元配列記述用タグ。gh4でエンコードされた数...
-[20]~[27] :
--[10]~[17]の形式の配列記述用タグ。たとえば可変長文字列...
//--最初にeh4があって、これが文字列の個数に相当。そしてそ...
--最初にgh4があって、これが文字列の個数に相当。そしてその...
-[28]以降のタグ番号については、どんなフォーマットを取るか...
*** タグのコード(ルート内)
-[00] 何もしない。NOPなタグ。パディングなどで使いたければ...
----
-[01] フォーマットタイプ規定。
--以降のフォーマットを指定するタグ。しかしたいてい省略さ...
--なおタグ番号[03]以上のタグが一度でも表れた後にこのタグ...
-[02] リザーブ。
-[03] rjcフラグとファイルアクセスレベルの指定。bit0がrjc...
-[04] スタックサイズの指定(指数部)。
--このタグを見つけると自動的に仮数部のデフォルトが1に設定...
--スタックについて全く指定がない場合、デフォルトの設定が...
-[05] スタックサイズの指定(仮数部)。(指定された値+1)...
-[06] リザーブ。
-[07] リザーブ。
-[08] リザーブ(malloc領域はbss内にとればよい)。
-[09] リザーブ。
//-[08] malloc用領域のサイズ指定(指数部)。指定方法はス...
//--デフォルトは、指数部=4KB、仮数部=512。つまり2MB。
//-[09] malloc用領域のサイズ指定(仮数部)。指定方法はス...
// -- commented_out by K, 2008.11.19
-[0A] メモリマップトファイル用の領域のサイズ指定(指数部...
--デフォルトは、指数部=4KB、仮数部=256。つまり1MB。
-[0B] メモリマップトファイル用の領域のサイズ指定(仮数部...
----
-[0C] コメントタグ。このタグ内の記述はすべて無視する。
--コメント用タグが何種類もあるのは、バイナリエディタでち...
--[01]~[0B]の形式のコメントは原則として用意しない。これ...
--もちろんコメントアウトのみならず、構造を持ったコメント...
-[0D] セクション記述タグ。下記参照。
----
-[18] コメントタグ。このタグ内の記述はすべて無視する。
-上記以外はリザーブ。
*** タグのコード(セクション記述タグ内)
-[00] 何もしない、NOPなタグ。パディングなどで使いたければ...
----
-[01] セクションタイプ指定。
--このタグの指定がない場合、最初に記述されたセクションな...
-[02] アライン指定タグ。デフォルトのアラインは4KB。
-[04] これはセクションタイプによって意味が異なる。
--コードセクション(セクションタイプ0)の場合は、エントリ...
--bssセクション(セクションタイプ2)の場合は、セクション...
---スタックなどとは違って+1はない。デフォルトでは0。指数...
----
-[0C] コメントタグ。このタグ内の記述はすべて無視する。
----
-[14] セクションイメージタグ。バイナリデータをそのまま記...
----
-[18] コメントタグ。このタグ内の記述はすべて無視する。
-[19] コンパクト型リロケーション情報。これを配置するとき...
--このリロケーションアルゴリズムは、バイナリの指定したオ...
//--[19]ではeh4の配列になっているわけだが、最初の要素は「...
--[19]ではgh4の配列になっているわけだが、最初の要素は「*...
--一つのセクションに対して、コードセクションとデータセク...
-[1A] コンパクトではないリロケーション情報。フォーマット...
----
-上記以外はすべてリザーブ。
終了行:
TITLE:x
* 「ぐいぐい01」のアプリフォーマット
-(by [[K]], 2008.11.13)
*** 註
//-所詮はOSASK-HB向けなのでまあ暫定的なものです。とりあえ...
-所詮はOSASK-HB向けなのでまあ暫定的なものです。とりあえず...
-これはCOLOR(#ff0000){''旧仕様''}です。新仕様はこちら。→[...
*** 基本構造
-最初の2バイトがシグネチャで、0x47 0x01。
--小文字アルファベット+0x00~0x1fの組み合わせは他でも使う...
-それ以降はすべてタグ。
//-数値はたいてい[[GUIGUI01/memo01]]の(6)の方法でエンコー...
-数値はたいてい[[GUIGUI01/man0004]]の(1)の方法でエンコー...
----
//-(例)hellok0.g01 (いわゆる27バイトの"hello, world\n")
// 47 01 8D 19 4A 2A FF D5 35 01 24 8D 68 65 6C 6C
// 6F 2C 20 77 6F 72 6C 64 0A 44 03
//
// 47 01 -- シグネチャ。
// 8D 1_ -- [0D] セクション開始タグ, ネスト内タグ数1。
// _9 4_A 2A -- [14] イメージ展開タグ, イメージ長 0x2a ...
// FF D5 35 01 24 ... 0A 44 03 -- コードセクションの...
// -- commented_out by K, 2008.11.19
-(例)hellok1.g01 (いわゆる27バイトの"hello, world\n")
47 01 8D 81 94 AA FF D5 35 01 24 8D 68 65 6C 6C
6F 2C 20 77 6F 72 6C 64 0A 44 03
47 01 -- シグネチャ。
8D 81 -- [0D] セクション開始タグ, ネスト内タグ数1。
94 AA -- [14] イメージ展開タグ, イメージ長 0x2a = 42。...
FF D5 35 01 24 ... 0A 44 03 -- コードセクションの中...
*** タグのフォーマット
-タグ番号はすべてgh4でエンコード。このルールはネスト内の...
-[00] :
--後続パラメータなし。
-[01]~[0B] :
//--何らかの数値を指定。後続パラメータは1つで、eh4でエン...
--何らかの数値を指定。後続パラメータは1つで、gh4でエンコ...
-[0C]~[0F] :
//--ネスト構造型タグ。タグの中にタグが複数含まれるタグ(0...
--ネスト構造型タグ。タグの中にタグが複数含まれるタグ(0や...
--ネストの中にネストのタグが含まれることも当然ありうるが...
-[10]~[17] :
//--4bit数値による一次元配列記述用タグ。eh4ではないエンコ...
--4bit数値による一次元配列記述用タグ。gh4ではないエンコー...
-[18]~[1F] :
//--eh4による一次元配列記述用タグ。eh4でエンコードされた...
--gh4による一次元配列記述用タグ。gh4でエンコードされた数...
-[20]~[27] :
--[10]~[17]の形式の配列記述用タグ。たとえば可変長文字列...
//--最初にeh4があって、これが文字列の個数に相当。そしてそ...
--最初にgh4があって、これが文字列の個数に相当。そしてその...
-[28]以降のタグ番号については、どんなフォーマットを取るか...
*** タグのコード(ルート内)
-[00] 何もしない。NOPなタグ。パディングなどで使いたければ...
----
-[01] フォーマットタイプ規定。
--以降のフォーマットを指定するタグ。しかしたいてい省略さ...
--なおタグ番号[03]以上のタグが一度でも表れた後にこのタグ...
-[02] リザーブ。
-[03] rjcフラグとファイルアクセスレベルの指定。bit0がrjc...
-[04] スタックサイズの指定(指数部)。
--このタグを見つけると自動的に仮数部のデフォルトが1に設定...
--スタックについて全く指定がない場合、デフォルトの設定が...
-[05] スタックサイズの指定(仮数部)。(指定された値+1)...
-[06] リザーブ。
-[07] リザーブ。
-[08] リザーブ(malloc領域はbss内にとればよい)。
-[09] リザーブ。
//-[08] malloc用領域のサイズ指定(指数部)。指定方法はス...
//--デフォルトは、指数部=4KB、仮数部=512。つまり2MB。
//-[09] malloc用領域のサイズ指定(仮数部)。指定方法はス...
// -- commented_out by K, 2008.11.19
-[0A] メモリマップトファイル用の領域のサイズ指定(指数部...
--デフォルトは、指数部=4KB、仮数部=256。つまり1MB。
-[0B] メモリマップトファイル用の領域のサイズ指定(仮数部...
----
-[0C] コメントタグ。このタグ内の記述はすべて無視する。
--コメント用タグが何種類もあるのは、バイナリエディタでち...
--[01]~[0B]の形式のコメントは原則として用意しない。これ...
--もちろんコメントアウトのみならず、構造を持ったコメント...
-[0D] セクション記述タグ。下記参照。
----
-[18] コメントタグ。このタグ内の記述はすべて無視する。
-上記以外はリザーブ。
*** タグのコード(セクション記述タグ内)
-[00] 何もしない、NOPなタグ。パディングなどで使いたければ...
----
-[01] セクションタイプ指定。
--このタグの指定がない場合、最初に記述されたセクションな...
-[02] アライン指定タグ。デフォルトのアラインは4KB。
-[04] これはセクションタイプによって意味が異なる。
--コードセクション(セクションタイプ0)の場合は、エントリ...
--bssセクション(セクションタイプ2)の場合は、セクション...
---スタックなどとは違って+1はない。デフォルトでは0。指数...
----
-[0C] コメントタグ。このタグ内の記述はすべて無視する。
----
-[14] セクションイメージタグ。バイナリデータをそのまま記...
----
-[18] コメントタグ。このタグ内の記述はすべて無視する。
-[19] コンパクト型リロケーション情報。これを配置するとき...
--このリロケーションアルゴリズムは、バイナリの指定したオ...
//--[19]ではeh4の配列になっているわけだが、最初の要素は「...
--[19]ではgh4の配列になっているわけだが、最初の要素は「*...
--一つのセクションに対して、コードセクションとデータセク...
-[1A] コンパクトではないリロケーション情報。フォーマット...
----
-上記以外はすべてリザーブ。
ページ名: