Asm class
テスト用バイトコードアセンブラ。
Constructors
- Asm()
Properties
Methods
-
build(
) → Uint8List - これまでに積んだActionRecord列の末尾にオペコード0x00(アクション列の終端 マーカー)を1byte追加し、DoActionタグのボディとして使えるバイト列を返す。
-
getUrl2(
{int flags = 0}) → Asm -
ActionGetURL2(オペコード0x9A)。UI8 1byteの
flagsをオペランドとして書き込む。 実行時、呼び出し先URLとターゲットはこのアクション実行前にスタックへ積んでおく 必要がある(POP順はターゲット→URL、つまりURL→ターゲットの順にPUSHする)。 -
gotoFrame(
int frame0) → Asm -
ActionGotoFrame(オペコード0x81)。UI16(リトルエンディアン)の0始まりフレーム
番号
frame0をオペランドとして書き込む。実行時、カレントターゲットを該当フレーム へ移動し停止させる。 -
gotoLabel(
String label) → Asm -
ActionGotoLabel(オペコード0x8C)。ジャンプ先の
labelをSJISのnull終端文字列 としてオペランドに書き込む。実行時、カレントターゲットを該当ラベルのフレームへ 移動し停止させる。 -
iff(
int offset) → Asm -
ActionIf(オペコード0x9D)。SI16(符号付き16bit・リトルエンディアン)の
offsetをオペランドとして書き込む。実行時、スタックからPOPした値が真の場合に このアクションレコード終端位置からoffsetバイト分岐する。 -
jump(
int offset) → Asm -
ActionJump(オペコード0x99)。SI16(符号付き16bit・リトルエンディアン)の
offsetをオペランドとして書き込む。実行時、このアクションレコード終端位置 からのバイトオフセットとして無条件にプログラムカウンタへ加算される。 -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
op(
int code) → Asm -
codeをオペランドなしの1byteアクションレコードとしてそのまま書き込む。 Play(0x06)・Stop(0x07)など、オペコードが0x80未満で可変長オペランドを 持たないアクション用。 -
pushFloat(
double v) → Asm -
ActionPush(オペコード0x96)。型タグ1(浮動小数点数)+
vをFLOAT(4byte・ リトルエンディアン単精度)にエンコードしたバイト列をオペランドとして書き込む。 実行時にスタックへ数値をPUSHする。 -
pushString(
String s) → Asm -
ActionPush(オペコード0x96)。型タグ0(文字列)+ SJISエンコードした
sのnull終端 バイト列をオペランドとして書き込む。実行時にスタックへ文字列値をPUSHする。 -
setTarget(
String path) → Asm -
ActionSetTarget(オペコード0x8B)。以降のアクションのカレントターゲットとする
pathをSJISのnull終端文字列としてオペランドに書き込む。 -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited