只是想知道是否可能。如果是的话,除了编译器模拟层之外还有其他方法吗?
它取决于处理器。一些处理器具有特殊指令来操作寄存器对(例如,8位AVR指令集具有用于16位寄存器对的指令)。在没有这种本机支持的处理器上,编译器通常会发出一次处理成对寄存器的指令(例如,通常这样做是为了在 32 位处理器上支持 64 位数字)。
是的,这是可能的。以 70 年代的 Z80 作为可以操作 16 位值的 8 位处理器的示例。
确保您了解“16 位处理器”的含义,因为我发现很多人对此有误解。这是否意味着操作码大小,因为某些处理器具有可变宽度操作?这是否意味着寻址大小?这是否意味着它可以本地操作的最小/最大值?
就编译时而言,当然。查看任意大数库(又名“大数字”)。