A one-pass assembler translates source code into machine code in a single pass, while a two-pass assembler requires two passes over the source code. In the first pass, the two-pass assembler identifies labels and calculates their addresses. In the second pass, it translates instructions and resolves addresses.