+------------------------------+
| tag & length | action_list |
| 2 | |
+------------------------------+
< 2 or 6 bytes ><--- length --->
+------------------------------------------+
| tag & length | sprite_id | action_list |
| 2 | | |
+------------------------------------------+
< 2 or 6 bytes ><-2 bytes->
<------- length -------->
action_list†
action†
- 0 < code < 0x80
+------------+
| actioncode |
+------------+
<-- 1 byte -->
- 0x80 <= code
+-----------------------------------+
| actioncode | length | action_data |
+-----------------------------------+
<-- 1 byte --><2bytes><-- length -->
- オペコード-オペランドも、TLC 構造なので、オペコード毎の構造を意識せずに、処理したいオペコードだけ考慮すればよい。(通常のマシン語だと、オペコードに応じて後ろに続く長さが変わるので、全オペコードを知らないと一部だけ変更が出来ない)
- オペコードによって長さが大体決まるので、length フィールドは冗長ではあるんだけど。編集し易い。