Windows 3.1代码里的绝望气息

Code Smells of Desperation (2023)

Windows 3.1代码里的绝望气息

几周前,我深入研究了Windows 3.1中WIN87EM.DLL的数学异常处理程序,这段代码散发着浓烈的绝望气息。它包含了大量看似毫无意义的操作,比如反复70次压入弹出AX寄存器,或者四次向I/O端口F0h写入零。这些操作看起来像是为了应对早期Intel CPU和FPU的硬件缺陷,在开发者完全不明就里的情况下,通过疯狂试错和修补才勉强让程序运行。这种为了兼容各种奇怪硬件而写出的“胡言乱语”,揭示了早期PC架构中那些不为人知的调试噩梦。

这段代码看起来非常像是绝望中修改的结果,直到它以某种方式工作,尽管这些改动几乎没有意义。

同日更多故事

2026-11-12