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

API

u8

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

Bytecode803 lines

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

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