- ActionScript2 がコンパイルされたバイトコードを収容するタグ - DoAction と InitAction がある。 * (12) DoAction [#tag12] +------------------------------+ | tag & length | action_list | | 2 | | +------------------------------+ < 2 or 6 bytes ><--- length ---> * (59) DoInitAction [#tag59] +------------------------------------------+ | tag & length | sprite_id | action_list | | 2 | | | +------------------------------------------+ < 2 or 6 bytes ><-2 bytes-> <------- length --------> * 共通 [#q6112fa2] ** action_list [#n3f37d6c] - 0 terminate のリスト +-------------------------------+ | action | action | .... | 0 | +-------------------------------+ <1byte> ** action [#if58b8ce] - 0 < code < 0x80 +------------+ | actioncode | +------------+ <-- 1 byte --> - 0x80 <= code +-----------------------------------+ | actioncode | length | action_data | +-----------------------------------+ <-- 1 byte --><2bytes><-- length --> * 備考 [#s8754979] - オペコード-オペランドも、TLC 構造なので、オペコード毎の構造を意識せずに、処理したいオペコードだけ考慮すればよい。(通常のマシン語だと、オペコードに応じて後ろに続く長さが変わるので、全オペコードを知らないと一部だけ変更が出来ない) - オペコードによって長さが大体決まるので、length フィールドは冗長ではあるんだけど。編集し易い。 |