4 ms·
He didn't really say all that much about how the code is implemented, what algorithm it uses or even just what modules it contains. I guess reading all that ass
by nn3 6y ago
He didn't really say all that much about how the code is implemented, what algorithm it uses or even just what modules it contains. I guess reading all that assembler is just too tiresome.
There's a reason nobody writes large programs in assembler anymore (except for the IRS)
- WorldMaker 6y agoThe included discussion that the code doesn't use the stack, mostly assumes the registers are dirty at all times, and doesn't use PROC/RET all highlight that this source code specifically wasn't designed for readability or reuse.
- nocturnial 6y agoMost auto generated code isn't that readable and this should surprise you. What you're seeing is the result of an asm "translator" with some manual modifications to make it work on the x86 platform. [1] That's why you see in the source code the phrase "This translation created on...". Microsoft, at this time, hasn't made available the tools they used to generate this code or the original version it was created from. [1] https://devblogs.microsoft.com/commandline/microsoft-open-sources-gw-basic/ https://devblogs.microsoft.com/commandline/microsoft-open-so...
- WorldMaker 6y agoThough this was also a fork from whatever "intermediate assembly language" the earlier versions used. GW-BASIC was far enough in "x86 is the only thing we need to support at Microsoft now" territory that presumably a lot of the GW-specific additions were done directly to this code instead of at the "next level up" in whatever that previous translator worked in. This also seems corroborated in the dev blog you link, though without source control history, the upstream translation layer, and the original "intermediate assembly" code, the details at this point are relatively fuzzy.