Wrap

wrap 指令用于将类型为 i64 的数字转换为类型为 i32 的数字。如果数字大于 i32 可以容纳的范围,此操作将发生环绕,导致产生不同的数字。

可以将 wrap 视为对值进行 232 运算,或丢弃高 32 位以生成仅包含低 32 位的值。

试一试

语法

wasm
;; push an i64 onto the stack
i64.const 10

;; wrap from i64 to i32
i32.wrap_i64

;; the top item on the stack will now be the value 10 of type `i32`
指令 二进制操作码
i32.wrap_i64 0xa7