place64 @sicv_magic_v1 place64 utf8_boundary, utf8_boundary utf8_boundary: input8 &r0 load64 _0x80, &r1 lt &r0, &r1, &r2 eq &r2, &r255, &r2 jnz &r2, Lmultibyte output8 &r0 ret &r255 Lmultibyte: load64 _0xC0, &r1 load64 _0xFD, &r2 lt &r0, &r1, &r1 mt &r0, &r2, &r2 or &r1, &r2, &r1 eq &r1, &r255, &r1 jnz &r1, Lvalid_multibyte load64 ERROR, &r1 ret &r1 Lvalid_multibyte: output8 &r0 load64 _0xE0, &r1 lt &r0, &r1, &r1 eq &r1, &r255, &r1 input8 &r3 output8 &r3 jnz &r1, L3b L2b: ret &r255 L3b: input8 &r3 output8 &r3 load64 _0xF0, &r1 lt &r0, &r1, &r1 eq &r1, &r255, &r1 jnz &r1, L4b ret &r255 L4b: input8 &r3 output8 &r3 load64 _0xF8, &r1 lt &r0, &r1, &r1 eq &r1, &r255, &r1 jnz &r1, L5b ret &r255 L5b: input8 &r3 output8 &r3 load64 _0xFC, &r1 lt &r0, &r1, &r1 eq &r1, &r255, &r1 jnz &r1, L6b ret &r255 L6b: input8 &r3 output8 &r3 ret &r255 ERROR: place64 0xffffffffffffffff _0x80: place64 0x80 _0xC0: place64 0xc0 _0xFD: place64 0xfd _0xE0: place64 0xe0 _0xF0: place64 0xf0 _0xF8: place64 0xf8 _0xFC: place64 0xfc