Sorry, I don’t have any sample-code, as I’m pretty new to shaders as well. I would suggest using Cg (or GLSL) if you don’t want the assembler-hassle.
On nehe.gamedev.net, there is a simple vertex shader tutorial that should get you started together with the Cg-Documentation from NVIDIA.
The theory for the keyframe interpolation is as follows:
The vertex shader is executed per vertex and has to output a transformed vertex (and lit, if you want lighting, so you have to implement the lighting equation for yourself, but you should find info for that both on NVIDIAs and ATIs developer pages).
For each vertex, you can give several parameters: e.g. position, normal, color,… You can also have custom parameters. So in these custom parameters, you pass a second position (and normal) for the second keyframe.
Also, you can set parameters that are the same for all vertices. This would be your weighting of the two keyframes. In your vertex shader, you just linearly interpolate the two positions (and normals) using the weight you have.
This gives you the interpolated position with which you can then work (multiplying by model-view-matrix, calculating lighting, etc).
As I haven’t done much with shaders, yet, maybe someone who has already played around a bit more can give some comment, etc.
Jan