You would require a program such as Photoshop or GIMP, which has an animation bar that looks like this:

To use it, each frame in the bottom is one frame of the GIF, and the time below it (0 sec) is about how long it takes to go from one frame to the next. 0 seconds just makes it the smoothest, but you also need the most frames with the smallest variances in movement so it doesn't look too jumpy.
Each frame with a change requires a new layer where the change happens (in the above image, layer 1 would have the text at the bottom, layer 2 would essentially be a new "image" in the same canvas, and would have the text moving up a small amount, etc.)
This is the layer bar:

After all of this, you would have to select "Save for web and devices", and select "GIF".