Search by name, SuiNS, address, digest, object ID, coin type or checkpoint.

API

u16

Module0x0000…0001
Move path
0x0000…0001::u16
Functions
2424 public, 0 entry
Structs
0
Friend modules
None
u16

Bytecode827 lines

The on-chain disassembly. Offsets are bytecode positions within each function.

// Move bytecode v7
module 1.u16 {
use 0000000000000000000000000000000000000000000000000000000000000001::option;
use 0000000000000000000000000000000000000000000000000000000000000001::string;
use 0000000000000000000000000000000000000000000000000000000000000001::vector;
 
public bitwise_not(Arg0: u16): u16 {
B0:
0MoveLoc[0](Arg0: u16)
1LdU16(65535)
2Xor
3Ret
}
 
public max(Arg0: u16, Arg1: u16): u16 {
L2: loc0: u16
L3: loc1: u16
L4: loc2: u16
B0:
0MoveLoc[0](Arg0: u16)
1StLoc[3](loc1: u16)
2MoveLoc[1](Arg1: u16)
3StLoc[4](loc2: u16)
4CopyLoc[3](loc1: u16)
5CopyLoc[4](loc2: u16)
6Gt
7BrFalse(11)
B1:
8MoveLoc[3](loc1: u16)
9StLoc[2](loc0: u16)
10Branch(13)
B2:
11MoveLoc[4](loc2: u16)
12StLoc[2](loc0: u16)
B3:
13MoveLoc[2](loc0: u16)
14Ret
}
 
public min(Arg0: u16, Arg1: u16): u16 {
L2: loc0: u16
L3: loc1: u16
L4: loc2: u16
B0:
0MoveLoc[0](Arg0: u16)
1StLoc[3](loc1: u16)
2MoveLoc[1](Arg1: u16)
3StLoc[4](loc2: u16)
4CopyLoc[3](loc1: u16)
5CopyLoc[4](loc2: u16)
6Lt
7BrFalse(11)
B1:
8MoveLoc[3](loc1: u16)
9StLoc[2](loc0: u16)
10Branch(13)
B2:
11MoveLoc[4](loc2: u16)
12StLoc[2](loc0: u16)
B3:
13MoveLoc[2](loc0: u16)
14Ret
}
 
public diff(Arg0: u16, Arg1: u16): u16 {
L2: loc0: u16
L3: loc1: u16
L4: loc2: u16
B0:
0MoveLoc[0](Arg0: u16)
1StLoc[3](loc1: u16)
2MoveLoc[1](Arg1: u16)
3StLoc[4](loc2: u16)
4CopyLoc[3](loc1: u16)
5CopyLoc[4](loc2: u16)
6Gt
7BrFalse(13)
B1:
8MoveLoc[3](loc1: u16)
9MoveLoc[4](loc2: u16)
10Sub
11StLoc[2](loc0: u16)
12Branch(17)
B2:
13MoveLoc[4](loc2: u16)
14MoveLoc[3](loc1: u16)
15Sub
16StLoc[2](loc0: u16)
B3:
17MoveLoc[2](loc0: u16)
18Ret
}
 
public mul_div(Arg0: u16, Arg1: u16, Arg2: u16): u16 {
B0:
0MoveLoc[0](Arg0: u16)
1CastU32
2MoveLoc[1](Arg1: u16)
3CastU32
4Mul
5MoveLoc[2](Arg2: u16)
6CastU32
7Div
8CastU16
9Ret
}
 
public mul_div_ceil(Arg0: u16, Arg1: u16, Arg2: u16): u16 {
L3: loc0: u32
L4: loc1: u32
L5: loc2: u32
B0:
0MoveLoc[0](Arg0: u16)
1CastU32
2MoveLoc[1](Arg1: u16)
3CastU32
4Mul
5StLoc[4](loc1: u32)
6MoveLoc[2](Arg2: u16)
7CastU32
8StLoc[5](loc2: u32)
9CopyLoc[4](loc1: u32)
10CopyLoc[5](loc2: u32)
11Mod
12LdU32(0)
13Eq
14BrFalse(20)
B1:
15MoveLoc[4](loc1: u32)
16MoveLoc[5](loc2: u32)
17Div
18StLoc[3](loc0: u32)
19Branch(26)
B2:
20MoveLoc[4](loc1: u32)
21MoveLoc[5](loc2: u32)
22Div
23LdU32(1)
24Add
25StLoc[3](loc0: u32)
B3:
26MoveLoc[3](loc0: u32)
27CastU16
28Ret
}
 
public div_ceil(Arg0: u16, Arg1: u16): u16 {
L2: loc0: u16
L3: loc1: u16
L4: loc2: u16
B0:
0MoveLoc[0](Arg0: u16)
1StLoc[3](loc1: u16)
2MoveLoc[1](Arg1: u16)
3StLoc[4](loc2: u16)
4CopyLoc[3](loc1: u16)
5CopyLoc[4](loc2: u16)
6Mod
7LdU16(0)
8Eq
9BrFalse(15)
B1:
10MoveLoc[3](loc1: u16)
11MoveLoc[4](loc2: u16)
12Div
13StLoc[2](loc0: u16)
14Branch(21)
B2:
15MoveLoc[3](loc1: u16)
16MoveLoc[4](loc2: u16)
17Div
18LdU16(1)
19Add
20StLoc[2](loc0: u16)
B3:
21MoveLoc[2](loc0: u16)
22Ret
}
 
public pow(Arg0: u16, Arg1: u8): u16 {
L2: loc0: u16
L3: loc1: u8
L4: loc2: u16
B0:
0MoveLoc[0](Arg0: u16)
1StLoc[2](loc0: u16)
2MoveLoc[1](Arg1: u8)
3StLoc[3](loc1: u8)
4LdU16(1)
5StLoc[4](loc2: u16)
B1:
6CopyLoc[3](loc1: u8)
7LdU8(1)
8Ge
9BrFalse(35)
B2:
10Branch(11)
B3:
11CopyLoc[3](loc1: u8)
12LdU8(2)
13Mod
14LdU8(0)
15Eq
16BrFalse(26)
B4:
17CopyLoc[2](loc0: u16)
18MoveLoc[2](loc0: u16)
19Mul
20StLoc[2](loc0: u16)
21MoveLoc[3](loc1: u8)
22LdU8(2)
23Div
24StLoc[3](loc1: u8)
25Branch(6)
B5:
26MoveLoc[4](loc2: u16)
27CopyLoc[2](loc0: u16)
28Mul
29StLoc[4](loc2: u16)
30MoveLoc[3](loc1: u8)
31LdU8(1)
32Sub
33StLoc[3](loc1: u8)
34Branch(6)
B6:
35MoveLoc[4](loc2: u16)
36Ret
}
 
public sqrt(Arg0: u16): u16 {
L1: loc0: u32
L2: loc1: u32
L3: loc2: u16
L4: loc3: u32
B0:
0MoveLoc[0](Arg0: u16)
1StLoc[3](loc2: u16)
2LdU32(65536)
3StLoc[1](loc0: u32)
4LdU32(0)
5StLoc[2](loc1: u32)
6MoveLoc[3](loc2: u16)
7CastU32
8StLoc[4](loc3: u32)
B1:
9CopyLoc[1](loc0: u32)
10LdU32(0)
11Neq
12BrFalse(42)
B2:
13Branch(14)
B3:
14CopyLoc[4](loc3: u32)
15CopyLoc[2](loc1: u32)
16CopyLoc[1](loc0: u32)
17Add
18Ge
19BrFalse(33)
B4:
20MoveLoc[4](loc3: u32)
21CopyLoc[2](loc1: u32)
22CopyLoc[1](loc0: u32)
23Add
24Sub
25StLoc[4](loc3: u32)
26MoveLoc[2](loc1: u32)
27LdU8(1)
28Shr
29CopyLoc[1](loc0: u32)
30Add
31StLoc[2](loc1: u32)
32Branch(37)
B5:
33MoveLoc[2](loc1: u32)
34LdU8(1)
35Shr
36StLoc[2](loc1: u32)
B6:
37MoveLoc[1](loc0: u32)
38LdU8(2)
39Shr
40StLoc[1](loc0: u32)
41Branch(9)
B7:
42MoveLoc[2](loc1: u32)
43CastU16
44Ret
}
 
public try_as_u8(Arg0: u16): Option<u8> {
L1: loc0: Option<u8>
L2: loc1: u16
B0:
0MoveLoc[0](Arg0: u16)
1StLoc[2](loc1: u16)
2CopyLoc[2](loc1: u16)
3LdU16(255)
4Gt
5BrFalse(9)
B1:
6Call option::none<u8>(): Option<u8>
7StLoc[1](loc0: Option<u8>)
8Branch(13)
B2:
9MoveLoc[2](loc1: u16)
10CastU8
11Call option::some<u8>(u8): Option<u8>
12StLoc[1](loc0: Option<u8>)
B3:
13MoveLoc[1](loc0: Option<u8>)
14Ret
}
 
public to_string(Arg0: u16): String {
L1: loc0: String
L2: loc1: vector<u8>
L3: loc2: u16
B0:
0MoveLoc[0](Arg0: u16)
1StLoc[3](loc2: u16)
2CopyLoc[3](loc2: u16)
3LdU16(0)
4Eq
5BrFalse(10)
B1:
6LdConst[0](vector<u8>: "0" ..)
7Call string::utf8(vector<u8>): String
8StLoc[1](loc0: String)
9Branch(34)
B2:
10LdConst[1](vector<u8>: "" /..)
11StLoc[2](loc1: vector<u8>)
B3:
12CopyLoc[3](loc2: u16)
13LdU16(0)
14Neq
15BrFalse(29)
B4:
16MutBorrowLoc[2](loc1: vector<u8>)
17LdU16(48)
18CopyLoc[3](loc2: u16)
19LdU16(10)
20Mod
21Add
22CastU8
23VecPushBack(12)
24MoveLoc[3](loc2: u16)
25LdU16(10)
26Div
27StLoc[3](loc2: u16)
28Branch(12)
B5:
29MutBorrowLoc[2](loc1: vector<u8>)
30Call vector::reverse<u8>(&mut vector<u8>)
31MoveLoc[2](loc1: vector<u8>)
32Call string::utf8(vector<u8>): String
33StLoc[1](loc0: String)
B6:
34MoveLoc[1](loc0: String)
35Ret
}
 
public checked_add(Arg0: u16, Arg1: u16): Option<u16> {
L2: loc0: Option<u16>
L3: loc1: u16
L4: loc2: u16
B0:
0MoveLoc[0](Arg0: u16)
1StLoc[3](loc1: u16)
2MoveLoc[1](Arg1: u16)
3StLoc[4](loc2: u16)
4CopyLoc[4](loc2: u16)
5LdU16(65535)
6CopyLoc[3](loc1: u16)
7Sub
8Gt
9BrFalse(13)
B1:
10Call option::none<u16>(): Option<u16>
11StLoc[2](loc0: Option<u16>)
12Branch(18)
B2:
13MoveLoc[3](loc1: u16)
14MoveLoc[4](loc2: u16)
15Add
16Call option::some<u16>(u16): Option<u16>
17StLoc[2](loc0: Option<u16>)
B3:
18MoveLoc[2](loc0: Option<u16>)
19Ret
}
 
public checked_sub(Arg0: u16, Arg1: u16): Option<u16> {
L2: loc0: Option<u16>
L3: loc1: u16
L4: loc2: u16
B0:
0MoveLoc[0](Arg0: u16)
1StLoc[3](loc1: u16)
2MoveLoc[1](Arg1: u16)
3StLoc[4](loc2: u16)
4CopyLoc[3](loc1: u16)
5CopyLoc[4](loc2: u16)
6Lt
7BrFalse(11)
B1:
8Call option::none<u16>(): Option<u16>
9StLoc[2](loc0: Option<u16>)
10Branch(16)
B2:
11MoveLoc[3](loc1: u16)
12MoveLoc[4](loc2: u16)
13Sub
14Call option::some<u16>(u16): Option<u16>
15StLoc[2](loc0: Option<u16>)
B3:
16MoveLoc[2](loc0: Option<u16>)
17Ret
}
 
public checked_mul(Arg0: u16, Arg1: u16): Option<u16> {
L2: loc0: bool
L3: loc1: Option<u16>
L4: loc2: Option<u16>
L5: loc3: u16
L6: loc4: u16
B0:
0MoveLoc[0](Arg0: u16)
1StLoc[5](loc3: u16)
2MoveLoc[1](Arg1: u16)
3StLoc[6](loc4: u16)
4CopyLoc[5](loc3: u16)
5LdU16(0)
6Eq
7BrFalse(11)
B1:
8LdTrue
9StLoc[2](loc0: bool)
10Branch(15)
B2:
11CopyLoc[6](loc4: u16)
12LdU16(0)
13Eq
14StLoc[2](loc0: bool)
B3:
15MoveLoc[2](loc0: bool)
16BrFalse(21)
B4:
17LdU16(0)
18Call option::some<u16>(u16): Option<u16>
19StLoc[4](loc2: Option<u16>)
20Branch(37)
B5:
21CopyLoc[6](loc4: u16)
22LdU16(65535)
23CopyLoc[5](loc3: u16)
24Div
25Gt
26BrFalse(30)
B6:
27Call option::none<u16>(): Option<u16>
28StLoc[3](loc1: Option<u16>)
29Branch(35)
B7:
30MoveLoc[5](loc3: u16)
31MoveLoc[6](loc4: u16)
32Mul
33Call option::some<u16>(u16): Option<u16>
34StLoc[3](loc1: Option<u16>)
B8:
35MoveLoc[3](loc1: Option<u16>)
36StLoc[4](loc2: Option<u16>)
B9:
37MoveLoc[4](loc2: Option<u16>)
38Ret
}
 
public checked_div(Arg0: u16, Arg1: u16): Option<u16> {
L2: loc0: Option<u16>
L3: loc1: u16
L4: loc2: u16
B0:
0MoveLoc[0](Arg0: u16)
1StLoc[3](loc1: u16)
2MoveLoc[1](Arg1: u16)
3StLoc[4](loc2: u16)
4CopyLoc[4](loc2: u16)
5LdU16(0)
6Eq
7BrFalse(11)
B1:
8Call option::none<u16>(): Option<u16>
9StLoc[2](loc0: Option<u16>)
10Branch(16)
B2:
11MoveLoc[3](loc1: u16)
12MoveLoc[4](loc2: u16)
13Div
14Call option::some<u16>(u16): Option<u16>
15StLoc[2](loc0: Option<u16>)
B3:
16MoveLoc[2](loc0: Option<u16>)
17Ret
}
 
public saturating_add(Arg0: u16, Arg1: u16): u16 {
L2: loc0: u16
L3: loc1: u16
L4: loc2: u16
L5: loc3: u16
B0:
0MoveLoc[0](Arg0: u16)
1StLoc[4](loc2: u16)
2MoveLoc[1](Arg1: u16)
3StLoc[5](loc3: u16)
4LdU16(65535)
5StLoc[3](loc1: u16)
6CopyLoc[5](loc3: u16)
7CopyLoc[3](loc1: u16)
8CopyLoc[4](loc2: u16)
9Sub
10Gt
11BrFalse(15)
B1:
12MoveLoc[3](loc1: u16)
13StLoc[2](loc0: u16)
14Branch(19)
B2:
15MoveLoc[4](loc2: u16)
16MoveLoc[5](loc3: u16)
17Add
18StLoc[2](loc0: u16)
B3:
19MoveLoc[2](loc0: u16)
20Ret
}
 
public saturating_sub(Arg0: u16, Arg1: u16): u16 {
L2: loc0: u16
L3: loc1: u16
L4: loc2: u16
B0:
0MoveLoc[0](Arg0: u16)
1StLoc[3](loc1: u16)
2MoveLoc[1](Arg1: u16)
3StLoc[4](loc2: u16)
4CopyLoc[3](loc1: u16)
5CopyLoc[4](loc2: u16)
6Lt
7BrFalse(11)
B1:
8LdU16(0)
9StLoc[2](loc0: u16)
10Branch(15)
B2:
11MoveLoc[3](loc1: u16)
12MoveLoc[4](loc2: u16)
13Sub
14StLoc[2](loc0: u16)
B3:
15MoveLoc[2](loc0: u16)
16Ret
}
 
public saturating_mul(Arg0: u16, Arg1: u16): u16 {
L2: loc0: bool
L3: loc1: u16
L4: loc2: u16
L5: loc3: u16
L6: loc4: u16
L7: loc5: u16
B0:
0MoveLoc[0](Arg0: u16)
1StLoc[6](loc4: u16)
2MoveLoc[1](Arg1: u16)
3StLoc[7](loc5: u16)
4LdU16(65535)
5StLoc[5](loc3: u16)
6CopyLoc[6](loc4: u16)
7LdU16(0)
8Eq
9BrFalse(13)
B1:
10LdTrue
11StLoc[2](loc0: bool)
12Branch(17)
B2:
13CopyLoc[7](loc5: u16)
14LdU16(0)
15Eq
16StLoc[2](loc0: bool)
B3:
17MoveLoc[2](loc0: bool)
18BrFalse(22)
B4:
19LdU16(0)
20StLoc[4](loc2: u16)
21Branch(37)
B5:
22CopyLoc[7](loc5: u16)
23CopyLoc[5](loc3: u16)
24CopyLoc[6](loc4: u16)
25Div
26Gt
27BrFalse(31)
B6:
28MoveLoc[5](loc3: u16)
29StLoc[3](loc1: u16)
30Branch(35)
B7:
31MoveLoc[6](loc4: u16)
32MoveLoc[7](loc5: u16)
33Mul
34StLoc[3](loc1: u16)
B8:
35MoveLoc[3](loc1: u16)
36StLoc[4](loc2: u16)
B9:
37MoveLoc[4](loc2: u16)
38Ret
}
 
public checked_shl(Arg0: u16, Arg1: u8): Option<u16> {
L2: loc0: Option<u16>
L3: loc1: u8
L4: loc2: u16
B0:
0MoveLoc[0](Arg0: u16)
1StLoc[4](loc2: u16)
2MoveLoc[1](Arg1: u8)
3StLoc[3](loc1: u8)
4CopyLoc[3](loc1: u8)
5LdU8(16)
6Ge
7BrFalse(11)
B1:
8Call option::none<u16>(): Option<u16>
9StLoc[2](loc0: Option<u16>)
10Branch(16)
B2:
11MoveLoc[4](loc2: u16)
12MoveLoc[3](loc1: u8)
13Shl
14Call option::some<u16>(u16): Option<u16>
15StLoc[2](loc0: Option<u16>)
B3:
16MoveLoc[2](loc0: Option<u16>)
17Ret
}
 
public checked_shr(Arg0: u16, Arg1: u8): Option<u16> {
L2: loc0: Option<u16>
L3: loc1: u8
L4: loc2: u16
B0:
0MoveLoc[0](Arg0: u16)
1StLoc[4](loc2: u16)
2MoveLoc[1](Arg1: u8)
3StLoc[3](loc1: u8)
4CopyLoc[3](loc1: u8)
5LdU8(16)
6Ge
7BrFalse(11)
B1:
8Call option::none<u16>(): Option<u16>
9StLoc[2](loc0: Option<u16>)
10Branch(16)
B2:
11MoveLoc[4](loc2: u16)
12MoveLoc[3](loc1: u8)
13Shr
14Call option::some<u16>(u16): Option<u16>
15StLoc[2](loc0: Option<u16>)
B3:
16MoveLoc[2](loc0: Option<u16>)
17Ret
}
 
public lossless_shl(Arg0: u16, Arg1: u8): Option<u16> {
L2: loc0: Option<u16>
L3: loc1: Option<u16>
L4: loc2: u16
L5: loc3: u8
L6: loc4: u16
B0:
0MoveLoc[0](Arg0: u16)
1StLoc[6](loc4: u16)
2MoveLoc[1](Arg1: u8)
3StLoc[5](loc3: u8)
4CopyLoc[5](loc3: u8)
5LdU8(16)
6Ge
7BrFalse(11)
B1:
8Call option::none<u16>(): Option<u16>
9StLoc[3](loc1: Option<u16>)
10Branch(29)
B2:
11CopyLoc[6](loc4: u16)
12CopyLoc[5](loc3: u8)
13Shl
14StLoc[4](loc2: u16)
15CopyLoc[4](loc2: u16)
16MoveLoc[5](loc3: u8)
17Shr
18MoveLoc[6](loc4: u16)
19Eq
20BrFalse(25)
B3:
21MoveLoc[4](loc2: u16)
22Call option::some<u16>(u16): Option<u16>
23StLoc[2](loc0: Option<u16>)
24Branch(27)
B4:
25Call option::none<u16>(): Option<u16>
26StLoc[2](loc0: Option<u16>)
B5:
27MoveLoc[2](loc0: Option<u16>)
28StLoc[3](loc1: Option<u16>)
B6:
29MoveLoc[3](loc1: Option<u16>)
30Ret
}
 
public lossless_shr(Arg0: u16, Arg1: u8): Option<u16> {
L2: loc0: Option<u16>
L3: loc1: Option<u16>
L4: loc2: u16
L5: loc3: u8
L6: loc4: u16
B0:
0MoveLoc[0](Arg0: u16)
1StLoc[6](loc4: u16)
2MoveLoc[1](Arg1: u8)
3StLoc[5](loc3: u8)
4CopyLoc[5](loc3: u8)
5LdU8(16)
6Ge
7BrFalse(11)
B1:
8Call option::none<u16>(): Option<u16>
9StLoc[3](loc1: Option<u16>)
10Branch(29)
B2:
11CopyLoc[6](loc4: u16)
12CopyLoc[5](loc3: u8)
13Shr
14StLoc[4](loc2: u16)
15CopyLoc[4](loc2: u16)
16MoveLoc[5](loc3: u8)
17Shl
18MoveLoc[6](loc4: u16)
19Eq
20BrFalse(25)
B3:
21MoveLoc[4](loc2: u16)
22Call option::some<u16>(u16): Option<u16>
23StLoc[2](loc0: Option<u16>)
24Branch(27)
B4:
25Call option::none<u16>(): Option<u16>
26StLoc[2](loc0: Option<u16>)
B5:
27MoveLoc[2](loc0: Option<u16>)
28StLoc[3](loc1: Option<u16>)
B6:
29MoveLoc[3](loc1: Option<u16>)
30Ret
}
 
public lossless_div(Arg0: u16, Arg1: u16): Option<u16> {
L2: loc0: Option<u16>
L3: loc1: Option<u16>
L4: loc2: u16
L5: loc3: u16
B0:
0MoveLoc[0](Arg0: u16)
1StLoc[4](loc2: u16)
2MoveLoc[1](Arg1: u16)
3StLoc[5](loc3: u16)
4CopyLoc[5](loc3: u16)
5LdU16(0)
6Eq
7BrFalse(11)
B1:
8Call option::none<u16>(): Option<u16>
9StLoc[3](loc1: Option<u16>)
10Branch(27)
B2:
11CopyLoc[4](loc2: u16)
12CopyLoc[5](loc3: u16)
13Mod
14LdU16(0)
15Eq
16BrFalse(23)
B3:
17MoveLoc[4](loc2: u16)
18MoveLoc[5](loc3: u16)
19Div
20Call option::some<u16>(u16): Option<u16>
21StLoc[2](loc0: Option<u16>)
22Branch(25)
B4:
23Call option::none<u16>(): Option<u16>
24StLoc[2](loc0: Option<u16>)
B5:
25MoveLoc[2](loc0: Option<u16>)
26StLoc[3](loc1: Option<u16>)
B6:
27MoveLoc[3](loc1: Option<u16>)
28Ret
}
 
public divide_and_round_up(Arg0: u16, Arg1: u16): u16 {
B0:
0MoveLoc[0](Arg0: u16)
1MoveLoc[1](Arg1: u16)
2Call div_ceil(u16, u16): u16
3Ret
}
 
Constants [
0 => vector<u8>: "0" // interpreted as UTF8 string
1 => vector<u8>: "" // interpreted as UTF8 string
]
}