跳到主要内容

异常的产生与处理原语

操作码Fift 语法堆栈Gas描述
Please enter a search query
No results found

TVM 指令内容列表

异常产生与处理原语

xxxxxxx
操作码
xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Fift 语法
xxxxxxxxxxxxxxxxx
堆栈
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
描述
xxxx
Gas
F22_n[n] THROW - 0 n抛出参数为零的 0 <= n <= 63 异常。
换句话说,它将控制权转移到 c2 中的continuation,将 0n 推入其堆栈,并彻底丢弃旧堆栈。
76
F26_n[n] THROWIFf - 只有当整数 f!=0 时,才抛出参数为零的 0 <= n <= 63 异常。26/76
F2A_n[n] THROWIFNOTf - 只有当整数 f=0 时,才抛出参数为零的 0 <= n <= 63 异常。26/76
F2C4_n[n] THROW- 0 nn对于 0 <= n < 2^11,是 [n] THROW 的编码,用于 n 的较大值。84
F2CC_n[n] THROWARGx - x nn抛出带有参数 x0 <= n < 2^11 异常,通过将 xn 复制到 c2 的堆栈并将控制权转移给 c284
F2D4_n[n] THROWIFf - 对于 0 <= n < 2^11,是 [n] THROWIF 的编码,用于 n 的较大值。34/84
F2DC_n[n] THROWARGIFx f - 只有当整数 f!=0 时,才抛出带有参数 x0 <= nn < 2^11 异常。34/84
F2E4_n[n] THROWIFNOTf - 对于 0 <= n < 2^11,是 [n] THROWIFNOT 的编码,用于 n 的较大值。34/84
F2EC_n[n] THROWARGIFNOTx f - 只有当整数 f=0 时,才抛出带有参数 x0 <= n < 2^11 异常。34/84
F2F0THROWANYn - 0 n抛出参数为零的 0 <= n < 2^16 异常。
大致相当于 ZERO SWAP THROWARGANY
76
F2F1THROWARGANYx n - x n抛出带有参数 x0 <= n < 2^16 异常,将控制权转移到 c2 中。
大致相当于 c2 PUSHCTR 2 JMPXARGS
76
F2F2THROWANYIFn f - 只有当 f!=0 时,才抛出参数为零的 0 <= n < 2^16 异常。26/76
F2F3THROWARGANYIFx n f - 只有当 f!=0 时,才抛出带有参数 x0 <= n<2^16 异常。26/76
F2F4THROWANYIFNOTn f - 只有当 f=0 时,才抛出参数为零的 0 <= n<2^16 异常。26/76
F2F5THROWARGANYIFNOTx n f - 只有当 f=0 时,才抛出带有参数 x0 <= n<2^16 异常。26/76
F2FFTRYc c' - 设置 c2c',首先将 c2 的旧值同时保存到 c' 的保存列表和当前continuation的保存列表中,该当前continuation存储到 c.c0c'.c0 中。然后类似于 EXECUTE 运行 c。如果 c 没有引发任何异常,从 c 返回时会自动恢复 c2 的原始值。如果发生异常,则执行权转移到 c',但在此过程中恢复了 c2 的原始值,以便 c' 可以通过 THROWANY 重新抛出异常(如果它自己无法处理)。26
F2FFTRY:<{ code1 }>CATCH<{ code2 }>-等效于 <{ code1 }> CONT <{ code2 }> CONT TRY
F3pr[p] [r] TRYARGSc c' - 类似于 TRY,但内部使用的是 [p] [r] CALLXARGS 而不是 EXECUTE
这样,顶部 0 <= p <= 15 堆栈元素以外的所有元素将保存到当前continuation的堆栈中,然后从 cc' 返回时恢复,并将 cc' 的结果堆栈的顶部 0 <= r <= 15 值作为返回值复制。
26

TVM 指令内容列表