uckの代入式の解釈のやり方
[1] 0-5-2-94-2; (3バイト)
→読みやすくするためにカッコを付けるとこうなる: 0 (5 2 94) 2;
0は代入命令。末尾の2は変数番号(i2:y)。
5 2 94 が少し難しい。 5 は 引き算。2は2つ前の代入式で代入された値(i6:y1)。
94は0x14のことなので、20。
これをまとめるとこうなる: let (- y1 20) y; → y = y1 - 20;
[2] 0-5-2-94-1; (3バイト)
→ 0 (5 2 94) 1;
→ let (- x1 20) x;
→ x = x1 - 20;
[3] 0-db1-9f-4-6-1-1-6-2-2-3; (7バイト)
→ 0 (db1 (9f (4 (6 1 1) (6 2 2)))) 3;
→ let (ff16Sqrt (<<16 (+ (* x x) (* x x)))) d;
→ d = ff16Sqrt((x * x + y * y) << 16);
[4] 0-b0-6-db2-5-b3-6-1-e28c-8c-6-a0-e413-c64-4-1-9f-85-4; (17.5バイト)
→ 0 (b0 (6 (db2 (5 (b3 (6 1 e28c) 8c) (6 a0 e413))) c64) (4 1 (9f 85))) 4;
→ let (/ (* (ff16Sin (- (>> (* d 652) 12) (* t 1043))) 100) (+ d (<<16 5))) z;
→ ff16Sin(((d * 652) >> 12) - 1043 * t) * 100 / (d + (5<<16));
[5] 0-4-6-a6-c2a-a5-3; (5.5バイト)
→ 0 (4 (6 a6 c2a) a5) 3;
→ let (+ (* y1 42) x1) d;
→ d = y1 * 42 + x1;