Define a structure that, for absolute offsets, has a Boolean flag
indicating whether the offset has a variable part, the constant part of
the offset, and the register, if any, holding the variable part of the
offset. Have a routine that either generates code to load the X
register with the variable part of the offset or generates no code, and
use that instead of the existing routines for specific offsets.
Use instances of that structure instead of individual variables.
Add a macro to save the current link-layer header absolute offset and
set it to a new value.