it is necessary to retranslate the user's program deck every time it is run.
a portion of memory is wasted because the core occupied by the assembler is unavailable to the object program.
it is very difficult to handle multiple segments, especially if the source programs are in different languages, and to produce orderly modular programs.