I was reading https://stackoverflow.com/a/3723153/97248 about how DOS loads an .exe file. There is the minimum required memory (== additional memory) field in the .exe header (at offset 10). When this is nonzero, does DOS fill this part of memory with 0s before calling the entry point of the program?
DOSBox 0.74-3 seems to be filling it with 0s.
The answer is no. More details, including assembly code to manually zero-initialize the additional memory (.bss) are in the answer linked in @RossRidge's comment: https://retrocomputing.stackexchange.com/questions/12027/did-dos-zero-out-the-bss-area-when-it-loaded-a-program/12030#12030