As far I know when I playing arround compilers and assemblers...
Most free/open source compilers like GCC, FreeBASIC, FreePascal, even HLA and many of them, translating our code into *.asm file, then port it to assembler like nasm (Norton Assembler), tasm (Turbo Assembler), masm (Microsoft Assembler).
But some commercial compilers like MSVC, VB6 and Delphi translating our code into machine code directly...