The C++ standard (assuming you are using C++ as a programming language) offers functionality to query the current time: http://www.cplusplus.com/reference/ctime/ and http://www.cplusplus.com/reference/chrono/ (C++11 only). Those links contain information about functions (and classes, for the C++11 link), along with examples, that may help you.
As dpadam450 suggested with its code snippet, you can encapsulate your main loop with two query of times and calculate the difference between the two. This gives you the time that your loop took to do all that it had to do. This time is usually called the delta time.
You can then verify if 800 ms has passed by summing all those delta times and checking whether or not it is above 800 ms.
The only difference with dpadam450 is that the code snippet that he provided will work only on Windows, whether using the standard library will allow you to use the code on different platforms.
Also, another solution when using animations is to multiply the factor used for the animation with the delta time. For example, if you want to move an object 100 units per second, you would do something like: pos += 100 * dt; where pos is your current position and dt is the delta time of the last frame. The same can be applied for an animation.
Hope that helped a bit!