ARM based microcontrollers use SVD file (xml based) to describe registers; debuggers like Eclipse GDB plugin read the SVD and can then nicely present the register space in GUI. Perhaps there are some tools based on that? As a last resort, one can apply xslt transform to this xml file to format it to HTML. If this is better than msword tables, I'm not sure.
I'm doing technical documentation for my projects in tex. The plain text files reside in version control alongside source code; they are transformed to pdf when building the project. Importing other files is used to keep the files short and structured. Works for me. A lot of automatic documentation generation systems ie doxygen generate their stuff in tex and then transform to pdf, btw. In case of library API, sometimes it makes sense to auto-generate that and then add the textual paragraphs on to that.