I know that writing software in assembly language is no trivial matter, but
would that make the program nonfree, because there is no source code apart
from the binary? Correct me if I'm wrong, but I'm pretty sure that the
assembly language can be derived from the binary.
The source code still exists as text files, so as long as they are
distributed with the GPL the software remains free, I believe.
There are free programs in script languages that normally have no
separate binaries. The GPL defines object code as non-source forms of
the program, free software works and is used for programs where source
and binary are the same.
Assembly is like other compiled languages: source has comments,