I'm tempted to say "no, it isn't". But I don't have numbers to back that up
That era is over, compilers are used for almost all software, eliminating entire categories of bugs.
(Operating systems, by the way, are the exception to the rule for assembly: the Linux kernel today has an x86/x64 assembly source component around the same size as MSDOS 5.0: ~250kloc of it. Windows is smaller, based on the NT4 kernel leak at around 70kloc. As a percent of total they're much less, of course, but they also do much more. And have correspondingly more bugs, too.)
Entire classes of 'safety' bugs that just don't exist in modern compilers.
E.g.: forgetting to "POP" something you "PUSH"-ed, especially when it was a conditional allocation for a temporary.
Similarly, type errors were much more common, especially signed/unsigned, or accidentally overwriting things in scenarios that just don't occur even with ordinary C code. Function args were easy to push "correctly enough" that it "worked", but not really.