Я не знаю ни о какой реализации .NET VM, способной работать в 16-битном режиме. Microsoft .NET runtime и Mono имеют только 32/64 бита. Я не знаю о других меньших, но я был бы удивлен, если бы они могли работать в 16-битном режиме.
Кроме того, cmd.exe работает в 32-разрядном режиме, поскольку cmd.exe является 32-разрядным приложением Windows. С другой стороны, command.com работает в 16-битном режиме.
На самом деле консольные приложения далеки от 16-битных. Это просто не соответствует действительности, это было даже не так до Windows, поскольку защищенный режим x86 является 32-разрядным, поэтому любая игра или приложение для DOS, работающее в режиме с поддержкой, является 32-разрядным.
В .NET ваш тип пользовательского интерфейса (или его отсутствие, как в службах Windows) не влияет на длину слова приложения. По умолчанию двоичные файлы .NET не зависят от платформы и выполняются как 32-разрядные или 64-разрядные приложения в зависимости от типа .NET Framework, ядра и т. Д. Хост-компьютера. Хотя они также могут быть скомпилированы непосредственно в 64-разрядные.