I see, but while MS documented the format of his jmp_buf implying that they will not modify it, it is generally not a good idea to use internal function formats because they can change anyway.
In the specific case of your project you are anyway correlated to the hardware so the use of assembler is pefectly legal.
Consider that almost all compiler have predefined symbols to specify the architecture for which you are compiling (PellesC have __POCC_TARGET__ => 1=x86, 2=ARM, 3=x64). It is easy to create conditional assembler compilation compliant for CPU and OS.