> А обращения к x86 железу и вообще x86-специфичные вещи как "компилировать" собрались?
> Даже то же программирование GDT/IDT, например?Драйвера, ясен пень, надо переписывать:
"Most of the OpenVMS kernel is in VAX assembly language (VAX MACRO-
32). Instead of rewriting the VAX MACRO-32 code in another language,
we developed a compiler. In addition, we required inspection and
manual modification of the VAX MACRO-32 code to deal with certain VAX
architectural dependencies. Parts of the kernel that depended heavily on
the VAX architecture were rewritten, but this was a small percentage of the
total volume of VAX MACRO-32 source code.
"
Но методика того, что было сделано при портировании OpenVMS с VAX на Alpha вот - http://www.hpl.hp.com/hpjournal/dtj/vol4num4/vol4num4art7.pdf
"Compiling VAX MACRO-32 Code for the Alpha AXP Architecture
Simply stated, the VAX MACRO-32 compiler treats VAX MACRO-32 as a source
language to be compiled and creates native OpenVMS AXP object files
just as a FORTRAN compiler might. This task is far more complex than
a simple instruction-by-instruction translation because of fundamental
differences in the architectures, and because source code frequently
contains assumptions about the VAX architecture and the OpenVMS Calling
Standard on VAX systems.[3,4] The compiler must either transparently
convert these VAX dependencies to their OpenVMS AXP counterparts or inform
the user that the source code has to be changed.
"