I am really new to assembly and I'm trying to create a simple program. For this I need to generate a random number.
Anybody know how I can do this with the FASM compiler?
You could use a Linear-Congruential Algorithm. Its the most common psuedo-random number algorithm.
Basically, you have a seed value. And then once you start generating random numbers each number becomes the seed for the new request.
The numbers are generated by
x = (a * s + b) MOD m
Where m, a and b are picked for the algorithm. There are some popular sets of these values used. Its a lot easier if you make m a power of 2, especially 2^32 for 32 bit machines. Then the mod step is done automatically by the machine.
Check out the wikipedia, they have popular sets of a, b and M and a lot more information.
There are more complicated things can be done with seeds as well (setting the seed based on the current time, for instance)