En one-pass assembler er en assembler, der kun læser kildekoden én gang og genererer maskinkode, mens den går. En to-pass assembler læser på den anden side kildekoden to gange. Det første skridt er at generere en symboltabel, som kortlægger etiketter og variabler til deres hukommelsesadresser. Den anden omgang er at bruge symboltabellen til at generere maskinkoden.
Den største fordel ved en one-pass assembler er, at den er hurtigere end en to-pass assembler. Dette skyldes, at det ikke behøver at læse kildekoden to gange. Den største ulempe ved en one-pass assembler er, at den ikke kan løse fremadrettede referencer. Det betyder, at hvis en etiket eller variabel bruges før den er defineret, vil assembleren ikke være i stand til at generere den korrekte maskinkode.
To-pass assemblers kan løse fremadrettede referencer, men de er langsommere end one-pass assemblers. Dette skyldes, at de skal læse kildekoden igennem to gange. Den største fordel ved en to-pass assembler frem for en one-pass assembler er, at den kan producere mere effektiv maskinkode. Det skyldes, at den har adgang til symboltabellen under den anden gennemgang, som giver den mulighed for at optimere maskinkoden.