Write a 32 bit pseudo-random number generator function, using a 32 bit LFSR (Linear Feedback Shift Register) - see:
https://en.wikipedia.org/wiki/Linear-feedback_shif...
Animated graphic illustrating a 4 bit LFSR:
https://upload.wikimedia.org/wikipedia/commons/7/7f/LFSR-F4.GIF
function prototype:
unsigned long lfsr32 ( unsigned long seed );
// if argument seed ==0 it returns the next 32 bit value in the sequence
// if argument seed !=0 it is used as the initial "seed" value
You must write the function in C first, and then write your own COMMENTED assembly language version that is *different* than the code generated by a compiler.
Note that one bit shift generates one bit and 32 NEW bits must be generated for return to the caller each time the function is called.
You must write main in C that calls the ARM/AVR/IA32-x86 assembly lfsr function and displays the first twenty 32 bit values generated when starting with a seed value of 0x5AA5FF00. The function they write should use the following taps: 32 30 26 and 25