Incorporating the macro-processor into pass 1 eliminates duplication since macro expansion and initial parsing can share common functions like symbol table management. More importantly, it avoids creating temporary intermediate files, as the expanded code flows directly to subsequent assembly passes, improving overall compilation efficiency.