36 lines
1.6 KiB
Plaintext
36 lines
1.6 KiB
Plaintext
#ip 1
|
|
|
|
0 1 2 3 4 5 6
|
|
a ip c d e f g
|
|
|
|
0 seti 123 0 3 d = 123
|
|
1 bani 3 456 3 L1: d = 123 & 456
|
|
2 eqri 3 72 3 if (123 & 456 != 72)
|
|
3 addr 3 1 1 then
|
|
4 seti 0 0 1 goto L1 int f; int d = 0;
|
|
5 seti 0 9 3 else d = 0 while (true) {
|
|
6 bori 3 65536 5 L0: f = d | 65536 f = d | 65536;
|
|
7 seti 15028787 4 3 d = 15028787 d = 15028787;
|
|
8 bani 5 255 2 L8: c = f & 255
|
|
9 addr 3 2 3 d += c
|
|
10 bani 3 16777215 3 d &= 16777215
|
|
11 muli 3 65899 3 d *= 65899
|
|
12 bani 3 16777215 3 d &= 16777215 d = (d + f & 255) & 16777215 * 65899 & 16777215;
|
|
13 gtir 256 5 2 if (256 > f) while (f >= 256) {
|
|
14 addr 2 1 1 then goto L2
|
|
15 addi 1 1 1 else goto L3
|
|
16 seti 27 3 1 L2: goto L4
|
|
17 seti 0 9 2 L3: c = 0
|
|
18 addi 2 1 4 L9: e = c + 1
|
|
19 muli 4 256 4 e *= 256
|
|
20 gtrr 4 5 4 if (e > f)
|
|
21 addr 4 1 1 then goto L5
|
|
22 addi 1 1 1 else goto L6
|
|
23 seti 25 1 1 L5: goto L7
|
|
24 addi 2 1 2 L6: c += 1
|
|
25 seti 17 8 1 goto L9
|
|
26 setr 2 4 5 L7: f = c f /= 256;
|
|
27 seti 7 3 1 goto L8 d = (d + f & 255) & 16777215 * 65899 & 16777215;
|
|
28 eqrr 3 0 2 L4: if (a == d) }
|
|
29 addr 2 1 1 then return if (a == d) return;
|
|
30 seti 5 3 1 goto L0 } |