rewrite prng() using inline assembly

The structure refers to tim37021's naked attribute (rtenv also used it).
Usage of registers refers to zzz0072's inline assembly.

Issue: How to perform "and" operation with 0xFFFF constant?

References:
[1] http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html
[2] zzz0072/freertos/master
[3] tim37021/freertos/master