There are alot of assemblers, but for beginners I would suggest using the A86 assembler. It's free and very easy to use. It doesn't require all the different stuff an average assembler requires. It's for MS-DOS and will only assemble .com files, but it's perfect to learn with. Download it, unzip it and add the directory to the path. Here are some other assemblers...
Now that you have an assembler, you'll want to write your first program. The first program people write is usually the "Hello World!" program, so we'll do the same. Create a file and name it "Hello.asm". Then type in the following code...
Code:
jmp start
Message1 db "Hello World!$"
start:
mov ah, 09h
mov dx, offset Message1
int 21h
mov ax, 4c00h
int 21h
Then at the command line type...
Code:
a86 hello.asm
You should get "HELLO.COM". Run it and see what happens.
...What Now?
Now that you've written your first assembler program, you want to know what all
that means. We'll for that you'll need to read an assembler tutorial, like these...